# the directory where pid files go
PIDDIR = @piddir@
+LIBTALLOC=bin/libtalloc.a @LIBTALLOC_SHARED@
LIBSMBCLIENT=bin/libsmbclient.a @LIBSMBCLIENT_SHARED@
LIBSMBSHAREMODES=bin/libsmbsharemodes.a @LIBSMBSHAREMODES_SHARED@
LIBADDNS=bin/libaddns.a @LIBADDNS_SHARED@
bin/log2pcap@EXEEXT@ bin/sharesec@EXEEXT@ bin/ndrdump@EXEEXT@ \
bin/vlp@EXEEXT@
-SHLIBS = @LIBWBCLIENT@ @LIBSMBCLIENT@ @LIBSMBSHAREMODES@ @LIBADDNS@ @LIBNETAPI@
+SHLIBS = @LIBTALLOC@ @LIBWBCLIENT@ @LIBSMBCLIENT@ @LIBSMBSHAREMODES@ @LIBADDNS@ @LIBNETAPI@
PAM_MODULES = @PAM_MODULES@
TALLOC_OBJ = lib/talloc/talloc.o
+LIBTALLOC_OBJ0 = $(TALLOC_OBJ)
+LIBTALLOC_OBJ = $(LIBTALLOC_OBJ0)
+
LIBSAMBAUTIL_OBJ = $(TALLOC_OBJ) \
$(LIBREPLACE_OBJ) \
$(SOCKET_WRAPPER_OBJ) \
#####################################################################
-everything: all libsmbclient libnetapi debug2html smbfilter talloctort replacetort modules torture \
+everything: all libtalloc libsmbclient libnetapi debug2html smbfilter talloctort replacetort modules torture \
$(EVERYTHING_PROGS)
.SUFFIXES:
@POPTLIBS@ $(KRB5LIBS) $(UUID_LIBS) $(LDAP_LIBS) $(PASSDB_LIBS) \
$(TERMLDFLAGS) $(TERMLIBS) $(NSCD_LIBS) @WINBIND_LIBS@
+bin/libtalloc.@SHLIBEXT@: $(BINARY_PREREQS) $(LIBTALLOC_OBJ)
+ @echo Linking shared library $@
+ @$(SHLD_DSO) $(LIBTALLOC_OBJ) \
+ @SONAMEFLAG@`basename $@`.$(SONAME_VER)
+ @ln -s -f `basename $@` $@.$(SONAME_VER)
+
+bin/libtalloc.a: $(BINARY_PREREQS) $(LIBTALLOC_OBJ0)
+ @echo Linking non-shared library $@
+ @-$(AR) -rc $@ $(LIBTALLOC_OBJ0)
+
bin/libwbclient.@SHLIBEXT@: $(BINARY_PREREQS) $(LIBWBCLIENT_OBJ)
@echo Linking shared library $@
@$(SHLD_DSO) $(LIBWBCLIENT_OBJ) \
# it can be fixed or if they just can't be called from a static
# library.
+libtalloc: $(LIBTALLOC)
libsmbclient: $(LIBSMBCLIENT)
libsmbsharemodes: $(LIBSMBSHAREMODES)
libaddns: $(LIBADDNS)
install: installservers installbin @INSTALL_CIFSMOUNT@ @INSTALL_CIFSSPNEGO@ installman \
installscripts installdat installmodules @SWAT_INSTALL_TARGETS@ \
+ @INSTALL_LIBTALLOC@ \
@INSTALL_LIBSMBCLIENT@ @INSTALL_PAM_MODULES@ \
@INSTALL_LIBSMBSHAREMODES@ @INSTALL_LIBWBCLIENT@ @INSTALL_LIBNETAPI@
@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) ${prefix}/include
-$(INSTALLCMD) -m $(INSTALLPERMS_DATA) $(srcdir)/include/libsmbclient.h $(DESTDIR)${prefix}/include
+installlibtalloc: installdirs libtalloc
+ @$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
+ -$(INSTALLLIBCMD_SH) bin/libtalloc.@SHLIBEXT@ $(DESTDIR)$(LIBDIR)
+ -$(INSTALLLIBCMD_A) bin/libtalloc.a $(DESTDIR)$(LIBDIR)
+ -$(INSTALLCMD) -m $(INSTALLPERMS_DATA) $(srcdir)/lib/talloc/talloc.h $(DESTDIR)${prefix}/include
+
installlibsmbsharemodes: installdirs libsmbsharemodes
@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
-$(INSTALLLIBCMD_SH) bin/libsmbsharemodes.@SHLIBEXT@ $(DESTDIR)$(LIBDIR)
@echo " swatdir: $(SWATDIR)"
-uninstall: uninstallman uninstallservers uninstallbin @UNINSTALL_CIFSMOUNT@ @UNINSTALL_CIFSSPNEGO@ uninstallscripts uninstalldat uninstallswat uninstallmodules @UNINSTALL_LIBSMBCLIENT@ @UNINSTALL_PAM_MODULES@ @UNINSTALL_LIBSMBSHAREMODES@ @UNINSTALL_LIBNETAPI@
+uninstall: uninstallman uninstallservers uninstallbin @UNINSTALL_CIFSMOUNT@ @UNINSTALL_CIFSSPNEGO@ uninstallscripts uninstalldat uninstallswat uninstallmodules @UNINSTALL_LIBTALLOC@ @UNINSTALL_LIBSMBCLIENT@ @UNINSTALL_PAM_MODULES@ @UNINSTALL_LIBSMBSHAREMODES@ @UNINSTALL_LIBNETAPI@
uninstallman:
@$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(MANDIR) $(srcdir) C
../testsuite/*/*.o \
*/*.@SHLIBEXT@ */*/*.@SHLIBEXT@ */*/*/*.@SHLIBEXT@ \
$(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) $(ROOT_SBIN_PROGS) \
- $(MODULES) $(TORTURE_PROGS) $(LIBSMBCLIENT) $(LIBADDNS) \
+ $(MODULES) $(TORTURE_PROGS) \
+ $(LIBTALLOC) $(LIBSMBCLIENT) $(LIBADDNS) \
$(LIBSMBSHAREMODES) $(EVERYTHING_PROGS) $(LIBNETAPI) \
bin/libwbclient.so.0 bin/timelimit \
.headers.stamp */src/*.o proto_exists
AC_SUBST(LIBADDNS_SHARED)
AC_SUBST(LIBADDNS)
+AC_SUBST(INSTALL_LIBTALLOC)
+AC_SUBST(UNINSTALL_LIBTALLOC)
+AC_SUBST(LIBTALLOC_SHARED)
+AC_SUBST(LIBTALLOC)
+
AC_SUBST(INSTALL_LIBWBCLIENT)
AC_SUBST(UNINSTALL_LIBWBCLIENT)
AC_SUBST(LIBWBCLIENT_SHARED)
UNINSTALLLIBCMD_A="rm -f"
fi
+#################################################
+# should we build libtalloc?
+INSTALL_LIBTALLOC=
+UNINSTALL_LIBTALLOC=
+LIBTALLOC_SHARED=
+LIBTALLOC=
+
+AC_MSG_CHECKING(whether to build the libtalloc shared library)
+AC_ARG_WITH(libtalloc,
+[AS_HELP_STRING([--with-libtalloc],
+ [Build the libtalloc shared library (default=yes if shared libs supported)])],
+[
+case "$withval" in
+ *)
+ AC_MSG_RESULT(no)
+ ;;
+ yes)
+ samba_cv_with_libtalloc=yes
+ ;;
+esac
+],
+[
+# if unspecified, default is to built it if possible.
+samba_cv_with_libtalloc=yes
+]
+)
+
+if test x"$samba_cv_with_libtalloc" = "xyes" -a $BLDSHARED = true; then
+ LIBTALLOC_SHARED=bin/libtalloc.$SHLIBEXT
+ LIBTALLOC=libtalloc
+ AC_MSG_RESULT(yes)
+else
+ enable_static=yes
+ AC_MSG_RESULT(no shared library support -- will supply static library)
+fi
+if test $enable_static = yes; then
+ LIBTALLOC=libtalloc
+fi
+INSTALL_LIBTALLOC=installlibtalloc
+UNINSTALL_LIBTALLOC=uninstalllibtalloc
+
+
#################################################
# should we build libnetapi?
INSTALL_LIBNETAPI=