From f46a5e3cdea380494554b0bd11782c8a4dabdc66 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 25 Feb 2014 00:29:16 -0800 Subject: * 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. --- configure | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) (limited to 'configure') 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 < + +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 < + +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 < +#if HAVE_WINDOWS_H +#include +#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 < + +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 # -- cgit v1.2.3