diff options
-rwxr-xr-x | source3/configure | 22 | ||||
-rw-r--r-- | source3/configure.in | 5 | ||||
-rw-r--r-- | source3/tests/summary.c | 28 |
3 files changed, 55 insertions, 0 deletions
diff --git a/source3/configure b/source3/configure index 91fbc65506..a57723f209 100755 --- a/source3/configure +++ b/source3/configure @@ -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 diff --git a/source3/configure.in b/source3/configure.in index 98a5ad1498..d0e3448944 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -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/source3/tests/summary.c b/source3/tests/summary.c new file mode 100644 index 0000000000..8c0d3005af --- /dev/null +++ b/source3/tests/summary.c @@ -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); +} |