1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-15 23:24:37 +03:00
samba-mirror/source4/configure.in
Andrew Tridgell 39696f7804 r813: gcc has fixed its huge debug sizes with -g now, so drop the -gstabs,
allowing us to use a more standard debug format.

If you want it even smaller than I recommend the
-feliminate-dwarf2-dups option, if your version of gcc supports it.
(This used to be commit a11340a971af24d9dcab720f92483b0dafa01142)
2007-10-10 12:53:52 -05:00

306 lines
8.1 KiB
Plaintext

dnl -*- mode: m4-mode -*-
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)
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} -g"
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} -g -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} -g -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])
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 ])
SMB_INCLUDE_M4(lib/popt/config.m4)
SMB_INCLUDE_M4(lib/iconv.m4)
SMB_INCLUDE_M4(lib/basic.m4)
SMB_INCLUDE_M4(lib/tdb/config.m4)
SMB_INCLUDE_M4(lib/ldb/config.m4)
SMB_INCLUDE_M4(lib/cmdline/config.m4)
SMB_INCLUDE_M4(param/config.m4)
SMB_INCLUDE_M4(libcli/config.m4)
SMB_INCLUDE_M4(librpc/config.m4)
SMB_INCLUDE_M4(libcli/libsmb.m4)
SMB_INCLUDE_M4(smbd/process_model.m4)
SMB_INCLUDE_M4(smb_server/config.m4)
SMB_INCLUDE_M4(auth/config.m4)
SMB_INCLUDE_M4(ntvfs/config.m4)
SMB_INCLUDE_M4(rpc_server/config.m4)
SMB_INCLUDE_M4(lib/registry/config.m4)
SMB_INCLUDE_M4(torture/config.m4)
SMB_INCLUDE_M4(scripting/config.m4)
ALLLIBS_LIBS="$LIBS"
ALLLIBS_CFLAGS="$CFLAGS"
ALLLIBS_CPPFLAGS="$CPPFLAGS"
ALLLIBS_LDFLAGS="$LDFLAGS"
SMB_EXT_LIB_ENABLE(ALLLIBS,YES)
SMB_EXT_LIB(ALLLIBS,
[${ALLLIBS_LIBS}],
[${ALLLIBS_CFLAGS}],
[${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],
[],
[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],
[],
[LIBSMB CONFIG LIBBASIC LIBCMDLINE])
SMB_BINARY(masktest, [ALL], [BIN],
[torture/masktest.o],
[],
[LIBSMB CONFIG LIBBASIC LIBCMDLINE])
SMB_BINARY(locktest, [ALL], [BIN],
[torture/locktest.o],
[],
[LIBSMB CONFIG LIBBASIC LIBCMDLINE])
AC_DEFINE_UNQUOTED(STRING_STATIC_MODULES, "$string_static_modules", [String list of builtin modules])
#################################################
# do extra things if we are running insure
if test "${ac_cv_prog_CC}" = "insure"; then
CPPFLAGS="$CPPFLAGS -D__INSURE__"
fi
#################################################
# final configure stuff
AC_MSG_CHECKING([configure summary])
AC_TRY_RUN([#include "${srcdir-.}/build/tests/summary.c"],
AC_MSG_RESULT(yes),
AC_MSG_ERROR([summary failure. Aborting config]); exit 1;,
AC_MSG_WARN([cannot run when cross-compiling]))
builddir=`pwd`
AC_SUBST(builddir)
dnl Remove -L/usr/lib/? from LDFLAGS and LIBS
LIB_REMOVE_USR_LIB(LDFLAGS)
LIB_REMOVE_USR_LIB(LIBS)
dnl Remove -I/usr/include/? from CFLAGS and CPPFLAGS
CFLAGS_REMOVE_USR_INCLUDE(CFLAGS)
CFLAGS_REMOVE_USR_INCLUDE(CPPFLAGS)
SMB_AC_OUTPUT(Makefile)