summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
Diffstat (limited to 'source3')
-rw-r--r--source3/Makefile.in62
-rw-r--r--source3/configure.in83
2 files changed, 79 insertions, 66 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in
index d8a7110126..d7aaa3122e 100644
--- a/source3/Makefile.in
+++ b/source3/Makefile.in
@@ -99,21 +99,18 @@ PATH_FLAGS5 = $(PATH_FLAGS4) -DLIBDIR=\"$(LIBDIR)\" -DLOGFILEBASE=\"$(LOGFILEBAS
PATH_FLAGS6 = $(PATH_FLAGS5) -DCONFIGDIR=\"$(CONFIGFIR)\"
PATH_FLAGS = $(PATH_FLAGS6) $(PASSWD_FLAGS)
-WINBIND_PROGS = @WINBIND_TARGETS@
-WINBIND_SPROGS = @WINBIND_STARGETS@
-WINBIND_PAM_PROGS = @WINBIND_PAM_TARGETS@
-WINBIND_LPROGS = @WINBIND_LTARGETS@
-
-SPROGS = bin/smbd bin/nmbd bin/swat bin/wrepld @WINBIND_STARGETS@
-PROGS1 = bin/smbclient bin/net bin/smbspool bin/testparm bin/testprns bin/smbstatus bin/smbcontrol bin/smbtree bin/tdbbackup @RUNPROG@ @WINBIND_TARGETS@
-PROGS2 = bin/smbpasswd bin/rpcclient bin/smbcacls @WRAPPROG@ @WRAP@ @WRAP32@ @PAM_MOD@
-MPROGS = @MPROGS@
-LPROGS = $(WINBIND_PAM_PROGS) $(WINBIND_LPROGS)
-
-PROGS = $(PROGS1) $(PROGS2) $(MPROGS) bin/nmblookup bin/pdbedit bin/smbgroupedit
+SBIN_PROGS = bin/smbd bin/nmbd bin/swat bin/wrepld @EXTRA_SBIN_PROGS@
+
+BIN_PROGS1 = bin/smbclient bin/net bin/smbspool bin/testparm bin/testprns bin/smbstatus
+BIN_PROGS2 = bin/smbcontrol bin/smbtree bin/tdbbackup bin/nmblookup bin/pdbedit
+BIN_PROGS3 = bin/smbpasswd bin/rpcclient bin/smbcacls bin/smbgroupedit
+
TORTURE_PROGS = bin/smbtorture bin/msgtest bin/masktest bin/locktest \
bin/locktest2 bin/nsstest bin/vfstest
-SHLIBS = @LIBSMBCLIENT@
+
+BIN_PROGS = $(BIN_PROGS1) $(BIN_PROGS2) $(BIN_PROGS3) @EXTRA_BIN_PROGS@
+
+SHLIBS = @SHLIB_PROGS@ @LIBSMBCLIENT@
SCRIPTS = $(srcdir)/script/smbtar $(srcdir)/script/addtosmbpass $(srcdir)/script/convert_smbpasswd \
$(builddir)/script/findsmb
@@ -152,7 +149,7 @@ LIB_SMBD_OBJ = lib/system_smbd.o lib/util_smbd.o
READLINE_OBJ = lib/readline.o
-POPT_LIB_OBJ = lib/popt_common.o
+POPT_LIB_OBJ = lib/popt_common.o
UBIQX_OBJ = ubiqx/ubi_BinTree.o ubiqx/ubi_Cache.o ubiqx/ubi_SplayTree.o \
ubiqx/ubi_dLinkList.o ubiqx/ubi_sLinkList.o ubiqx/debugparse.o
@@ -382,6 +379,18 @@ LIBSMBCLIENT_OBJ = libsmb/libsmbclient.o libsmb/libsmb_compat.o \
libsmb/libsmb_cache.o $(LIB_OBJ) \
$(LIBSMB_OBJ) $(PARAM_OBJ) $(UBIQX_OBJ)
+# This shared library is intended for linking with unit test programs
+# to test Samba internals. It's called libbigballofmud.so to
+# discourage casual usage.
+
+LIBBIGBALLOFMUD_MAJOR = 0
+
+LIBBIGBALLOFMUD_OBJ = $(LIB_OBJ) $(UBIQX_OBJ) $(PARAM_OBJ) $(SECRETS_OBJ) \
+ $(LIBSMB_OBJ) $(LIBMSRPC_OBJ) $(RPC_PARSE_OBJ) $(PASSDB_OBJ) \
+ $(GROUPDB_OBJ)
+
+LIBBIGBALLOFMUD_PICOBJS = $(LIBBIGBALLOFMUD_OBJ:.o=.po)
+
CLIENT_OBJ1 = client/client.o client/clitar.o
CLIENT_OBJ = $(CLIENT_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(UBIQX_OBJ) $(LIB_OBJ) \
@@ -524,11 +533,12 @@ TDBBACKUP_OBJ = tdb/tdbbackup.o $(TDBBASE_OBJ)
######################################################################
# now the rules...
######################################################################
-all : SHOWFLAGS proto_exists $(SPROGS) $(PROGS) $(WINBIND_PROGS) $(WINBIND_SPROGS) $(LPROGS) $(SHLIBS)
+all : SHOWFLAGS proto_exists $(SBIN_PROGS) $(BIN_PROGS) $(SHLIBS) \
+ $(TORTURE_PROGS) @EXTRA_ALL_TARGETS@
pam_smbpass : SHOWFLAGS bin/pam_smbpass.@SHLIBEXT@
-smbwrapper : SHOWFLAGS @WRAPPROG@ @WRAP@ @WRAP32@
+smbwrapper : SHOWFLAGS @SMBWRAPPER@
torture : SHOWFLAGS $(TORTURE_PROGS)
@@ -552,7 +562,7 @@ smbfilter : SHOWFLAGS bin/smbfilter
talloctort : SHOWFLAGS bin/talloctort
-nsswitch : SHOWFLAGS $(WINBIND_PROGS) $(WINBIND_SPROGS) $(LPROGS)
+nsswitch : SHOWFLAGS bin/winbindd bin/wbinfo nsswitch/libnss_winbind.so nsswitch/pam_winbind.so
wins : SHOWFLAGS nsswitch/libnss_wins.@SHLIBEXT@
@@ -776,7 +786,7 @@ bin/smbwrapper.32.@SHLIBEXT@: $(PICOBJS32)
@SONAMEFLAG@`basename $@`
bin/libsmbclient.@SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS)
- echo Linking libsmbclient shared library $@
+ @echo Linking libsmbclient shared library $@
$(SHLD) $(LDSHFLAGS) -o $@ $(LIBSMBCLIENT_PICOBJS) $(LIBS) \
@SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR)
@@ -784,8 +794,12 @@ bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS)
@echo Linking libsmbclient non-shared library $@
-$(AR) -rc $@ $(LIBSMBCLIENT_PICOBJS)
-libsmbclient: bin/libsmbclient.a bin/libsmbclient.@SHLIBEXT@
+bin/libbigballofmud.@SHLIBEXT@: $(LIBBIGBALLOFMUD_PICOBJS)
+ @echo Linking bigballofmud shared library $@
+ $(SHLD) $(LDSHFLAGS) -o $@ $(LIBBIGBALLOFMUD_PICOBJS) $(LIBS) \
+ @SONAMEFLAG@`basename $@`.$(LIBBIGBALLOFMUD_MAJOR)
+libsmbclient: bin/libsmbclient.a bin/libsmbclient.@SHLIBEXT@
nsswitch/libnss_wins.@SHLIBEXT@: $(NSS_OBJ)
@echo "Linking $@"
@@ -927,11 +941,17 @@ python_common_proto:
$(PY_COMMON_PROTO_OBJ)
python_ext: $(PYTHON_OBJS)
+ @if test -z "$(PYTHON)"; then \
+ echo Use the option --with-python to configure python; \
+ exit 1; fi
PYTHON_OBJS="$(PYTHON_OBJS)" PYTHON_CFLAGS="$(CFLAGS) $(CPPFLAGS) $(FLAGS)" \
LIBS="$(LIBS)" \
$(PYTHON) python/setup.py build
python_install: $(PYTHON_OBJS)
+ @if test -z "$(PYTHON)"; then \
+ echo Use the option --with-python to configure python; \
+ exit 1; fi
PYTHON_OBJS="$(PYTHON_OBJS)" PYTHON_CFLAGS="$(CFLAGS) $(CPPFLAGS)" \
LIBS="$(LIBS)" \
$(PYTHON) python/setup.py install
@@ -979,7 +999,7 @@ TOPFILES=dynconfig.o dynconfig.po
clean: delheaders python_clean
-rm -f core */*~ *~ */*.o */*.po */*.po32 */*.@SHLIBEXT@ \
- $(TOPFILES) $(PROGS) $(SPROGS) $(MODULES) .headers.stamp
+ $(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) $(MODULES) .headers.stamp
# Making this target will just make sure that the prototype files
# exist, not necessarily that they are up to date. Since they're
@@ -1056,7 +1076,7 @@ ctags:
ctags `find $(srcdir) -name "*.[ch]" | grep -v /CVS/`
realclean: clean delheaders
- -rm -f config.log $(PROGS) $(MODULES) $(SPROGS) bin/.dummy script/findsmb
+ -rm -f config.log $(BIN_PROGS) $(MODULES) $(SBIN_PROGS) bin/.dummy script/findsmb
distclean: realclean
-rm -f include/stamp-h
diff --git a/source3/configure.in b/source3/configure.in
index 4b9a8048b4..e3902f509c 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -132,16 +132,10 @@ AC_SUBST(sbindir)
dnl Unique-to-Samba variables we'll be playing with.
AC_SUBST(SHELL)
-AC_SUBST(RUNPROG)
-AC_SUBST(MPROGS)
AC_SUBST(LDSHFLAGS)
AC_SUBST(SONAMEFLAG)
AC_SUBST(SHLD)
AC_SUBST(HOST_OS)
-AC_SUBST(PAM_MOD)
-AC_SUBST(WRAP)
-AC_SUBST(WRAP32)
-AC_SUBST(WRAPPROG)
AC_SUBST(PICFLAG)
AC_SUBST(PICSUFFIX)
AC_SUBST(POBAD_CC)
@@ -150,6 +144,11 @@ AC_SUBST(LIBSMBCLIENT_SHARED)
AC_SUBST(LIBSMBCLIENT)
AC_SUBST(PRINTLIBS)
AC_SUBST(AUTHLIBS)
+AC_SUBST(SHLIB_PROGS)
+AC_SUBST(SMBWRAPPER)
+AC_SUBST(EXTRA_BIN_PROGS)
+AC_SUBST(EXTRA_SBIN_PROGS)
+AC_SUBST(EXTRA_ALL_TARGETS)
# compile with optimization and without debugging by default
CFLAGS="-O ${CFLAGS}"
@@ -737,9 +736,7 @@ fi
# Check if we have execl, if not we need to compile smbrun.
AC_CHECK_FUNCS(execl)
if test x"$ac_cv_func_execl" = x"no"; then
- RUNPROG="bin/smbrun"
-else
- RUNPROG=""
+ EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/smbrun"
fi
AC_CHECK_FUNCS(dlopen dlclose dlsym dlerror waitpid getcwd strdup strndup strnlen strtoul strerror chown fchown chmod fchmod chroot link mknod mknod64)
@@ -1908,6 +1905,8 @@ AC_ARG_WITH(smbwrapper,
WRAP=""
WRAP32=""
fi
+ EXTRA_ALL_TARGETS="$EXTRA_ALL_TARGETS $WRAPPROG $WRAP $WRAP32"
+ SMBWRAPPER="$WRAPPROG $WRAP $WRAP32"
;;
*)
AC_MSG_RESULT(no)
@@ -1958,7 +1957,7 @@ with_ads_support=yes
AC_MSG_CHECKING([whether to use Active Directory])
AC_ARG_WITH(ads,
-[ --with-ads Active Directory support (default yes)],
+[ --with-ads Active Directory support (default yes)],
[ case "$withval" in
no)
with_ads_support=no
@@ -2058,7 +2057,7 @@ with_ldap_support=yes
AC_MSG_CHECKING([whether to use LDAP])
AC_ARG_WITH(ldap,
-[ --with-ldap LDAP support (default yes)],
+[ --with-ldap LDAP support (default yes)],
[ case "$withval" in
no)
with_ldap_support=no
@@ -2106,9 +2105,9 @@ AC_SUBST(MODULE_XML)
#################################################
# check for automount support
-AC_MSG_CHECKING(whether to use AUTOMOUNT)
+AC_MSG_CHECKING(whether to use automount)
AC_ARG_WITH(automount,
-[ --with-automount Include AUTOMOUNT support (default=no)],
+[ --with-automount Include automount support (default=no)],
[ case "$withval" in
yes)
AC_MSG_RESULT(yes)
@@ -2123,16 +2122,16 @@ AC_ARG_WITH(automount,
#################################################
# check for smbmount support
-AC_MSG_CHECKING(whether to use SMBMOUNT)
+AC_MSG_CHECKING(whether to use smbmount)
AC_ARG_WITH(smbmount,
-[ --with-smbmount Include SMBMOUNT (Linux only) support (default=no)],
+[ --with-smbmount Include smbmount (Linux only) support (default=no)],
[ case "$withval" in
yes)
case "$host_os" in
*linux*)
AC_MSG_RESULT(yes)
AC_DEFINE(WITH_SMBMOUNT,1,[Whether to build smbmount])
- MPROGS="bin/smbmount bin/smbmnt bin/smbumount"
+ EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/smbmount bin/smbmnt bin/smbumount"
;;
*)
AC_MSG_ERROR(not on a linux system!)
@@ -2141,11 +2140,9 @@ AC_ARG_WITH(smbmount,
;;
*)
AC_MSG_RESULT(no)
- MPROGS=
;;
esac ],
AC_MSG_RESULT(no)
- MPROGS=
)
@@ -2185,12 +2182,10 @@ AC_ARG_WITH(pam_smbpass,
if test x$PICFLAG = x; then
AC_MSG_RESULT([No support for PIC code - disabling pam_smbpass])
- PAM_MOD=""
elif test x$ac_cv_lib_pam_pam_get_data = xno; then
AC_MSG_RESULT([No libpam found -- disabling pam_smbpass])
- PAM_MOD=""
else
- PAM_MOD="bin/pam_smbpass.so"
+ SHLIB_PROGS="$SHLIB_PROGS bin/pam_smbpass.so"
fi
;;
*)
@@ -2240,7 +2235,7 @@ fi
# check for a LDAP password database configuration backwards compatibility
AC_MSG_CHECKING(whether to use LDAP SAM 2.2 compatible configuration)
AC_ARG_WITH(ldapsam,
-[ --with-ldapsam Include LDAP SAM 2.2 compatible configuration (default=no)],
+[ --with-ldapsam Include LDAP SAM 2.2 compatible configuration (default=no)],
[ case "$withval" in
yes)
AC_MSG_RESULT(yes)
@@ -2757,7 +2752,7 @@ samba_cv_HAVE_ACL_GET_PERM_NP=yes,samba_cv_HAVE_ACL_GET_PERM_NP=no)])
with_sendfile_support=yes
AC_MSG_CHECKING(whether to check to support sendfile)
AC_ARG_WITH(sendfile-support,
-[ --with-sendfile-support Check for sendfile support (default=yes)],
+[ --with-sendfile-support Check for sendfile support (default=yes)],
[ case "$withval" in
yes)
@@ -2981,8 +2976,7 @@ samba_cv_HAVE_SENDFILEV=yes,samba_cv_HAVE_SENDFILEV=no)])
#################################################
# Check whether winbind is supported on this platform. If so we need to
-# build and install client programs (WINBIND_TARGETS), sbin programs
-# (WINBIND_STARGETS) and shared libraries (WINBIND_LTARGETS).
+# build and install client programs, sbin programs and shared libraries
AC_MSG_CHECKING(whether to build winbind)
@@ -3007,6 +3001,9 @@ case "$host_os" in
;;
esac
+AC_SUBST(WINBIND_NSS_EXTRA_OBJS)
+AC_SUBST(WINBIND_NSS_EXTRA_LIBS)
+
# Check the setting of --with-winbindd
AC_ARG_WITH(winbind,
@@ -3034,37 +3031,22 @@ fi
# Display test results
-WINBIND_TARGETS=""
-WINBIND_STARGETS=""
-WINBIND_LTARGETS=""
-WINBIND_PAM_PROGS=""
-
if test x"$HAVE_WINBIND" = x"yes"; then
AC_MSG_RESULT(yes)
AC_DEFINE(WITH_WINBIND,1,[Whether to build winbind])
- WINBIND_TARGETS="bin/wbinfo"
- WINBIND_STARGETS="bin/winbindd"
+ EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo"
+ EXTRA_SBIN_PROGS="$EXTRA_SBIN_PROGS bin/winbindd"
if test x"$BLDSHARED" = x"true"; then
- WINBIND_LTARGETS="nsswitch/libnss_winbind.so"
+ SHLIB_PROGS="$SHLIB_PROGS nsswitch/libnss_winbind.so"
if test x"$with_pam" = x"yes"; then
- WINBIND_PAM_TARGETS="nsswitch/pam_winbind.so"
+ SHLIB_PROGS="$SHLIB_PROGS nsswitch/pam_winbind.so"
fi
fi
else
AC_MSG_RESULT(no$winbind_no_reason)
fi
-
-# Substitution time!
-
-AC_SUBST(WINBIND_TARGETS)
-AC_SUBST(WINBIND_STARGETS)
-AC_SUBST(WINBIND_LTARGETS)
-AC_SUBST(WINBIND_PAM_TARGETS)
-AC_SUBST(WINBIND_NSS_EXTRA_OBJS)
-AC_SUBST(WINBIND_NSS_EXTRA_LIBS)
-
# Solaris has some extra fields in struct passwd that need to be
# initialised otherwise nscd crashes. Unfortunately autoconf < 2.50
# doesn't have the AC_CHECK_MEMBER macro which would be handy for checking
@@ -3132,11 +3114,22 @@ AC_SUBST(FLAGS1)
# though they can coexist in different directories.) In the future
# this might make the Python stuff be built by default.
+# If you don't specify --with-python, we assume "python" anyhow,
+# because the extensions are not built until you specifically "make
+# python_ext". --without-python turns them off. Perhaps in the
+# future --with-python should make them automatically built by make
+# all.
+
+PYTHON=python
+
AC_ARG_WITH(python,
[ --with-python=PYTHONNAME build Python libraries],
[ case "${withval-python}" in
yes)
- PYTHON=python
+ EXTRA_ALL_TARGETS="$EXTRA_ALL_TARGETS python_ext"
+ ;;
+ no)
+ PYTHON=
;;
*)
PYTHON=${withval-python}