r8826: Make configure generate config.mk files (with the external libraries
[sfrench/samba-autobuild/.git] / source4 / configure.in
index 9edb3ed7962c1d6457027bf350da146657e0681e..f678d9c7e8c70edf7bb0612c59bcc8e37a0d1a83 100644 (file)
@@ -4,225 +4,41 @@ dnl Process this file with autoconf to produce a configure script.
 dnl disabled 2.53 requirement - we do work with 2.52 on suse 7.3 for example
 dnl AC_PREREQ(2.53)
 
-AC_INIT(include/includes.h)
-AC_CONFIG_HEADER(include/config.h)
-
-AC_DISABLE_STATIC
-AC_ENABLE_SHARED
-
-SMB_VERSION_STRING=`cat include/version.h | grep 'SAMBA_VERSION_OFFICIAL_STRING' | cut -d '"' -f2`
-echo "SAMBA VERSION: ${SMB_VERSION_STRING}"
-
-#################################################
-# Directory handling stuff to support both the
-# legacy SAMBA directories and FHS compliant
-# ones...
-AC_PREFIX_DEFAULT(/usr/local/samba)
-
-AC_ARG_WITH(fhs, 
-[  --with-fhs              Use FHS-compliant paths (default=no)],
-    configdir="${sysconfdir}/samba"
-    lockdir="\${VARDIR}/cache/samba"
-    piddir="\${VARDIR}/run/samba"
-    logfilebase="\${VARDIR}/log/samba"
-    privatedir="\${CONFIGDIR}/private"
-    libdir="\${prefix}/lib/samba"
-    swatdir="\${DATADIR}/samba/swat",
-    configdir="\${LIBDIR}"
-    logfilebase="\${VARDIR}"
-    lockdir="\${VARDIR}/locks"
-    piddir="\${VARDIR}/locks"
-    privatedir="\${prefix}/private"
-    swatdir="\${prefix}/swat")
-
-#################################################
-# set private directory location
-AC_ARG_WITH(privatedir,
-[  --with-privatedir=DIR   Where to put smbpasswd ($ac_default_prefix/private)],
-[ case "$withval" in
-  yes|no)
-  #
-  # Just in case anybody calls it without argument
-  #
-    AC_MSG_WARN([--with-privatedir called without argument - will use default])
-  ;;
-  * )
-    privatedir="$withval"
-    ;;
-  esac])
-
-#################################################
-# set lock directory location
-AC_ARG_WITH(lockdir,
-[  --with-lockdir=DIR      Where to put lock files ($ac_default_prefix/var/locks)],
-[ case "$withval" in
-  yes|no)
-  #
-  # Just in case anybody calls it without argument
-  #
-    AC_MSG_WARN([--with-lockdir called without argument - will use default])
-  ;;
-  * )
-    lockdir="$withval"
-    ;;
-  esac])
-
-#################################################
-# set pid directory location
-AC_ARG_WITH(piddir,
-[  --with-piddir=DIR       Where to put pid files ($ac_default_prefix/var/locks)],
-[ case "$withval" in
-  yes|no)
-  #
-  # Just in case anybody calls it without argument
-  #
-    AC_MSG_WARN([--with-piddir called without argument - will use default])
-  ;;
-  * )
-    piddir="$withval"
-    ;;
-  esac])
-
-#################################################
-# set configuration directory location
-AC_ARG_WITH(configdir,
-[  --with-configdir=DIR    Where to put configuration files (\$libdir)],
-[ case "$withval" in
-  yes|no)
-  #
-  # Just in case anybody does it
-  #
-    AC_MSG_WARN([--with-configdir called without argument - will use default])
-  ;;
-  * )
-    configdir="$withval"
-    ;;
-  esac])
-
-#################################################
-# set log directory location
-AC_ARG_WITH(logfilebase,
-[  --with-logfilebase=DIR  Where to put log files (\$(VARDIR))],
-[ case "$withval" in
-  yes|no)
-  #
-  # Just in case anybody does it
-  #
-    AC_MSG_WARN([--with-logfilebase called without argument - will use default])
-  ;;
-  * )
-    logfilebase="$withval"
-    ;;
-  esac])
-
-AC_SUBST(configdir)
-AC_SUBST(lockdir)
-AC_SUBST(piddir)
-AC_SUBST(logfilebase)
-AC_SUBST(privatedir)
-AC_SUBST(bindir)
-AC_SUBST(sbindir)
+AC_INIT([samba],[],[samba-technical@samba.org])
 
-dnl Unique-to-Samba variables we'll be playing with.
-AC_SUBST(SHELL)
-AC_SUBST(LDSHFLAGS)
-AC_SUBST(SONAMEFLAG)
-AC_SUBST(SHLD)
-AC_SUBST(HOST_OS)
-AC_SUBST(PICFLAG)
-AC_SUBST(PICSUFFIX)
-AC_SUBST(POBAD_CC)
-AC_SUBST(SHLIBEXT)
-AC_SUBST(INSTALLCLIENTCMD_SH)
-AC_SUBST(INSTALLCLIENTCMD_A)
-AC_SUBST(LIBSMBCLIENT_SHARED)
-AC_SUBST(LIBSMBCLIENT)
-AC_SUBST(PRINTLIBS)
-AC_SUBST(AUTHLIBS)
-AC_SUBST(ACLLIBS)
-AC_SUBST(SHLIB_PROGS)
-AC_SUBST(SMBWRAPPER)
-AC_SUBST(EXTRA_BIN_PROGS)
-AC_SUBST(EXTRA_SBIN_PROGS)
-AC_SUBST(EXTRA_ALL_TARGETS)
-
-debug=no
-AC_ARG_ENABLE(debug, 
-[  --enable-debug          Turn on compiler debugging information (default=no)],
-    [if eval "test x$enable_debug = xyes"; then
-        debug=yes
-       CFLAGS="${CFLAGS} -gstabs"
-    fi])
-
-developer=no
-AC_ARG_ENABLE(developer, [  --enable-developer      Turn on developer warnings and debugging (default=no)],
-    [if eval "test x$enable_developer = xyes"; then
-        developer=yes
-       CFLAGS="${CFLAGS} -gstabs -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -DDEBUG_PASSWORD -DDEVELOPER"
-    fi])
-
-AC_ARG_ENABLE(krb5developer, [  --enable-krb5developer  Turn on developer warnings and debugging, except -Wstrict-prototypes (default=no)],
-    [if eval "test x$enable_krb5developer = xyes"; then
-        developer=yes
-       CFLAGS="${CFLAGS} -gstabs -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -DDEBUG_PASSWORD -DDEVELOPER"
-    fi])
-
-experimental=no
-AC_ARG_ENABLE(experimental, [  --enable-experimental Turn on experimental features (default=no)],
-    [if eval "test x$enable_experimental = xyes"; then
-        experimental=yes
-    fi])
+AC_CONFIG_SRCDIR([include/includes.h])
+AC_CONFIG_HEADER(include/config.h)
 
+sinclude(build/m4/env.m4)
 sinclude(build/m4/rewrite.m4)
-
-dnl exclude these modules 
-AC_ARG_WITH(exclude-modules,
-[  --with-exclude-modules=MODULES Comma-seperated list of names of modules to exclude from build],
-[ if test $withval; then
-       for i in `echo $withval | sed -e's/,/ /g'`
-       do
-               eval SMB_MODULE_$i=NOT
-       done
-fi ])
-
-dnl Always built these modules shared
-AC_ARG_WITH(shared-modules,
-[  --with-shared-modules=MODULES  Comma-seperated list of names of modules to build shared],
-[ if test $withval; then
-       for i in `echo $withval | sed -e's/,/ /g'`
-       do
-               eval SMB_MODULE_$i=SHARED
-       done
-fi ])
-
-dnl Always built these modules static
-AC_ARG_WITH(static-modules,
-[  --with-static-modules=MODULES  Comma-seperated list of names of modules to statically link in],
-[ if test $withval; then
-       for i in `echo $withval | sed -e's/,/ /g'`
-       do
-               eval SMB_MODULE_$i=STATIC
-       done
-fi ])
-
-sinclude(nsswitch/config.m4)
+sinclude(lib/replace/win32/config.m4)
+sinclude(lib/replace/repdir/config.m4)
+sinclude(heimdal_build/config.m4)
 sinclude(lib/popt/config.m4)
 sinclude(lib/iconv.m4)
-sinclude(lib/basic.m4)
+sinclude(lib/socket/config.m4)
+sinclude(lib/talloc/config.m4)
+sinclude(lib/tdb/config.m4)
+sinclude(lib/ldb/sqlite3.m4)
 sinclude(lib/ldb/config.m4)
+sinclude(lib/tls/config.m4)
+sinclude(lib/events/config.m4)
 sinclude(lib/cmdline/config.m4)
-sinclude(param/config.m4)
+
+dnl disabled until we support external heimdal again
+dnl sinclude(auth/kerberos/config.m4)
+
+sinclude(auth/gensec/config.m4)
 sinclude(libcli/config.m4)
-sinclude(librpc/config.m4)
-sinclude(libcli/libsmb.m4)
 sinclude(smbd/process_model.m4)
-sinclude(smb_server/config.m4)
-sinclude(auth/config.m4)
-sinclude(ntvfs/config.m4)
-sinclude(rpc_server/config.m4)
 sinclude(lib/registry/config.m4)
-sinclude(torture/config.m4)
 sinclude(scripting/config.m4)
+sinclude(gtk/config.m4)
+sinclude(ntvfs/posix/config.m4)
+sinclude(lib/socket_wrapper/config.m4)
+sinclude(web_server/config.m4)
+sinclude(auth/config.m4)
+sinclude(kdc/config.m4)
 
 ALLLIBS_LIBS="$LIBS"
 ALLLIBS_CFLAGS="$CFLAGS"
@@ -237,46 +53,6 @@ SMB_EXT_LIB(ALLLIBS,
                [${ALLLIBS_CPPFLAGS}],
                [${ALLLIBS_LDFLAGS}])
 
-SMB_BINARY(smbd, [ALL], [SBIN],
-       [smbd/server.o
-       smbd/process.o
-       lib/server_mutex.o
-       smbd/build_options.o
-       smbd/rewrite.o],
-       [],
-       [PROCESS_MODEL SMB AUTH NTVFS DCERPC LIBBASIC CONFIG LIBCMDLINE LIBSMB REGISTRY])
-
-SMB_BINARY(smbclient, [ALL], [BIN], 
-       [client/client.o
-       client/clitar.o
-       libcli/raw/clirewrite.o],
-       [],
-       [LIBSMB CONFIG LIBBASIC LIBCMDLINE])
-
-SMB_BINARY(ndrdump, [ALL], [BIN],
-       [utils/ndrdump.o],
-       [],
-       [LIBSMB CONFIG LIBBASIC LIBCMDLINE])
-
-SMB_BINARY(gentest, [ALL], [BIN],
-       [torture/gentest.o
-       torture/torture_util.o
-       libcli/raw/clirewrite.o],
-       [],
-       [LIBSMB CONFIG LIBBASIC LIBCMDLINE])
-
-SMB_BINARY(masktest, [ALL], [BIN], 
-       [torture/masktest.o
-       libcli/raw/clirewrite.o],
-       [],
-       [LIBSMB CONFIG LIBBASIC LIBCMDLINE])
-
-SMB_BINARY(locktest, [ALL], [BIN],
-       [torture/locktest.o
-       libcli/raw/clirewrite.o],
-       [],
-       [LIBSMB CONFIG LIBBASIC LIBCMDLINE])
-
 AC_DEFINE_UNQUOTED(STRING_STATIC_MODULES, "$string_static_modules", [String list of builtin modules])
 
 #################################################
@@ -286,6 +62,10 @@ if test "${ac_cv_prog_CC}" = "insure"; then
        CPPFLAGS="$CPPFLAGS -D__INSURE__"
 fi
 
+#################################################
+# add DEVELOPER_CFLAGS only for the real build
+CFLAGS="${CFLAGS} ${DEVELOPER_CFLAGS}"
+
 #################################################
 # final configure stuff
 
@@ -306,4 +86,27 @@ dnl Remove -I/usr/include/? from CFLAGS and CPPFLAGS
 CFLAGS_REMOVE_USR_INCLUDE(CFLAGS)
 CFLAGS_REMOVE_USR_INCLUDE(CPPFLAGS)
 
-SMB_AC_OUTPUT(Makefile)
+echo "configure: creating config.pl"
+cat >config.pm<<CEOF
+# config.pm - Autogenerate by configure. DO NOT EDIT!
+
+package config;
+use strict;
+
+use vars qw(%enabled AC_FOREACH([AC_Var], m4_defn([_AC_SUBST_VARS]), [\$AC_Var ]));
+
+AC_FOREACH([AC_Var], m4_defn([_AC_SUBST_VARS]), [
+\$AC_Var = "$AC_Var";])
+
+$SMB_INFO_ENABLES
+CEOF
+
+echo "configure: creating config.mk"
+cat >config.mk<<CEOF
+# config.mk - Autogenerated by configure, DO NOT EDIT!
+$SMB_INFO_EXT_LIBS
+$SMB_INFO_SUBSYSTEMS
+$SMB_INFO_LIBRARIES
+CEOF
+
+AC_OUTPUT(Makefile,,[$PERL -Ibuild build/smb_build/main.pl])