added a configuration summary at the end of ./configure. It also
authorAndrew Tridgell <tridge@samba.org>
Sat, 5 Sep 1998 13:53:13 +0000 (13:53 +0000)
committerAndrew Tridgell <tridge@samba.org>
Sat, 5 Sep 1998 13:53:13 +0000 (13:53 +0000)
aborts if essential functions are not available.

source/configure
source/configure.in
source/tests/summary.c [new file with mode: 0644]

index 91fbc65506b1822d568b176446f7a7cd85f4250d..a57723f209355875724f37e36cf0882cd140fe9e 100755 (executable)
@@ -4892,6 +4892,28 @@ EOF
   fi
 fi
 
+echo "checking configure summary"
+if test "$cross_compiling" = yes; then
+    { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
+else
+  cat > conftest.$ac_ext <<EOF
+#line 4901 "configure"
+#include "confdefs.h"
+#include "tests/summary.c"
+EOF
+if { (eval echo configure:4905: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+then
+  echo "configure OK";
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -fr conftest*
+  echo ERROR - summary failure. Aborting config; exit 1
+fi
+rm -fr conftest*
+fi
+
+
 
 trap '' 1 2 15
 cat > confcache <<\EOF
index 98a5ad1498319b3c5379716145370005a5b344b4..d0e3448944d46e40dbde88f3f0da75052b21e308 100644 (file)
@@ -704,6 +704,11 @@ if test $space = no; then
   fi
 fi
 
+echo "checking configure summary"
+AC_TRY_RUN([#include "tests/summary.c"],
+           echo "configure OK";,
+          echo ERROR - summary failure. Aborting config; exit 1)
+
 
 AC_OUTPUT(Makefile tests/dummy client/dummy lib/dummy ubiqx/dummy
 web/dummy param/dummy nmbd/dummy smbd/dummy rpc_server/dummy
diff --git a/source/tests/summary.c b/source/tests/summary.c
new file mode 100644 (file)
index 0000000..8c0d300
--- /dev/null
@@ -0,0 +1,28 @@
+#include <stdio.h>
+
+main()
+{
+#ifndef HAVE_FCNTL_LOCK
+       printf("ERROR: No locking available. Running Samba would be unsafe\n");
+       exit(1);
+#endif
+
+#if !(defined(HAVE_SYSV_IPC) || defined(HAVE_SHARED_MMAP))
+       printf("WARNING: no shared memory. Running with slow locking code\n");
+#endif
+
+#ifdef HAVE_TRAPDOOR_UID
+       printf("WARNING: trapdoor uid system - Samba may not operate correctly\n");
+#endif
+
+#if !(defined(HAVE_NETMASK_IFCONF) || defined(HAVE_NETMASK_IFREQ) || defined(HAVE_NETMASK_AIX))
+       printf("WARNING: No automated netmask determination - use an interfaces line\n");
+#endif
+
+#if !(defined(STAT_STATVFS) || defined(STAT_STATFS3_OSF1) || defined(STAT_STATFS2_BSIZE) || defined(STAT_STATFS4) || defined(STAT_STATFS2_FSIZE) || defined(STAT_STATFS2_FS_DATA))
+       printf("ERROR: No disk free routine!\n");
+       exit(1);
+#endif
+
+       exit(0);
+}