# but since we also require "make install prefix=/opt/samba" *not* to
# rebuild it's a bit hard.
-dynconfig.o: dynconfig.c Makefile
+dynconfig.o: dynconfig.c Makefile modules_clean
@echo Compiling $*.c
@$(CC) $(FLAGS) $(PATH_FLAGS) -c $< -o $@
-dynconfig.po: dynconfig.c Makefile
+dynconfig.po: dynconfig.c Makefile modules_clean
@if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
@echo Compiling $*.c with @PICFLAG@
bin/ldapsam.@SHLIBEXT@: passdb/pdb_ldap.o
@echo "Building plugin $@"
- @$(SHLD) $(LDSHFLAGS) -o $@ passdb/pdb_ldap.o \
+ @$(SHLD) $(LDSHFLAGS) -o $@ @LDAP_LIBS@ passdb/pdb_ldap.o \
@SONAMEFLAG@`basename $@`
bin/tdbsam.@SHLIBEXT@: passdb/pdb_tdb.o
-rm -f core */*~ *~ */*.o */*.po */*.po32 */*.@SHLIBEXT@ \
$(TOPFILES) $(BIN_PROGS) $(SBIN_PROGS) $(MODULES) $(TORTURE_PROGS) $(LIBSMBCLIENT) .headers.stamp
+# This is quite ugly actually.. But we need to make
+# sure the changes to include/config.h are used.
+modules_clean:
+ @-rm -f @MODULES_CLEAN@ auth/auth.o passdb/pdb_interface.o rpc_server/srv_pipe_hnd.o lib/iconv.o
+
# Making this target will just make sure that the prototype files
# exist, not necessarily that they are up to date. Since they're
# removed by "make clean" this will always be run when you do anything
])
dnl Mark specified module as shared
-dnl SMB_MODULE(name,static_files,shared_files,subsystem)
+dnl SMB_MODULE(name,static_files,shared_files,subsystem,whatif-static,whatif-shared)
AC_DEFUN(SMB_MODULE,
[
AC_MSG_CHECKING([how to build $1])
AC_DEFINE([$1][_init], [init_module], [Whether to build $1 as shared module])
$4_MODULES="$$4_MODULES $3"
AC_MSG_RESULT([shared])
+ [$6]
elif test x"$DEST" = xSTATIC; then
[init_static_modules_]translit([$4], [A-Z], [a-z])="$[init_static_modules_]translit([$4], [A-Z], [a-z]) $1_init();"
string_static_modules="$string_static_modules $1"
$4_STATIC="$$4_STATIC $2"
AC_SUBST($4_STATIC)
+ [$5]
AC_MSG_RESULT([static])
else
AC_MSG_RESULT([not])
fi
+ MODULES_CLEAN="$MODULES_CLEAN $2 $3"
])
AC_DEFUN(SMB_SUBSYSTEM,
##################################################################
# we might need the lber lib on some systems. To avoid link errors
# this test must be before the libldap test
- AC_CHECK_LIB(lber, ber_scanf, [LIBS="$LIBS -llber"])
+ AC_CHECK_LIB(lber, ber_scanf, [LDAP_LIBS="$LIBS -llber"])
########################################################
# now see if we can find the ldap libs in standard paths
if test x$have_ldap != xyes; then
- AC_CHECK_LIB(ldap, ldap_domain2hostlist, [LIBS="$LIBS -lldap";
+ AC_CHECK_LIB(ldap, ldap_domain2hostlist, [LDAP_LIBS="$LIBS -lldap";
AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available])])
AC_CHECK_HEADERS([ldap.h lber.h], [default_modules="$default_modules pdb_ldap"])
#include <ldap.h>], [ldap_set_rebind_proc(0, 0, 0);], [pam_ldap_cv_ldap_set_rebind_proc=3], [pam_ldap_cv_ldap_set_rebind_proc=2]) ])
AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $pam_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc])
fi
+
+ if test x"$with_ads_support" = x"yes"; then
+ LIBS="$LIBS $LDAP_LIBS"
+ fi
fi
+AC_SUBST(LDAP_LIBS)
+
########################################################
# Compile with MySQL support?
AM_PATH_MYSQL([0.11.0],[default_modules="$default_modules pdb_mysql"],[])
-CFLAGS="$CFLAGS $MYSQL_CFLAGS"
-LIBS="$LIBS $MYSQL_LIBS"
########################################################
# Compile with XML support?
AM_PATH_XML2([2.0.0],[default_modules="$default_modules pdb_xml"],[])
-CFLAGS="$CFLAGS $XML_CFLAGS"
-LIBS="$LIBS $XML_LIBS"
#################################################
# check for automount support
done
fi ])
-SMB_MODULE(pdb_xml, modules/xml.o, bin/xml.so, PDB)
-SMB_MODULE(pdb_mysql, modules/mysql.o, bin/mysql.so, PDB)
-SMB_MODULE(pdb_ldap, passdb/pdb_ldap.o, bin/ldapsam.so, PDB)
+SMB_MODULE(pdb_xml, modules/xml.o, bin/xml.so, PDB,
+ [ CFLAGS="$CFLAGS $XML_CFLAGS"; LIBS="$LIBS $XML_LIBS" ] )
+SMB_MODULE(pdb_mysql, modules/mysql.o, bin/mysql.so, PDB,
+ [ CFLAGS="$CFLAGS $MYSQL_CFLAGS"; LIBS="$LIBS $MYSQL_LIBS" ] )
+SMB_MODULE(pdb_ldap, passdb/pdb_ldap.o, bin/ldapsam.so, PDB,
+ [ LIBS="$LIBS $LDAP_LIBS" ] )
SMB_MODULE(pdb_smbpasswd, passdb/pdb_smbpasswd.o, bin/smbpasswd.so, PDB)
SMB_MODULE(pdb_tdbsam, passdb/pdb_tdb.o, bin/tdbsam.so, PDB)
SMB_MODULE(pdb_nisplussam, passdb/pdb_nisplus.o, bin/nisplussam.so, PDB)
AC_DEFINE_UNQUOTED(STRING_STATIC_MODULES, "$string_static_modules", [String list of builtin modules])
+AC_SUBST(MODULES_CLEAN)
+
#################################################
# do extra things if we are running insure