summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2014-02-25 00:29:16 -0800
committerKaz Kylheku <kaz@kylheku.com>2014-02-25 00:29:16 -0800
commitf46a5e3cdea380494554b0bd11782c8a4dabdc66 (patch)
tree365cb7401664f819e6dc5080d16581e303077517 /eval.c
parenta61708f6ca5df1dd17a6bad6a72003b08474ed6e (diff)
downloadtxr-f46a5e3cdea380494554b0bd11782c8a4dabdc66.tar.gz
txr-f46a5e3cdea380494554b0bd11782c8a4dabdc66.tar.bz2
txr-f46a5e3cdea380494554b0bd11782c8a4dabdc66.zip
* configure: Added feature tests for makedev, link/symlink/readlink,
mkdir and mknod. * eval.c (eval_init): Wrap #ifdefs around the registrations of the wrappers for these functions. * stream.c (mkdir_wrap): Wrap in #ifdef HAVE_MKDIR, and provide a Windows version if HAVE_MKDIR is missing, but HAVE_WINDOWS_H is true. (makedev_wrap, major_wrap, minor_wrap): Wrap with #if HAVE_MAKEDEV. (mknod): Use #if HAVE_MKNOD. (symlink_wrap, link_wrap, readlink_wrap): Wrap with #if HAVE_SYMLINK.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index e96e37ea..f5c989da 100644
--- a/eval.c
+++ b/eval.c
@@ -3591,17 +3591,24 @@ void eval_init(void)
reg_fun(intern(lit("daemon"), user_package), func_n2(daemon_wrap));
#endif
-#ifdef HAVE_SYS_STAT
+#if HAVE_MKDIR || HAVE_WINDOWS_H
reg_fun(intern(lit("mkdir"), user_package), func_n2o(mkdir_wrap, 1));
#endif
-#ifdef HAVE_UNISTD_H
reg_fun(intern(lit("chdir"), user_package), func_n1(chdir_wrap));
reg_fun(intern(lit("pwd"), user_package), func_n0(getcwd_wrap));
+
+#if HAVE_MKDEV
reg_fun(intern(lit("makedev"), user_package), func_n2(makedev_wrap));
reg_fun(intern(lit("minor"), user_package), func_n1(minor_wrap));
reg_fun(intern(lit("major"), user_package), func_n1(major_wrap));
+#endif
+
+#if HAVE_MKNOD
reg_fun(intern(lit("mknod"), user_package), func_n3(mknod_wrap));
+#endif
+
+#if HAVE_SYMLINK
reg_fun(intern(lit("symlink"), user_package), func_n2(symlink_wrap));
reg_fun(intern(lit("link"), user_package), func_n2(link_wrap));
reg_fun(intern(lit("readlink"), user_package), func_n1(readlink_wrap));