summaryrefslogtreecommitdiffstats
path: root/configure
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 /configure
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 'configure')
-rwxr-xr-xconfigure89
1 files changed, 89 insertions, 0 deletions
diff --git a/configure b/configure
index deb14345..cdc1e3a1 100755
--- a/configure
+++ b/configure
@@ -1584,6 +1584,95 @@ else
have_posix_sigs=y
fi
+printf "Checking for makedev ... "
+
+cat > conftest.c <<!
+#include <sys/types.h>
+
+int main(void)
+{
+ int d = makedev(1, 2);
+ int j = major(d);
+ int n = minor(d);
+ return 0;
+}
+!
+rm -f conftest$exe
+if ! $make conftest > conftest.err 2>&1 || ! [ -x conftest ] ; then
+ printf "no\n"
+else
+ printf "yes\n"
+ printf "#define HAVE_MAKEDEV 1\n" >> config.h
+fi
+
+printf "Checking for link, symlink and readlink ... "
+
+cat > conftest.c <<!
+#include <unistd.h>
+
+int main(void)
+{
+ int e1 = symlink("a", "b");
+ int e2 = link("c", "d");
+ char buf[256];
+ ssize_t foo = readlink("e", buf, sizeof buf);
+ return 0;
+}
+!
+rm -f conftest$exe
+if ! $make conftest > conftest.err 2>&1 || ! [ -x conftest ] ; then
+ printf "no\n"
+else
+ printf "yes\n"
+ printf "#define HAVE_SYMLINK 1\n" >> config.h
+ have_unistd=y
+fi
+
+printf "Checking for POSIX mkdir ... "
+
+cat > conftest.c <<!
+#included "config.h"
+#include <sys/stat.h>
+#if HAVE_WINDOWS_H
+#include <windows.h>
+#endif
+
+int main(void)
+{
+ int e = mkdir("a", 0);
+ return 0;
+}
+!
+rm -f conftest$exe
+if ! $make conftest > conftest.err 2>&1 || ! [ -x conftest ] ; then
+ printf "no\n"
+else
+ printf "yes\n"
+cat conftest.err
+exit 1
+ printf "#define HAVE_MKDIR 1\n" >> config.h
+fi
+
+printf "Checking for mknod ... "
+
+cat > conftest.c <<!
+#include <unistd.h>
+
+int main(void)
+{
+ int e = mknod("a", 0, 0);
+ return 0;
+}
+!
+rm -f conftest$exe
+if ! $make conftest > conftest.err 2>&1 || ! [ -x conftest ] ; then
+ printf "no\n"
+else
+ printf "yes\n"
+ printf "#define HAVE_MKNOD 1\n" >> config.h
+ have_unistd=y
+fi
+
#
# Dependent variables
#