mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
s4: Remove the old perl/m4/make/mk-based build system.
The new waf-based build system now has all the same functionality, and the old build system has been broken for quite some time. Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Sun Oct 31 02:01:44 UTC 2010 on sn-devel-104
This commit is contained in:
parent
9401189d54
commit
3deece5591
@ -1,4 +0,0 @@
|
||||
[SUBSYSTEM::LIBASYNC_REQ]
|
||||
PUBLIC_DEPENDENCIES = LIBREPLACE_NETWORK LIBTALLOC LIBTEVENT
|
||||
|
||||
LIBASYNC_REQ_OBJ_FILES = $(addprefix ../lib/async_req/, async_sock.o)
|
@ -1,18 +0,0 @@
|
||||
##############################
|
||||
# Start SUBSYSTEM LIBCRYPTO
|
||||
[SUBSYSTEM::LIBCRYPTO]
|
||||
# End SUBSYSTEM LIBCRYPTO
|
||||
##############################
|
||||
|
||||
LIBCRYPTO_OBJ_FILES = $(addprefix $(libcryptosrcdir)/, \
|
||||
crc32.o md5.o hmacmd5.o md4.o \
|
||||
arcfour.o sha256.o hmacsha256.o \
|
||||
aes.o rijndael-alg-fst.o)
|
||||
|
||||
[SUBSYSTEM::TORTURE_LIBCRYPTO]
|
||||
PRIVATE_DEPENDENCIES = LIBCRYPTO
|
||||
|
||||
TORTURE_LIBCRYPTO_OBJ_FILES = $(addprefix $(libcryptosrcdir)/, \
|
||||
md4test.o md5test.o hmacmd5test.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(libcryptosrcdir)/test_proto.h,$(TORTURE_LIBCRYPTO_OBJ_FILES:.o=.c)))
|
@ -1,7 +0,0 @@
|
||||
##############################
|
||||
# Start SUBSYSTEM NSS_WRAPPER
|
||||
[SUBSYSTEM::NSS_WRAPPER]
|
||||
# End SUBSYSTEM NSS_WRAPPER
|
||||
##############################
|
||||
|
||||
NSS_WRAPPER_OBJ_FILES = $(nsswrappersrcdir)/nss_wrapper.o
|
@ -1,5 +0,0 @@
|
||||
[SUBSYSTEM::LIBPOPT]
|
||||
CFLAGS = -I$(poptsrcdir)
|
||||
|
||||
LIBPOPT_OBJ_FILES = $(addprefix $(poptsrcdir)/, findme.o popt.o poptconfig.o popthelp.o poptparse.o)
|
||||
|
@ -1,3 +0,0 @@
|
||||
[SUBSYSTEM::LIBSMBCONF]
|
||||
|
||||
LIBSMBCONF_OBJ_FILES = $(addprefix ../lib/smbconf/, smbconf.o smbconf_txt.o smbconf_util.o)
|
@ -1,8 +0,0 @@
|
||||
##############################
|
||||
# Start SUBSYSTEM SOCKET_WRAPPER
|
||||
[SUBSYSTEM::SOCKET_WRAPPER]
|
||||
PRIVATE_DEPENDENCIES = LIBREPLACE_NETWORK
|
||||
# End SUBSYSTEM SOCKET_WRAPPER
|
||||
##############################
|
||||
|
||||
SOCKET_WRAPPER_OBJ_FILES = $(socketwrappersrcdir)/socket_wrapper.o
|
@ -1,7 +0,0 @@
|
||||
[LIBRARY::LIBTALLOC]
|
||||
OUTPUT_TYPE = MERGED_OBJ
|
||||
CFLAGS = -I$(tallocsrcdir)
|
||||
|
||||
LIBTALLOC_OBJ_FILES = $(tallocsrcdir)/talloc.o
|
||||
|
||||
MANPAGES += $(tallocdir)/talloc.3
|
@ -1,66 +0,0 @@
|
||||
################################################
|
||||
# Start SUBSYSTEM LIBTDB
|
||||
[LIBRARY::LIBTDB]
|
||||
OUTPUT_TYPE = MERGED_OBJ
|
||||
CFLAGS = -I$(tdbsrcdir)/include
|
||||
#
|
||||
# End SUBSYSTEM ldb
|
||||
################################################
|
||||
|
||||
LIBTDB_OBJ_FILES = $(addprefix $(tdbsrcdir)/common/, \
|
||||
tdb.o dump.o io.o lock.o \
|
||||
open.o traverse.o freelist.o \
|
||||
error.o transaction.o check.o)
|
||||
|
||||
################################################
|
||||
# Start BINARY tdbtool
|
||||
[BINARY::tdbtool]
|
||||
INSTALLDIR = BINDIR
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBTDB
|
||||
# End BINARY tdbtool
|
||||
################################################
|
||||
|
||||
tdbtool_OBJ_FILES = $(tdbsrcdir)/tools/tdbtool.o
|
||||
|
||||
################################################
|
||||
# Start BINARY tdbtorture
|
||||
[BINARY::tdbtorture]
|
||||
INSTALLDIR = BINDIR
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBTDB
|
||||
# End BINARY tdbtorture
|
||||
################################################
|
||||
|
||||
tdbtorture_OBJ_FILES = $(tdbsrcdir)/tools/tdbtorture.o
|
||||
|
||||
################################################
|
||||
# Start BINARY tdbrestore
|
||||
[BINARY::tdbrestore]
|
||||
INSTALLDIR = BINDIR
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBTDB
|
||||
# End BINARY tdbrestore
|
||||
################################################
|
||||
|
||||
################################################
|
||||
# Start BINARY tdbdump
|
||||
[BINARY::tdbdump]
|
||||
INSTALLDIR = BINDIR
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBTDB
|
||||
# End BINARY tdbdump
|
||||
################################################
|
||||
|
||||
tdbdump_OBJ_FILES = $(tdbsrcdir)/tools/tdbdump.o
|
||||
|
||||
################################################
|
||||
# Start BINARY tdbbackup
|
||||
[BINARY::tdbbackup]
|
||||
INSTALLDIR = BINDIR
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBTDB
|
||||
# End BINARY tdbbackup
|
||||
################################################
|
||||
|
||||
tdbbackup_OBJ_FILES = $(tdbsrcdir)/tools/tdbbackup.o
|
@ -1,9 +0,0 @@
|
||||
[SUBSYSTEM::TDR]
|
||||
CFLAGS = -Ilib/tdr
|
||||
PUBLIC_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL
|
||||
|
||||
TDR_OBJ_FILES = $(libtdrsrcdir)/tdr.o
|
||||
|
||||
$(eval $(call proto_header_template,$(libtdrsrcdir)/tdr_proto.h,$(TDR_OBJ_FILES:.o=.c)))
|
||||
|
||||
PUBLIC_HEADERS += $(libtdrsrcdir)/tdr.h
|
@ -1,17 +0,0 @@
|
||||
# TORTURE subsystem
|
||||
[LIBRARY::torture]
|
||||
PUBLIC_DEPENDENCIES = \
|
||||
LIBSAMBA-HOSTCONFIG \
|
||||
LIBSAMBA-UTIL \
|
||||
LIBSAMBA-ERRORS \
|
||||
LIBTALLOC \
|
||||
LIBTEVENT
|
||||
CFLAGS = -I$(libtorturesrcdir) -I$(libtorturesrcdir)/../
|
||||
|
||||
torture_VERSION = 0.0.1
|
||||
torture_SOVERSION = 0
|
||||
|
||||
PC_FILES += $(libtorturesrcdir)/torture.pc
|
||||
torture_OBJ_FILES = $(addprefix $(libtorturesrcdir)/, torture.o subunit.o)
|
||||
|
||||
PUBLIC_HEADERS += $(libtorturesrcdir)/torture.h
|
@ -1,13 +0,0 @@
|
||||
[SUBSYSTEM::LIBTSOCKET]
|
||||
PRIVATE_DEPENDENCIES = LIBREPLACE_NETWORK
|
||||
PUBLIC_DEPENDENCIES = LIBTALLOC LIBTEVENT
|
||||
|
||||
LIBTSOCKET_OBJ_FILES = $(addprefix ../lib/tsocket/, \
|
||||
tsocket.o \
|
||||
tsocket_helpers.o \
|
||||
tsocket_bsd.o)
|
||||
|
||||
PUBLIC_HEADERS += $(addprefix ../lib/tsocket/, \
|
||||
tsocket.h\
|
||||
tsocket_internal.h)
|
||||
|
@ -1,9 +0,0 @@
|
||||
##############################
|
||||
# Start SUBSYSTEM UID_WRAPPER
|
||||
[SUBSYSTEM::UID_WRAPPER]
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC
|
||||
# End SUBSYSTEM UID_WRAPPER
|
||||
##############################
|
||||
|
||||
UID_WRAPPER_OBJ_FILES = $(uidwrappersrcdir)/uid_wrapper.o
|
||||
|
@ -1,17 +0,0 @@
|
||||
AC_CACHE_CHECK([for irix specific capabilities],samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES,[
|
||||
AC_TRY_RUN([#include <sys/types.h>
|
||||
#include <sys/capability.h>
|
||||
main() {
|
||||
cap_t cap;
|
||||
if ((cap = cap_get_proc()) == NULL)
|
||||
exit(1);
|
||||
cap->cap_effective |= CAP_NETWORK_MGT;
|
||||
cap->cap_inheritable |= CAP_NETWORK_MGT;
|
||||
cap_set_proc(cap);
|
||||
exit(0);
|
||||
}
|
||||
],
|
||||
samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=yes,samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=no,samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES=cross)])
|
||||
if test x"$samba_cv_HAVE_IRIX_SPECIFIC_CAPABILITIES" = x"yes"; then
|
||||
AC_DEFINE(HAVE_IRIX_SPECIFIC_CAPABILITIES,1,[Whether IRIX specific capabilities are available])
|
||||
fi
|
@ -1,86 +0,0 @@
|
||||
dnl SMB_CHECK_ICONV(hdr, msg, action-if-found,action-if-not-found)
|
||||
AC_DEFUN(SMB_CHECK_ICONV,[
|
||||
AC_MSG_CHECKING($2)
|
||||
AC_TRY_RUN([#include <stdlib.h>
|
||||
#include <$1>
|
||||
|
||||
int main()
|
||||
{
|
||||
iconv_t cd = iconv_open("ASCII","UCS-2LE");
|
||||
if (cd == 0 || cd == (iconv_t)-1) return -1;
|
||||
return 0;
|
||||
}
|
||||
],
|
||||
[AC_MSG_RESULT(yes); $3],
|
||||
[AC_MSG_RESULT(no); $4],
|
||||
[AC_MSG_RESULT(cross); $4])
|
||||
])
|
||||
|
||||
dnl SMB_CHECK_ICONV_DIR(dir,action-if-found,action-if-not-found)
|
||||
AC_DEFUN(SMB_CHECK_ICONV_DIR,
|
||||
[
|
||||
save_CPPFLAGS="$CPPFLAGS"
|
||||
save_LDFLAGS="$LDFLAGS"
|
||||
save_LIBS="$LIBS"
|
||||
CPPFLAGS="-I$1/include"
|
||||
LDFLAGS="-L$1/lib"
|
||||
LIBS=-liconv
|
||||
|
||||
SMB_CHECK_ICONV(iconv.h,Whether iconv.h is present,[ AC_DEFINE(HAVE_ICONV_H,1,[Whether iconv.h is present]) $2 ], [
|
||||
LIBS=-lgiconv
|
||||
SMB_CHECK_ICONV(giconv.h,Whether giconv.h is present, [AC_DEFINE(HAVE_GICONV_H,1,[Whether giconv.h is present]) $2],[$3])
|
||||
])
|
||||
|
||||
CPPFLAGS="$save_CPPFLAGS"
|
||||
LDFLAGS="$save_LDFLAGS"
|
||||
LIBS="$save_LIBS"
|
||||
])
|
||||
|
||||
ICONV_FOUND=no
|
||||
LOOK_DIRS="/usr /usr/local /sw"
|
||||
AC_ARG_WITH(libiconv,
|
||||
[ --with-libiconv=BASEDIR Use libiconv in BASEDIR/lib and BASEDIR/include (default=auto) ],
|
||||
[
|
||||
if test "$withval" = "no" ; then
|
||||
AC_MSG_ERROR(I won't take no for an answer)
|
||||
else
|
||||
if test "$withval" != "yes" ; then
|
||||
SMB_CHECK_ICONV_DIR($withval, [
|
||||
ICONV_FOUND=yes;
|
||||
ICONV_CPPFLAGS="$CPPFLAGS"
|
||||
ICONV_LIBS="$LIBS"
|
||||
ICONV_LDFLAGS="$LDFLAGS"
|
||||
], [AC_MSG_ERROR([No iconv library found in $withval])])
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
if test x$ICONV_FOUND = xno; then
|
||||
SMB_CHECK_ICONV(iconv.h,
|
||||
[Whether iconv.h is present],
|
||||
[AC_DEFINE(HAVE_ICONV_H,1,[Whether iconv.h is present]) ICONV_FOUND=yes])
|
||||
fi
|
||||
|
||||
for i in $LOOK_DIRS ; do
|
||||
if test x$ICONV_FOUND = xyes; then
|
||||
break
|
||||
fi
|
||||
|
||||
SMB_CHECK_ICONV_DIR($i, [
|
||||
ICONV_FOUND=yes
|
||||
ICONV_CPPFLAGS="$CPPFLAGS"
|
||||
ICONV_LIBS="$LIBS"
|
||||
ICONV_LDFLAGS="$LDFLAGS"
|
||||
], [])
|
||||
done
|
||||
|
||||
if test x"$ICONV_FOUND" = x"no"; then
|
||||
AC_MSG_WARN([Sufficient support for iconv function was not found.
|
||||
Install libiconv from http://www.gnu.org/software/libiconv/ for better charset compatibility!])
|
||||
SMB_ENABLE(ICONV,NO)
|
||||
else
|
||||
AC_DEFINE(HAVE_NATIVE_ICONV,1,[Whether external iconv is available])
|
||||
SMB_ENABLE(ICONV,YES)
|
||||
fi
|
||||
|
||||
SMB_EXT_LIB(ICONV,[${ICONV_LIBS}],[${ICONV_CFLAGS}],[${ICONV_CPPFLAGS}],[${ICONV_LDFLAGS}])
|
@ -1,11 +0,0 @@
|
||||
################################################
|
||||
# Start SUBSYSTEM CHARSET
|
||||
[SUBSYSTEM::CHARSET]
|
||||
PUBLIC_DEPENDENCIES = ICONV
|
||||
PRIVATE_DEPENDENCIES = DYNCONFIG
|
||||
# End SUBSYSTEM CHARSET
|
||||
################################################
|
||||
|
||||
CHARSET_OBJ_FILES = $(addprefix $(libcharsetsrcdir)/, iconv.o charcnv.o util_unistr.o codepoints.o)
|
||||
|
||||
PUBLIC_HEADERS += $(libcharsetsrcdir)/charset.h
|
@ -1,98 +0,0 @@
|
||||
[LIBRARY::LIBSAMBA-UTIL]
|
||||
PUBLIC_DEPENDENCIES = \
|
||||
LIBTALLOC LIBCRYPTO \
|
||||
SOCKET_WRAPPER LIBREPLACE_NETWORK \
|
||||
CHARSET EXECINFO UID_WRAPPER
|
||||
|
||||
LIBSAMBA-UTIL_VERSION = 0.0.1
|
||||
LIBSAMBA-UTIL_SOVERSION = 0
|
||||
|
||||
LIBSAMBA-UTIL_OBJ_FILES = $(addprefix $(libutilsrcdir)/, \
|
||||
xfile.o \
|
||||
debug.o \
|
||||
fault.o \
|
||||
signal.o \
|
||||
system.o \
|
||||
time.o \
|
||||
genrand.o \
|
||||
dprintf.o \
|
||||
util_str.o \
|
||||
rfc1738.o \
|
||||
substitute.o \
|
||||
util_strlist.o \
|
||||
util_file.o \
|
||||
data_blob.o \
|
||||
util.o \
|
||||
blocking.o \
|
||||
util_net.o \
|
||||
fsusage.o \
|
||||
ms_fnmatch.o \
|
||||
mutex.o \
|
||||
idtree.o \
|
||||
become_daemon.o \
|
||||
rbtree.o \
|
||||
talloc_stack.o \
|
||||
smb_threads.o \
|
||||
params.o \
|
||||
parmlist.o \
|
||||
util_id.o
|
||||
select.o)
|
||||
|
||||
PUBLIC_HEADERS += $(addprefix $(libutilsrcdir)/, util.h \
|
||||
dlinklist.h \
|
||||
attr.h \
|
||||
byteorder.h \
|
||||
data_blob.h \
|
||||
debug.h \
|
||||
memory.h \
|
||||
mutex.h \
|
||||
safe_string.h \
|
||||
time.h \
|
||||
util_ldb.h \
|
||||
talloc_stack.h \
|
||||
tevent_ntstatus.h \
|
||||
tevent_unix.h \
|
||||
xfile.h)
|
||||
|
||||
[SUBSYSTEM::ASN1_UTIL]
|
||||
|
||||
ASN1_UTIL_OBJ_FILES = $(libutilsrcdir)/asn1.o
|
||||
|
||||
[SUBSYSTEM::UNIX_PRIVS]
|
||||
PRIVATE_DEPENDENCIES = UID_WRAPPER
|
||||
|
||||
UNIX_PRIVS_OBJ_FILES = $(libutilsrcdir)/unix_privs.o
|
||||
|
||||
$(eval $(call proto_header_template,$(libutilsrcdir)/unix_privs.h,$(UNIX_PRIVS_OBJ_FILES:.o=.c)))
|
||||
|
||||
################################################
|
||||
# Start SUBSYSTEM WRAP_XATTR
|
||||
[SUBSYSTEM::WRAP_XATTR]
|
||||
PUBLIC_DEPENDENCIES = XATTR
|
||||
#
|
||||
# End SUBSYSTEM WRAP_XATTR
|
||||
################################################
|
||||
|
||||
WRAP_XATTR_OBJ_FILES = $(libutilsrcdir)/wrap_xattr.o
|
||||
|
||||
[SUBSYSTEM::UTIL_TDB]
|
||||
PUBLIC_DEPENDENCIES = LIBTDB
|
||||
|
||||
UTIL_TDB_OBJ_FILES = $(libutilsrcdir)/util_tdb.o
|
||||
|
||||
[SUBSYSTEM::UTIL_TEVENT]
|
||||
PUBLIC_DEPENDENCIES = LIBTEVENT
|
||||
|
||||
UTIL_TEVENT_OBJ_FILES = $(addprefix $(libutilsrcdir)/, \
|
||||
tevent_unix.o \
|
||||
tevent_ntstatus.o)
|
||||
|
||||
[SUBSYSTEM::UTIL_LDB]
|
||||
PUBLIC_DEPENDENCIES = LIBLDB
|
||||
|
||||
UTIL_LDB_OBJ_FILES = $(libutilsrcdir)/util_ldb.o
|
||||
|
||||
[SUBSYSTEM::UTIL_RUNCMD]
|
||||
PUBLIC_DEPENDENCIES = LIBTEVENT
|
||||
|
||||
UTIL_RUNCMD_OBJ_FILES = $(libutilsrcdir)/util_runcmd.o
|
@ -1,18 +0,0 @@
|
||||
AC_CHECK_HEADERS(execinfo.h)
|
||||
AC_SEARCH_LIBS_EXT(backtrace, [execinfo], EXECINFO_LIBS)
|
||||
AC_CHECK_FUNC_EXT(backtrace, $EXECINFO_LIBS)
|
||||
|
||||
|
||||
if test x"$ac_cv_header_execinfo_h" = x"yes" -a x"$ac_cv_func_ext_backtrace" = x"yes";then
|
||||
SMB_ENABLE(EXECINFO, YES)
|
||||
EXECINFO_CFLAGS="$CFLAGS"
|
||||
EXECINFO_CPPFLAGS="$CPPFLAGS"
|
||||
EXECINFO_LDFLAGS="$LDFLAGS"
|
||||
LIB_REMOVE_USR_LIB(EXECINFO_LDFLAGS)
|
||||
CFLAGS_REMOVE_USR_INCLUDE(EXECINFO_CFLAGS)
|
||||
CFLAGS_REMOVE_USR_INCLUDE(EXECINFO_CPPFLAGS)
|
||||
else
|
||||
SMB_ENABLE(EXECINFO,NO)
|
||||
fi
|
||||
|
||||
SMB_EXT_LIB(EXECINFO, [${EXECINFO_LIBS}], [${EXECINFO_CFLAGS}], [${EXECINFO_CPPFLAGS}], [${EXECINFO_LDFLAGS}])
|
@ -1,200 +0,0 @@
|
||||
#################################################
|
||||
# these tests are taken from the GNU fileutils package
|
||||
AC_CHECKING(how to get filesystem space usage)
|
||||
AC_CHECK_HEADERS(sys/statfs.h sys/statvfs.h sys/vfs.h)
|
||||
|
||||
AC_CHECK_HEADERS(sys/mount.h, , , [AC_INCLUDES_DEFAULT
|
||||
#ifdef HAVE_SYS_PARAM_H
|
||||
#include <sys/param.h>
|
||||
#endif])
|
||||
|
||||
space=no
|
||||
|
||||
# Test for statvfs64.
|
||||
if test $space = no; then
|
||||
# SVR4
|
||||
AC_CACHE_CHECK([statvfs64 function (SVR4)], fu_cv_sys_stat_statvfs64,
|
||||
[AC_TRY_RUN([
|
||||
#if defined(HAVE_UNISTD_H)
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <sys/types.h>
|
||||
#include <sys/statvfs.h>
|
||||
main ()
|
||||
{
|
||||
struct statvfs64 fsd;
|
||||
exit (statvfs64 (".", &fsd));
|
||||
}],
|
||||
fu_cv_sys_stat_statvfs64=yes,
|
||||
fu_cv_sys_stat_statvfs64=no,
|
||||
fu_cv_sys_stat_statvfs64=cross)])
|
||||
if test $fu_cv_sys_stat_statvfs64 = yes; then
|
||||
space=yes
|
||||
AC_DEFINE(STAT_STATVFS64,1,[Whether statvfs64() is available])
|
||||
fi
|
||||
fi
|
||||
|
||||
# Perform only the link test since it seems there are no variants of the
|
||||
# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)
|
||||
# because that got a false positive on SCO OSR5. Adding the declaration
|
||||
# of a `struct statvfs' causes this test to fail (as it should) on such
|
||||
# systems. That system is reported to work fine with STAT_STATFS4 which
|
||||
# is what it gets when this test fails.
|
||||
if test $space = no; then
|
||||
# SVR4
|
||||
AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
|
||||
[AC_TRY_LINK([#include <sys/types.h>
|
||||
#include <sys/statvfs.h>],
|
||||
[struct statvfs fsd; statvfs (0, &fsd);],
|
||||
fu_cv_sys_stat_statvfs=yes,
|
||||
fu_cv_sys_stat_statvfs=no)])
|
||||
if test $fu_cv_sys_stat_statvfs = yes; then
|
||||
space=yes
|
||||
AC_DEFINE(STAT_STATVFS,1,[Whether statvfs() is available])
|
||||
fi
|
||||
fi
|
||||
|
||||
# fsusage.c assumes that statvfs has an f_frsize entry. Some weird
|
||||
# systems use f_bsize.
|
||||
AC_CACHE_CHECK([that statvfs.f_frsize works],samba_cv_frsize, [
|
||||
AC_TRY_COMPILE([#include <sys/types.h>
|
||||
#include <sys/statvfs.h>],[struct statvfs buf; buf.f_frsize = 0],
|
||||
samba_cv_frsize=yes,samba_cv_frsize=no)])
|
||||
if test x"$samba_cv_frsize" = x"yes"; then
|
||||
AC_DEFINE(HAVE_FRSIZE, 1, [Whether statvfs.f_frsize exists])
|
||||
fi
|
||||
|
||||
if test $space = no; then
|
||||
# DEC Alpha running OSF/1
|
||||
AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
|
||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
|
||||
[AC_TRY_RUN([
|
||||
#include <sys/param.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/mount.h>
|
||||
main ()
|
||||
{
|
||||
struct statfs fsd;
|
||||
fsd.f_fsize = 0;
|
||||
exit (statfs (".", &fsd, sizeof (struct statfs)));
|
||||
}],
|
||||
fu_cv_sys_stat_statfs3_osf1=yes,
|
||||
fu_cv_sys_stat_statfs3_osf1=no,
|
||||
fu_cv_sys_stat_statfs3_osf1=no)])
|
||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
|
||||
if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
|
||||
space=yes
|
||||
AC_DEFINE(STAT_STATFS3_OSF1,1,[Whether statfs requires 3 arguments])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $space = no; then
|
||||
# AIX
|
||||
AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
|
||||
member (AIX, 4.3BSD)])
|
||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
|
||||
[AC_TRY_RUN([
|
||||
#ifdef HAVE_SYS_PARAM_H
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_MOUNT_H
|
||||
#include <sys/mount.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_VFS_H
|
||||
#include <sys/vfs.h>
|
||||
#endif
|
||||
main ()
|
||||
{
|
||||
struct statfs fsd;
|
||||
fsd.f_bsize = 0;
|
||||
exit (statfs (".", &fsd));
|
||||
}],
|
||||
fu_cv_sys_stat_statfs2_bsize=yes,
|
||||
fu_cv_sys_stat_statfs2_bsize=no,
|
||||
fu_cv_sys_stat_statfs2_bsize=no)])
|
||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
|
||||
if test $fu_cv_sys_stat_statfs2_bsize = yes; then
|
||||
space=yes
|
||||
AC_DEFINE(STAT_STATFS2_BSIZE,1,[Whether statfs requires two arguments and struct statfs has bsize property])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $space = no; then
|
||||
# SVR3
|
||||
AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
|
||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
|
||||
[AC_TRY_RUN([#include <sys/types.h>
|
||||
#include <sys/statfs.h>
|
||||
main ()
|
||||
{
|
||||
struct statfs fsd;
|
||||
exit (statfs (".", &fsd, sizeof fsd, 0));
|
||||
}],
|
||||
fu_cv_sys_stat_statfs4=yes,
|
||||
fu_cv_sys_stat_statfs4=no,
|
||||
fu_cv_sys_stat_statfs4=no)])
|
||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
|
||||
if test $fu_cv_sys_stat_statfs4 = yes; then
|
||||
space=yes
|
||||
AC_DEFINE(STAT_STATFS4,1,[Whether statfs requires 4 arguments])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $space = no; then
|
||||
# 4.4BSD and NetBSD
|
||||
AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
|
||||
member (4.4BSD and NetBSD)])
|
||||
AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
|
||||
[AC_TRY_RUN([#include <sys/types.h>
|
||||
#ifdef HAVE_SYS_PARAM_H
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_MOUNT_H
|
||||
#include <sys/mount.h>
|
||||
#endif
|
||||
main ()
|
||||
{
|
||||
struct statfs fsd;
|
||||
fsd.f_fsize = 0;
|
||||
exit (statfs (".", &fsd));
|
||||
}],
|
||||
fu_cv_sys_stat_statfs2_fsize=yes,
|
||||
fu_cv_sys_stat_statfs2_fsize=no,
|
||||
fu_cv_sys_stat_statfs2_fsize=no)])
|
||||
AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
|
||||
if test $fu_cv_sys_stat_statfs2_fsize = yes; then
|
||||
space=yes
|
||||
AC_DEFINE(STAT_STATFS2_FSIZE,1,[Whether statfs requires 2 arguments and struct statfs has fsize])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test $space = no; then
|
||||
# Ultrix
|
||||
AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
|
||||
AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
|
||||
[AC_TRY_RUN([#include <sys/types.h>
|
||||
#ifdef HAVE_SYS_PARAM_H
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_MOUNT_H
|
||||
#include <sys/mount.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_FS_TYPES_H
|
||||
#include <sys/fs_types.h>
|
||||
#endif
|
||||
main ()
|
||||
{
|
||||
struct fs_data fsd;
|
||||
/* Ultrix's statfs returns 1 for success,
|
||||
0 for not mounted, -1 for failure. */
|
||||
exit (statfs (".", &fsd) != 1);
|
||||
}],
|
||||
fu_cv_sys_stat_fs_data=yes,
|
||||
fu_cv_sys_stat_fs_data=no,
|
||||
fu_cv_sys_stat_fs_data=no)])
|
||||
AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
|
||||
if test $fu_cv_sys_stat_fs_data = yes; then
|
||||
space=yes
|
||||
AC_DEFINE(STAT_STATFS2_FS_DATA,1,[Whether statfs requires 2 arguments and struct fs_data is available])
|
||||
fi
|
||||
fi
|
@ -1 +0,0 @@
|
||||
AC_CHECK_FUNCS(sigprocmask sigblock sigaction)
|
@ -1 +0,0 @@
|
||||
AC_CHECK_FUNCS(setsid)
|
@ -1,32 +0,0 @@
|
||||
dnl ############################################
|
||||
dnl use flistxattr as the key function for having
|
||||
dnl sufficient xattr support for posix xattr backend
|
||||
AC_CHECK_HEADERS(sys/attributes.h attr/xattr.h sys/xattr.h)
|
||||
AC_SEARCH_LIBS_EXT(flistxattr, [attr], XATTR_LIBS)
|
||||
AC_CHECK_FUNC_EXT(flistxattr, $XATTR_LIBS)
|
||||
SMB_EXT_LIB(XATTR,[${XATTR_LIBS}],[${XATTR_CFLAGS}],[${XATTR_CPPFLAGS}],[${XATTR_LDFLAGS}])
|
||||
if test x"$ac_cv_func_ext_flistxattr" = x"yes"; then
|
||||
AC_CACHE_CHECK([whether xattr interface takes additional options], smb_attr_cv_xattr_add_opt,
|
||||
[old_LIBS=$LIBS
|
||||
LIBS="$LIBS $XATTRLIBS"
|
||||
AC_TRY_COMPILE([
|
||||
#include <sys/types.h>
|
||||
#if HAVE_ATTR_XATTR_H
|
||||
#include <attr/xattr.h>
|
||||
#elif HAVE_SYS_XATTR_H
|
||||
#include <sys/xattr.h>
|
||||
#endif
|
||||
#ifndef NULL
|
||||
#define NULL ((void *)0)
|
||||
#endif
|
||||
],[
|
||||
getxattr(NULL, NULL, NULL, 0, 0, 0);
|
||||
],smb_attr_cv_xattr_add_opt=yes,smb_attr_cv_xattr_add_opt=no)
|
||||
LIBS=$old_LIBS])
|
||||
if test x"$smb_attr_cv_xattr_add_opt" = x"yes"; then
|
||||
AC_DEFINE(XATTR_ADDITIONAL_OPTIONS, 1, [xattr functions have additional options])
|
||||
fi
|
||||
AC_DEFINE(HAVE_XATTR_SUPPORT,1,[Whether we have xattr support])
|
||||
SMB_ENABLE(XATTR,YES)
|
||||
fi
|
||||
|
@ -1,26 +0,0 @@
|
||||
[SUBSYSTEM::ntlm_check]
|
||||
PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
|
||||
|
||||
ntlm_check_OBJ_FILES = $(addprefix $(libclicommonsrcdir)/auth/, ntlm_check.o)
|
||||
|
||||
[SUBSYSTEM::MSRPC_PARSE]
|
||||
|
||||
MSRPC_PARSE_OBJ_FILES = $(addprefix $(libclicommonsrcdir)/auth/, msrpc_parse.o)
|
||||
|
||||
[SUBSYSTEM::LIBCLI_AUTH]
|
||||
PUBLIC_DEPENDENCIES = \
|
||||
MSRPC_PARSE \
|
||||
LIBSAMBA-HOSTCONFIG
|
||||
|
||||
LIBCLI_AUTH_OBJ_FILES = $(addprefix $(libclicommonsrcdir)/auth/, \
|
||||
credentials.o \
|
||||
session.o \
|
||||
smbencrypt.o \
|
||||
smbdes.o)
|
||||
|
||||
PUBLIC_HEADERS += ../libcli/auth/credentials.h
|
||||
|
||||
[SUBSYSTEM::COMMON_SCHANNELDB]
|
||||
PRIVATE_DEPENDENCIES = TDB_WRAP
|
||||
|
||||
COMMON_SCHANNELDB_OBJ_FILES = $(addprefix $(libclicommonsrcdir)/auth/, schannel_state_tdb.o)
|
@ -1,7 +0,0 @@
|
||||
[SUBSYSTEM::LIBCLI_CLDAP]
|
||||
PUBLIC_DEPENDENCIES = LIBCLI_LDAP
|
||||
PRIVATE_DEPENDENCIES = LIBTSOCKET LIBSAMBA-UTIL UTIL_TEVENT LIBLDB LIBCLI_NETLOGON
|
||||
|
||||
LIBCLI_CLDAP_OBJ_FILES = ../libcli/cldap/cldap.o
|
||||
# PUBLIC_HEADERS += ../libcli/cldap/cldap.h
|
||||
|
@ -1,6 +0,0 @@
|
||||
[SUBSYSTEM::LIBCLI_DRSUAPI]
|
||||
PUBLIC_DEPENDENCIES = \
|
||||
LIBCLI_AUTH
|
||||
|
||||
LIBCLI_DRSUAPI_OBJ_FILES = $(addprefix $(libclicommonsrcdir)/drsuapi/, \
|
||||
repl_decrypt.o)
|
@ -1,15 +0,0 @@
|
||||
[SUBSYSTEM::LIBCLI_LDAP_MESSAGE]
|
||||
PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBTALLOC LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL ASN1_UTIL
|
||||
|
||||
LIBCLI_LDAP_MESSAGE_OBJ_FILES = $(addprefix ../libcli/ldap/, \
|
||||
ldap_message.o)
|
||||
PUBLIC_HEADERS += ../libcli/ldap/ldap_message.h ../libcli/ldap/ldap_errors.h
|
||||
|
||||
[SUBSYSTEM::LIBCLI_LDAP_NDR]
|
||||
PUBLIC_DEPENDENCIES = LIBSAMBA-ERRORS LIBTALLOC
|
||||
PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBLDB NDR_MISC NDR_SECURITY
|
||||
|
||||
LIBCLI_LDAP_NDR_OBJ_FILES = ../libcli/ldap/ldap_ndr.o
|
||||
PUBLIC_HEADERS += ../libcli/ldap/ldap_ndr.h
|
||||
|
@ -1,4 +0,0 @@
|
||||
[SUBSYSTEM::NAMED_PIPE_AUTH_TSTREAM]
|
||||
PUBLIC_DEPENDENCIES = NDR_NAMED_PIPE_AUTH TEVENT TSOCKET
|
||||
|
||||
NAMED_PIPE_AUTH_TSTREAM_OBJ_FILES = ../libcli/named_pipe_auth/npa_tstream.o
|
@ -1,51 +0,0 @@
|
||||
[SUBSYSTEM::NDR_NBT_BUF]
|
||||
|
||||
NDR_NBT_BUF_OBJ_FILES = $(libclinbtsrcdir)/nbtname.o
|
||||
|
||||
$(eval $(call proto_header_template,$(libclinbtsrcdir)/nbtname.h,$(NDR_NBT_BUF_OBJ_FILES:.o=.c)))
|
||||
|
||||
[SUBSYSTEM::LIBCLI_NBT]
|
||||
PUBLIC_DEPENDENCIES = LIBNDR NDR_NBT LIBCLI_COMPOSITE LIBEVENTS \
|
||||
NDR_SECURITY samba_socket LIBSAMBA-UTIL
|
||||
|
||||
LIBCLI_NBT_OBJ_FILES = $(addprefix $(libclinbtsrcdir)/, \
|
||||
lmhosts.o \
|
||||
dns_hosts_file.o \
|
||||
nbtsocket.o \
|
||||
namequery.o \
|
||||
nameregister.o \
|
||||
namerefresh.o \
|
||||
namerelease.o)
|
||||
|
||||
[BINARY::nmblookup]
|
||||
INSTALLDIR = BINDIR
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBSAMBA-HOSTCONFIG \
|
||||
LIBSAMBA-UTIL \
|
||||
LIBCLI_NBT \
|
||||
LIBPOPT \
|
||||
POPT_SAMBA \
|
||||
LIBNETIF \
|
||||
LIBCLI_RESOLVE
|
||||
|
||||
nmblookup_OBJ_FILES = $(libclinbtsrcdir)/tools/nmblookup.o
|
||||
MANPAGES += $(libclinbtsrcdir)/man/nmblookup.1
|
||||
|
||||
[SUBSYSTEM::LIBCLI_NDR_NETLOGON]
|
||||
PUBLIC_DEPENDENCIES = LIBNDR \
|
||||
NDR_SECURITY
|
||||
|
||||
LIBCLI_NDR_NETLOGON_OBJ_FILES = $(addprefix $(libclinbtsrcdir)/../, ndr_netlogon.o)
|
||||
|
||||
[SUBSYSTEM::LIBCLI_NETLOGON]
|
||||
PUBLIC_DEPENDENCIES = LIBSAMBA-UTIL LIBCLI_NDR_NETLOGON
|
||||
|
||||
LIBCLI_NETLOGON_OBJ_FILES = $(addprefix $(libclinbtsrcdir)/, \
|
||||
../netlogon.o)
|
||||
|
||||
[PYTHON::python_netbios]
|
||||
LIBRARY_REALNAME = samba/netbios.$(SHLIBEXT)
|
||||
PUBLIC_DEPENDENCIES = LIBCLI_NBT DYNCONFIG LIBSAMBA-HOSTCONFIG
|
||||
|
||||
python_netbios_OBJ_FILES = $(libclinbtsrcdir)/pynbt.o
|
||||
|
@ -1,6 +0,0 @@
|
||||
[SUBSYSTEM::LIBCLI_SAMSYNC]
|
||||
PUBLIC_DEPENDENCIES = \
|
||||
LIBCLI_AUTH
|
||||
|
||||
LIBCLI_SAMSYNC_OBJ_FILES = $(addprefix $(libclicommonsrcdir)/samsync/, \
|
||||
decrypt.o)
|
@ -1,5 +0,0 @@
|
||||
[SUBSYSTEM::LIBSECURITY_COMMON]
|
||||
PRIVATE_DEPENDENCIES = TALLOC
|
||||
|
||||
LIBSECURITY_COMMON_OBJ_FILES = $(addprefix $(libclicommonsrcdir)/security/, \
|
||||
dom_sid.o display_sec.o secace.o secacl.o security_descriptor.o sddl.o)
|
@ -1,11 +0,0 @@
|
||||
# common SMB and SMB2 stuff
|
||||
[SUBSYSTEM::LIBCLI_SMB_COMMON]
|
||||
PUBLIC_DEPENDENCIES = LIBTALLOC
|
||||
|
||||
LIBCLI_SMB_COMMON_OBJ_FILES = $(addprefix ../libcli/smb/, \
|
||||
smb2_create_blob.o)
|
||||
|
||||
$(eval $(call proto_header_template, \
|
||||
../libcli/smb/smb_common_proto.h, \
|
||||
$(LIBCLI_SMB_COMMON_OBJ_FILES:.o=.c)))
|
||||
|
@ -1,96 +0,0 @@
|
||||
###############################################
|
||||
# Readline included by default unless explicitly asked not to
|
||||
test "${with_readline+set}" != "set" && with_readline=yes
|
||||
|
||||
EXTERNAL_READLINE=no
|
||||
# test for where we get readline() from
|
||||
AC_MSG_CHECKING(whether to use readline)
|
||||
AC_ARG_WITH(readline,
|
||||
[AS_HELP_STRING([--with-readline[=DIR]], [Look for readline include/libs in DIR (default=auto)])],
|
||||
[ case "$with_readline" in
|
||||
yes)
|
||||
AC_MSG_RESULT(yes)
|
||||
|
||||
AC_CHECK_HEADERS(readline.h history.h readline/readline.h)
|
||||
AC_CHECK_HEADERS(readline/history.h)
|
||||
|
||||
AC_CHECK_HEADERS(readline.h readline/readline.h,[
|
||||
for termlib in ncurses curses termcap terminfo termlib tinfo; do
|
||||
AC_CHECK_LIB(${termlib}, tgetent, [TERMLIBS="-l${termlib}"; break])
|
||||
done
|
||||
AC_CHECK_LIB(readline, rl_callback_handler_install,
|
||||
[TERMLIBS="-lreadline $TERMLIBS"
|
||||
EXTERNAL_READLINE=yes
|
||||
break], [TERMLIBS=], $TERMLIBS)])
|
||||
;;
|
||||
no)
|
||||
AC_MSG_RESULT(no)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT(yes)
|
||||
|
||||
# Needed for AC_CHECK_HEADERS and AC_CHECK_LIB to look at
|
||||
# alternate readline path
|
||||
_ldflags=${LDFLAGS}
|
||||
_cppflags=${CPPFLAGS}
|
||||
|
||||
# Add additional search path
|
||||
LDFLAGS="-L$with_readline/lib $LDFLAGS"
|
||||
CPPFLAGS="-I$with_readline/include $CPPFLAGS"
|
||||
|
||||
AC_CHECK_HEADERS(readline.h history.h readline/readline.h)
|
||||
AC_CHECK_HEADERS(readline/history.h)
|
||||
|
||||
AC_CHECK_HEADERS(readline.h readline/readline.h,[
|
||||
for termlib in ncurses curses termcap terminfo termlib; do
|
||||
AC_CHECK_LIB(${termlib}, tgetent, [TERMLIBS="-l${termlib}"; break])
|
||||
done
|
||||
AC_CHECK_LIB(readline, rl_callback_handler_install,
|
||||
[TERMLDFLAGS="-L$with_readline/lib"
|
||||
TERMCPPFLAGS="-I$with_readline/include"
|
||||
LDFLAGS="-L$with_readline/lib $LDFLAGS"
|
||||
CPPFLAGS="-I$with_readline/include $CPPFLAGS"
|
||||
TERMLIBS="-lreadline $TERMLIBS"
|
||||
EXTERNAL_READLINE=yes
|
||||
break], [TERMLIBS= CPPFLAGS=$_cppflags], $TERMLIBS)])
|
||||
|
||||
;;
|
||||
esac],
|
||||
AC_MSG_RESULT(no)
|
||||
)
|
||||
|
||||
# The readline API changed slightly from readline3 to readline4, so
|
||||
# code will generate warnings on one of them unless we have a few
|
||||
# special cases.
|
||||
AC_CHECK_LIB(readline, rl_completion_matches,
|
||||
[AC_DEFINE(HAVE_NEW_LIBREADLINE, 1,
|
||||
[Do we have rl_completion_matches?])],
|
||||
[],
|
||||
[$TERMLIBS])
|
||||
|
||||
# not all readline libs have rl_event_hook or history_list
|
||||
AC_CHECK_DECLS(rl_event_hook, [], [], [
|
||||
#include <stdio.h>
|
||||
#include <readline/readline.h>
|
||||
])
|
||||
AC_CHECK_LIB(readline, history_list,
|
||||
[AC_DEFINE(HAVE_HISTORY_LIST, 1, [Do we have history_list?])],
|
||||
[],
|
||||
[$TERMLIBS])
|
||||
|
||||
AC_CHECK_LIB(readline, add_history,
|
||||
[AC_DEFINE(HAVE_ADD_HISTORY, 1, [Do we have add_history?])],
|
||||
[],
|
||||
[$TERMLIBS])
|
||||
|
||||
AC_MSG_CHECKING(whether to use extern readline)
|
||||
if test x"$EXTERNAL_READLINE" = x"yes"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_LIBREADLINE,1,[Whether the system has readline])
|
||||
SMB_SUBSYSTEM(SMBREADLINE, [\$(smbreadlinesrcdir)/smbreadline.o], [READLINE])
|
||||
SMB_EXT_LIB(READLINE, [${TERMLIBS}])
|
||||
SMB_ENABLE(READLINE,YES)
|
||||
else
|
||||
SMB_SUBSYSTEM(SMBREADLINE, [\$(smbreadlinesrcdir)/smbreadline.o], [])
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
@ -1,7 +0,0 @@
|
||||
[SUBSYSTEM::LIBGPO]
|
||||
PRIVATE_DEPENDENCIES = LIBLDB LIBSAMBA-NET
|
||||
|
||||
LIBGPO_OBJ_FILES = ../libgpo/gpo_util.o ../libgpo/gpo_sec.o \
|
||||
../libgpo/gpext/gpext.o \
|
||||
../libgpo/gpo_fetch.o ../libgpo/gpo_ini.o \
|
||||
$(libgpodir)/ads_convenience.o $(libgpodir)/gpo_filesync.o
|
@ -1,46 +0,0 @@
|
||||
######
|
||||
AC_CHECK_HEADERS(nss.h nss_common.h ns_api.h )
|
||||
|
||||
case "$host_os" in
|
||||
*linux*)
|
||||
if test x"$MERGED_BUILD" != x"1"; then
|
||||
SMB_BUILD_LIBRARY(nss_winbind,
|
||||
[../nsswitch/winbind_nss_linux.o],
|
||||
[LIBWINBIND-CLIENT])
|
||||
SMB_MAKE_SETTINGS([nss_winbind_VERSION = 2])
|
||||
SMB_MAKE_SETTINGS([nss_winbind_SOVERSION = 2])
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
#####
|
||||
|
||||
#####
|
||||
#All the pam requirement tests are regrouped here
|
||||
#It is mandatory not to remove them otherwise it will break badly the source4/auth part
|
||||
AC_CHECK_HEADERS(security/pam_appl.h)
|
||||
AC_CHECK_LIB_EXT(pam, PAM_LIBS, pam_start)
|
||||
# This part is need for the compilation
|
||||
AC_CHECK_HEADERS(security/pam_modules.h pam/pam_modules.h,,,[[
|
||||
#if HAVE_SECURITY_PAM_APPL_H
|
||||
#include <security/pam_appl.h>
|
||||
#endif
|
||||
#if HAVE_PAM_PAM_APPL_H
|
||||
#include <pam/pam_appl.h>
|
||||
#endif
|
||||
]])
|
||||
|
||||
SMB_EXT_LIB(PAM, $PAM_LIBS)
|
||||
|
||||
if test x"$ac_cv_header_security_pam_appl_h" = x"yes" -a x"$ac_cv_lib_ext_pam_pam_start" = x"yes";then
|
||||
SMB_ENABLE(PAM,YES)
|
||||
if test x"$MERGED_BUILD" != x"1"; then
|
||||
SMB_BUILD_LIBRARY(pam_winbind,[../nsswitch/pam_winbind.o],
|
||||
[LIBWBCLIENT LIBWINBIND-CLIENT LIBINIPARSER PAM],
|
||||
[-DLOCALEDIR=\\\"${datarootdir}/locale\\\"],
|
||||
[],
|
||||
[../nsswitch/pam_winbind.\$(SHLIBEXT)])
|
||||
fi
|
||||
fi
|
||||
#####
|
@ -1,41 +0,0 @@
|
||||
[SUBSYSTEM::LIBWINBIND-CLIENT]
|
||||
|
||||
LIBWINBIND-CLIENT_OBJ_FILES = $(nsswitchsrcdir)/wb_common.o
|
||||
$(LIBWINBIND-CLIENT_OBJ_FILES): CFLAGS+=-DWINBINDD_SOCKET_DIR=\"$(winbindd_socket_dir)\" -DSOCKET_WRAPPER_DISABLE=1
|
||||
|
||||
#################################
|
||||
# Start BINARY nsstest
|
||||
[BINARY::nsstest]
|
||||
INSTALLDIR = BINDIR
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBSAMBA-UTIL \
|
||||
LIBREPLACE_EXT \
|
||||
LIBSAMBA-HOSTCONFIG \
|
||||
NSS_WRAPPER
|
||||
# End BINARY nsstest
|
||||
#################################
|
||||
|
||||
nsstest_OBJ_FILES = $(nsswitchsrcdir)/nsstest.o
|
||||
|
||||
#################################
|
||||
# Start BINARY wbinfo
|
||||
[BINARY::wbinfo]
|
||||
INSTALLDIR = BINDIR
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBSAMBA-UTIL \
|
||||
LIBREPLACE_EXT \
|
||||
LIBCLI_AUTH \
|
||||
LIBPOPT \
|
||||
POPT_SAMBA \
|
||||
LIBWINBIND-CLIENT \
|
||||
LIBWBCLIENT \
|
||||
LIBTEVENT \
|
||||
UTIL_TEVENT \
|
||||
LIBASYNC_REQ \
|
||||
UID_WRAPPER
|
||||
# End BINARY nsstest
|
||||
#################################
|
||||
|
||||
wbinfo_OBJ_FILES = \
|
||||
$(nsswitchsrcdir)/wbinfo.o
|
||||
$(wbinfo_OBJ_FILES): CFLAGS+=-DWINBINDD_SOCKET_DIR=\"$(winbindd_socket_dir)\"
|
@ -1,10 +0,0 @@
|
||||
[SUBSYSTEM::LIBWBCLIENT]
|
||||
PUBLIC_DEPENDENCIES = LIBTALLOC
|
||||
|
||||
LIBWBCLIENT_OBJ_FILES = $(addprefix $(libwbclientsrcdir)/, wbc_guid.o \
|
||||
wbc_idmap.o \
|
||||
wbclient.o \
|
||||
wbc_pam.o \
|
||||
wbc_pwd.o \
|
||||
wbc_sid.o \
|
||||
wbc_util.o )
|
@ -1,8 +0,0 @@
|
||||
case "$host_os" in
|
||||
*linux*)
|
||||
SMB_ENABLE(nsstest,YES)
|
||||
;;
|
||||
*)
|
||||
SMB_ENABLE(nsstest,NO)
|
||||
;;
|
||||
esac
|
@ -1,9 +0,0 @@
|
||||
# Check whether ExtUtils::ExtMaker is available
|
||||
|
||||
if perl -e "use ExtUtils::MakeMaker" 2>/dev/null; then
|
||||
HAVE_PERL_EXTUTILS_MAKEMAKER=1
|
||||
else
|
||||
HAVE_PERL_EXTUTILS_MAKEMAKER=0
|
||||
fi
|
||||
|
||||
AC_SUBST(HAVE_PERL_EXTUTILS_MAKEMAKER)
|
@ -1,34 +0,0 @@
|
||||
PIDL = $(PERL) $(pidldir)/pidl
|
||||
|
||||
$(pidldir)/Makefile: $(pidldir)/Makefile.PL
|
||||
@cd $(pidldir) && $(PERL) Makefile.PL PREFIX=$(prefix)
|
||||
|
||||
pidl-testcov: $(pidldir)/Makefile
|
||||
cd $(pidldir) && cover -test
|
||||
|
||||
installpidl:: $(pidldir)/Makefile
|
||||
@$(MAKE) -C $(pidldir) install_vendor VENDORPREFIX=$(prefix) \
|
||||
INSTALLVENDORLIB=$(datarootdir)/perl5 \
|
||||
INSTALLVENDORBIN=$(bindir) \
|
||||
INSTALLVENDORSCRIPT=$(bindir) \
|
||||
INSTALLVENDORMAN1DIR=$(mandir)/man1 \
|
||||
INSTALLVENDORMAN3DIR=$(mandir)/man3
|
||||
|
||||
ifeq ($(HAVE_PERL_EXTUTILS_MAKEMAKER),1)
|
||||
install:: installpidl
|
||||
endif
|
||||
|
||||
$(pidldir)/lib/Parse/Pidl/IDL.pm: $(pidldir)/idl.yp
|
||||
-$(YAPP) -m 'Parse::Pidl::IDL' -o $(pidldir)/lib/Parse/Pidl/IDL.pm $(pidldir)/idl.yp ||\
|
||||
touch $(pidldir)/lib/Parse/Pidl/IDL.pm
|
||||
|
||||
$(pidldir)/lib/Parse/Pidl/Expr.pm: $(pidldir)/idl.yp
|
||||
-$(YAPP) -m 'Parse::Pidl::Expr' -o $(pidldir)/lib/Parse/Pidl/Expr.pm $(pidldir)/expr.yp ||\
|
||||
touch $(pidldir)/lib/Parse/Pidl/Expr.pm
|
||||
|
||||
testcov-html:: pidl-testcov
|
||||
|
||||
pidl-clean:
|
||||
/bin/rm -f $(pidldir)/Makefile
|
||||
|
||||
clean:: pidl-clean
|
@ -1,314 +0,0 @@
|
||||
#!gmake
|
||||
# The Samba 4 Makefile.
|
||||
# This file is *NOT* autogenerated.
|
||||
#
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
default: all
|
||||
|
||||
include mkconfig.mk
|
||||
|
||||
pidldir := $(srcdir)/../pidl
|
||||
|
||||
basedir = $(prefix)
|
||||
swatdir = $(datadir)/swat
|
||||
setupdir = $(datadir)/setup
|
||||
ncalrpcdir = $(localstatedir)/ncalrpc
|
||||
shliboutputdir = $(builddir)/bin/shared
|
||||
|
||||
BNLD = $(LD)
|
||||
BNLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
|
||||
|
||||
HOSTCC_FLAGS = -D_SAMBA_HOSTCC_ $(CFLAGS)
|
||||
HOSTLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
|
||||
|
||||
$(srcdir)/version.h: $(srcdir)/VERSION
|
||||
@$(SHELL) script/mkversion.sh VERSION $(srcdir)/version.h $(srcdir)/
|
||||
|
||||
ifneq ($(automatic_dependencies),yes)
|
||||
ALL_PREDEP = basics
|
||||
.NOTPARALLEL:
|
||||
endif
|
||||
|
||||
regen_version::
|
||||
@$(SHELL) script/mkversion.sh VERSION $(srcdir)/version.h $(srcdir)/
|
||||
|
||||
clean_pch::
|
||||
@echo "Removing precompiled headers"
|
||||
@-rm -f include/includes.h.gch
|
||||
|
||||
pch:: clean_pch include/includes.h.gch
|
||||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
ifneq ($(automatic_dependencies),yes)
|
||||
ALL_PREDEP = basics
|
||||
.NOTPARALLEL:
|
||||
endif
|
||||
|
||||
base_srcdirs = $(srcdir) ../librpc/ ../lib/ ../libcli ../nsswitch ../libds
|
||||
|
||||
include $(srcdir)/build/make/rules.mk
|
||||
include $(srcdir)/build/make/python.mk
|
||||
zlibsrcdir := ../lib/zlib
|
||||
dynconfigsrcdir := dynconfig
|
||||
heimdalsrcdir := heimdal
|
||||
dsdbsrcdir := dsdb
|
||||
smbdsrcdir := smbd
|
||||
clustersrcdir := cluster
|
||||
libnetsrcdir := libnet
|
||||
authsrcdir := auth
|
||||
nsswitchsrcdir := ../nsswitch
|
||||
libwbclientsrcdir := ../nsswitch/libwbclient
|
||||
libsrcdir := lib
|
||||
libsocketsrcdir := lib/socket
|
||||
libcharsetsrcdir := ../lib/util/charset
|
||||
ldb_sambasrcdir := lib/ldb-samba
|
||||
tdbsrcdir := ../lib/tdb
|
||||
ldbsrcdir := lib/ldb
|
||||
libtlssrcdir := lib/tls
|
||||
libregistrysrcdir := lib/registry
|
||||
smbreadlinesrcdir := ../libcli/smbreadline
|
||||
libmessagingsrcdir := lib/messaging
|
||||
libteventsrcdir := ../lib/tevent
|
||||
libeventssrcdir := lib/events
|
||||
libcmdlinesrcdir := lib/cmdline
|
||||
poptsrcdir := ../lib/popt
|
||||
socketwrappersrcdir := ../lib/socket_wrapper
|
||||
nsswrappersrcdir := ../lib/nss_wrapper
|
||||
uidwrappersrcdir := ../lib/uid_wrapper
|
||||
appwebsrcdir := lib/appweb
|
||||
libstreamsrcdir := lib/stream
|
||||
libutilsrcdir := ../lib/util
|
||||
libtdrsrcdir := ../lib/tdr
|
||||
libcryptosrcdir := ../lib/crypto
|
||||
libtorturesrcdir := ../lib/torture
|
||||
smb_serversrcdir := smb_server
|
||||
libcompressionsrcdir := ../lib/compression
|
||||
libgencachesrcdir := lib
|
||||
paramsrcdir := param
|
||||
rpc_serversrcdir := rpc_server
|
||||
ldap_serversrcdir := ldap_server
|
||||
web_serversrcdir := web_server
|
||||
winbindsrcdir := winbind
|
||||
nbt_serversrcdir := nbt_server
|
||||
wrepl_serversrcdir := wrepl_server
|
||||
cldap_serversrcdir := cldap_server
|
||||
utilssrcdir := utils
|
||||
clientsrcdir := client
|
||||
torturesrcdir := torture
|
||||
ntvfssrcdir := ntvfs
|
||||
ntptrsrcdir := ntptr
|
||||
librpcsrcdir := librpc
|
||||
libclisrcdir := libcli
|
||||
libclicommonsrcdir := ../libcli
|
||||
libclinbtsrcdir := ../libcli/nbt
|
||||
pyscriptsrcdir := $(srcdir)/scripting/python
|
||||
kdcsrcdir := kdc
|
||||
ntp_signdsrcdir := ntp_signd
|
||||
wmisrcdir := lib/wmi
|
||||
tallocsrcdir := ../lib/talloc
|
||||
comsrcdir := $(srcdir)/lib/com
|
||||
policydir := lib/policy
|
||||
|
||||
include data.mk
|
||||
|
||||
$(DESTDIR)$(bindir)/%: scripting/bin/% installdirs
|
||||
@mkdir -p $(@D)
|
||||
@echo Installing $(@F) as $@
|
||||
@if test -f $@; then echo -n ""; rm -f $@.old; mv $@ $@.old; fi
|
||||
@cp $< $@
|
||||
@chmod $(INSTALLPERMS) $@
|
||||
|
||||
pythonmods:: $(PYTHON_PYS) $(PYTHON_SO)
|
||||
|
||||
DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \
|
||||
include/includes.d
|
||||
|
||||
ifeq ($(automatic_dependencies),yes)
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
ifneq ($(MAKECMDGOALS),distclean)
|
||||
ifneq ($(MAKECMDGOALS),realdistclean)
|
||||
ifneq ($(SKIP_DEP_FILES),yes)
|
||||
-include $(DEP_FILES)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(SKIP_DEP_FILES),yes)
|
||||
clean::
|
||||
@echo Removing dependency files
|
||||
@find . -name '*.d' -o -name '*.hd' | xargs rm -f
|
||||
endif
|
||||
else
|
||||
include $(srcdir)/static_deps.mk
|
||||
endif
|
||||
|
||||
clean::
|
||||
@find $(base_srcdirs) -name '*.o' -o -name '*.ho' | xargs rm -f
|
||||
|
||||
PUBLIC_HEADERS += ./version.h
|
||||
|
||||
libraries:: $(STATIC_LIBS) $(SHARED_LIBS)
|
||||
modules:: $(PLUGINS)
|
||||
headers:: $(PUBLIC_HEADERS)
|
||||
manpages:: $(MANPAGES)
|
||||
all:: showflags $(ALL_PREDEP) binaries modules pythonmods libraries headers
|
||||
everything:: all
|
||||
|
||||
LD_LIBPATH_OVERRIDE = $(LIB_PATH_VAR)=$(shliboutputdir):$$$(LIB_PATH_VAR)
|
||||
|
||||
# 'make testsuite' creates all binaries which are
|
||||
# needed by samba3's 'make test' and the build-farm
|
||||
# scripts use that it as fallback in case
|
||||
# 'make everything' fails
|
||||
testsuite:: bin/smbclient bin/cifsdd bin/smbtorture bin/nmblookup
|
||||
|
||||
showlayout::
|
||||
@echo 'Samba will be installed into:'
|
||||
@echo ' basedir: $(basedir)'
|
||||
@echo ' bindir: $(bindir)'
|
||||
@echo ' sbindir: $(sbindir)'
|
||||
@echo ' libdir: $(libdir)'
|
||||
@echo ' modulesdir: $(modulesdir)'
|
||||
@echo ' includedir: $(includedir)'
|
||||
@echo ' vardir: $(localstatedir)'
|
||||
@echo ' privatedir: $(privatedir)'
|
||||
@echo ' piddir: $(piddir)'
|
||||
@echo ' lockdir: $(lockdir)'
|
||||
@echo ' logfilebase: $(logfilebase)'
|
||||
@echo ' setupdir: $(setupdir)'
|
||||
@echo ' swatdir: $(swatdir)'
|
||||
@echo ' mandir: $(mandir)'
|
||||
@echo ' datadir: $(datadir)'
|
||||
@echo ' winbindd_socket_dir: $(winbindd_socket_dir)'
|
||||
@echo ' ntp_signd_socket_dir: $(ntp_signd_socket_dir)'
|
||||
|
||||
showflags::
|
||||
@echo ' srcdir = $(srcdir)'
|
||||
@echo ' builddir = $(builddir)'
|
||||
|
||||
# The permissions to give the executables
|
||||
INSTALLPERMS = 0755
|
||||
|
||||
install:: showlayout everything installbin installsbin installdat installmisc \
|
||||
installlib installheader installpc installplugins
|
||||
|
||||
# DESTDIR is used here to prevent packagers wasting their time
|
||||
# duplicating the Makefile. Remove it and you will have the privilege
|
||||
# of packaging each samba release for multiple versions of multiple
|
||||
# distributions and operating systems, or at least supplying patches
|
||||
# to all the packaging files required for this, prior to committing
|
||||
# the removal of DESTDIR. Do not remove it even though you think it
|
||||
# is not used.
|
||||
|
||||
installdirs::
|
||||
@$(SHELL) $(srcdir)/script/installdirs.sh \
|
||||
$(DESTDIR)$(basedir) \
|
||||
$(DESTDIR)$(bindir) \
|
||||
$(DESTDIR)$(sbindir) \
|
||||
$(DESTDIR)$(libdir) \
|
||||
$(DESTDIR)$(modulesdir) \
|
||||
$(DESTDIR)$(modulesdir)/ldb \
|
||||
$(DESTDIR)$(mandir) \
|
||||
$(DESTDIR)$(localstatedir) \
|
||||
$(DESTDIR)$(localstatedir)/lib \
|
||||
$(DESTDIR)$(localstatedir)/run \
|
||||
$(DESTDIR)$(privatedir) \
|
||||
$(DESTDIR)$(datadir) \
|
||||
$(DESTDIR)$(piddir) \
|
||||
$(DESTDIR)$(lockdir) \
|
||||
$(DESTDIR)$(logfilebase) \
|
||||
$(DESTDIR)$(privatedir)/tls \
|
||||
$(DESTDIR)$(includedir) \
|
||||
$(DESTDIR)$(pkgconfigdir) \
|
||||
$(DESTDIR)$(sysconfdir)
|
||||
|
||||
installbin:: installdirs
|
||||
|
||||
installplugins::
|
||||
|
||||
installlib:: $(SHARED_LIBS) $(STATIC_LIBS) installdirs
|
||||
@$(SHELL) $(srcdir)/script/installlib.sh $(DESTDIR)$(libdir) "$(SHLIBEXT)" $(SHARED_LIBS)
|
||||
#@$(SHELL) $(srcdir)/script/installlib.sh $(DESTDIR)$(libdir) "$(STLIBEXT)" $(STATIC_LIBS)
|
||||
|
||||
installheader:: headers installdirs
|
||||
@srcdir=$(srcdir) builddir=$(builddir) $(PERL) $(srcdir)/script/installheader.pl $(DESTDIR)$(includedir) $(PUBLIC_HEADERS)
|
||||
|
||||
installdat:: installdirs
|
||||
@$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(datadir) $(srcdir)
|
||||
|
||||
installman:: manpages installdirs
|
||||
@$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(mandir) $(MANPAGES)
|
||||
|
||||
installmisc:: installdirs
|
||||
@$(SHELL) $(srcdir)/script/installmisc.sh "$(DESTDIR)" $(srcdir) $(DESTDIR)$(setupdir) $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) $(pythondir) $(PYTHON)
|
||||
|
||||
installpc:: installdirs
|
||||
@$(SHELL) $(srcdir)/script/installpc.sh $(builddir) $(DESTDIR)$(pkgconfigdir) $(PC_FILES)
|
||||
|
||||
uninstall:: uninstallbin uninstallsbin uninstalldat uninstallmisc uninstalllib uninstallheader \
|
||||
uninstallman uninstallpc uninstallplugins
|
||||
|
||||
uninstallmisc::
|
||||
@echo "Removing MISC files"
|
||||
@rm -rf $(DESTDIR)$(setupdir)/*
|
||||
|
||||
$(DESTDIR)$(bindir)/%: bin/% installdirs
|
||||
@mkdir -p $(@D)
|
||||
@echo Installing $(@F) as $@
|
||||
@if test -f $@; then echo -n ""; rm -f $@.old; mv $@ $@.old; fi
|
||||
@cp $< $@
|
||||
@chmod $(INSTALLPERMS) $@
|
||||
|
||||
$(DESTDIR)$(sbindir)/%: bin/% installdirs
|
||||
@mkdir -p $(@D)
|
||||
@echo Installing $(@F) as $@
|
||||
@if test -f $@; then echo -n ""; rm -f $@.old; mv $@ $@.old; fi
|
||||
@cp $< $@
|
||||
@chmod $(INSTALLPERMS) $@
|
||||
|
||||
uninstalldat::
|
||||
@echo "Removing DAT files"
|
||||
@rm -fr $(DESTDIR)$(datadir)/*
|
||||
|
||||
uninstallbin::
|
||||
|
||||
uninstalllib::
|
||||
@echo "Removing libraries"
|
||||
@$(SHELL) $(srcdir)/script/uninstalllib.sh $(DESTDIR)$(libdir) $(SHARED_LIBS)
|
||||
|
||||
uninstallheader::
|
||||
@echo "Removing headers"
|
||||
@rm -fr $(DESTDIR)$(includedir)/*
|
||||
|
||||
uninstallman::
|
||||
@echo "Removing manpages"
|
||||
@$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(mandir) $(MANPAGES)
|
||||
|
||||
uninstallplugins::
|
||||
|
||||
uninstallpc::
|
||||
@echo "Removing package configurations"
|
||||
@cd $(DESTDIR)$(pkgconfigdir); rm -f $(notdir $(PC_FILES))
|
||||
|
||||
config.status:
|
||||
@echo "config.status does not exist. Please run ./configure."
|
||||
@/bin/false
|
||||
|
||||
data.mk: config.status $(MK_FILES)
|
||||
./config.status
|
||||
|
||||
testcov-html::
|
||||
|
||||
include $(pidldir)/config.mk
|
||||
selftestdir := $(srcdir)/../selftest
|
||||
include $(srcdir)/selftest/config.mk
|
||||
|
||||
showflags::
|
||||
@echo ' pwd = '`/bin/pwd`
|
||||
|
||||
Makefile: Makefile.in
|
||||
@echo "Makefile.in is newer than Makefile, please rerun ./config.status"
|
||||
@false
|
65
source4/aclocal.m4
vendored
65
source4/aclocal.m4
vendored
@ -1,65 +0,0 @@
|
||||
|
||||
dnl Copied from libtool.m4
|
||||
AC_DEFUN(AC_PROG_LD_GNU,
|
||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld,
|
||||
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
|
||||
if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
|
||||
ac_cv_prog_gnu_ld=yes
|
||||
else
|
||||
ac_cv_prog_gnu_ld=no
|
||||
fi])
|
||||
])
|
||||
|
||||
dnl Removes -I/usr/include/? from given variable
|
||||
AC_DEFUN(CFLAGS_REMOVE_USR_INCLUDE,[
|
||||
ac_new_flags=""
|
||||
for i in [$]$1; do
|
||||
case [$]i in
|
||||
-I/usr/include|-I/usr/include/) ;;
|
||||
*) ac_new_flags="[$]ac_new_flags [$]i" ;;
|
||||
esac
|
||||
done
|
||||
$1=[$]ac_new_flags
|
||||
])
|
||||
|
||||
dnl Removes '-L/usr/lib[/]', '-Wl,-rpath,/usr/lib[/]'
|
||||
dnl and '-Wl,-rpath -Wl,/usr/lib[/]' from given variable
|
||||
AC_DEFUN(LIB_REMOVE_USR_LIB,[
|
||||
ac_new_flags=""
|
||||
l=""
|
||||
for i in [$]$1; do
|
||||
case [$]l[$]i in
|
||||
-L/usr/lib) ;;
|
||||
-L/usr/lib/) ;;
|
||||
-L/usr/lib64) ;;
|
||||
-L/usr/lib64/) ;;
|
||||
-Wl,-rpath,/usr/lib) l="";;
|
||||
-Wl,-rpath,/usr/lib/) l="";;
|
||||
-Wl,-rpath,/usr/lib64) l="";;
|
||||
-Wl,-rpath,/usr/lib64/) l="";;
|
||||
-Wl,-rpath) l=[$]i;;
|
||||
-Wl,-rpath-Wl,/usr/lib) l="";;
|
||||
-Wl,-rpath-Wl,/usr/lib/) l="";;
|
||||
-Wl,-rpath-Wl,/usr/lib64) l="";;
|
||||
-Wl,-rpath-Wl,/usr/lib64/) l="";;
|
||||
*)
|
||||
s=" "
|
||||
if test x"[$]ac_new_flags" = x""; then
|
||||
s="";
|
||||
fi
|
||||
if test x"[$]l" = x""; then
|
||||
ac_new_flags="[$]ac_new_flags[$]s[$]i";
|
||||
else
|
||||
ac_new_flags="[$]ac_new_flags[$]s[$]l [$]i";
|
||||
fi
|
||||
l=""
|
||||
;;
|
||||
esac
|
||||
done
|
||||
$1=[$]ac_new_flags
|
||||
])
|
||||
|
||||
m4_include(../lib/replace/libreplace.m4)
|
||||
m4_include(build/m4/ax_cflags_gcc_option.m4)
|
||||
m4_include(build/m4/ax_cflags_irix_option.m4)
|
||||
m4_include(build/m4/public.m4)
|
@ -1,32 +0,0 @@
|
||||
###############################
|
||||
# start SMB_EXT_LIB_PAM
|
||||
# check for security/pam_appl.h and -lpam
|
||||
# Tests are now moved in ../nsswitch/config.m4 because winbind stuff require more pam tests
|
||||
# end SMB_EXT_LIB_PAM
|
||||
###############################
|
||||
|
||||
################################################
|
||||
# test for where we get crypt() from
|
||||
AC_CHECK_LIB_EXT(crypt, CRYPT_LIBS, crypt)
|
||||
SMB_ENABLE(CRYPT,YES)
|
||||
SMB_EXT_LIB(CRYPT, $CRYPT_LIBS)
|
||||
|
||||
AC_CHECK_FUNCS(crypt16 getauthuid getpwanam)
|
||||
|
||||
AC_CHECK_HEADERS(sasl/sasl.h)
|
||||
AC_CHECK_LIB_EXT(sasl2, SASL_LIBS, sasl_client_init)
|
||||
|
||||
if test x"$ac_cv_header_sasl_sasl_h" = x"yes" -a x"$ac_cv_lib_ext_sasl2_sasl_client_init" = x"yes";then
|
||||
SMB_ENABLE(SASL,YES)
|
||||
SMB_ENABLE(cyrus_sasl,YES)
|
||||
SASL_CFLAGS="$CFLAGS"
|
||||
SASL_CPPFLAGS="$CPPFLAGS"
|
||||
SASL_LDFLAGS="$LDFLAGS"
|
||||
LIB_REMOVE_USR_LIB(SASL_LDFLAGS)
|
||||
CFLAGS_REMOVE_USR_INCLUDE(SASL_CPPFLAGS)
|
||||
CFLAGS_REMOVE_USR_INCLUDE(SASL_CFLAGS)
|
||||
else
|
||||
SMB_ENABLE(cyrus_sasl,NO)
|
||||
fi
|
||||
|
||||
SMB_EXT_LIB(SASL, $SASL_LIBS, [${SASL_CFLAGS}], [${SASL_CPPFLAGS}], [${SASL_LDFLAGS}])
|
@ -1,51 +0,0 @@
|
||||
# auth server subsystem
|
||||
gensecsrcdir := $(authsrcdir)/gensec
|
||||
mkinclude gensec/config.mk
|
||||
mkinclude kerberos/config.mk
|
||||
mkinclude ntlmssp/config.mk
|
||||
mkinclude ntlm/config.mk
|
||||
mkinclude credentials/config.mk
|
||||
|
||||
[SUBSYSTEM::auth_session]
|
||||
PUBLIC_DEPENDENCIES = CREDENTIALS
|
||||
PRIVATE_DEPENDENCIES = SAMDB
|
||||
|
||||
PUBLIC_HEADERS += $(authsrcdir)/session.h
|
||||
|
||||
auth_session_OBJ_FILES = $(addprefix $(authsrcdir)/, session.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(authsrcdir)/session_proto.h,$(auth_session_OBJ_FILES:.o=.c)))
|
||||
|
||||
[SUBSYSTEM::samba_server_gensec]
|
||||
PUBLIC_DEPENDENCIES = CREDENTIALS GENSEC auth
|
||||
|
||||
samba_server_gensec_OBJ_FILES = $(addprefix $(authsrcdir)/, samba_server_gensec.o)
|
||||
|
||||
[SUBSYSTEM::auth_system_session]
|
||||
PUBLIC_DEPENDENCIES = CREDENTIALS
|
||||
PRIVATE_DEPENDENCIES = auth_session LIBSAMBA-UTIL LIBSECURITY
|
||||
|
||||
auth_system_session_OBJ_FILES = $(addprefix $(authsrcdir)/, system_session.o)
|
||||
$(eval $(call proto_header_template,$(authsrcdir)/system_session_proto.h,$(auth_system_session_OBJ_FILES:.o=.c)))
|
||||
|
||||
[SUBSYSTEM::auth_sam]
|
||||
PUBLIC_DEPENDENCIES = SAMDB UTIL_LDB LIBSECURITY
|
||||
PRIVATE_DEPENDENCIES = LDAP_ENCODE
|
||||
|
||||
auth_sam_OBJ_FILES = $(addprefix $(authsrcdir)/, sam.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(authsrcdir)/auth_sam.h,$(auth_sam_OBJ_FILES:.o=.c)))
|
||||
|
||||
[SUBSYSTEM::auth_sam_reply]
|
||||
|
||||
auth_sam_reply_OBJ_FILES = $(addprefix $(authsrcdir)/, auth_sam_reply.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(authsrcdir)/auth_sam_reply.h,$(auth_sam_reply_OBJ_FILES:.o=.c)))
|
||||
|
||||
[PYTHON::pyauth]
|
||||
LIBRARY_REALNAME = samba/auth.$(SHLIBEXT)
|
||||
PUBLIC_DEPENDENCIES = auth_system_session
|
||||
PRIVATE_DEPENDENCIES = SAMDB PYTALLOC pyparam_util
|
||||
|
||||
pyauth_OBJ_FILES = $(authsrcdir)/pyauth.o
|
||||
|
@ -1,20 +0,0 @@
|
||||
#################################
|
||||
# Start SUBSYSTEM CREDENTIALS
|
||||
[SUBSYSTEM::CREDENTIALS]
|
||||
PUBLIC_DEPENDENCIES = \
|
||||
LIBCLI_AUTH SECRETS LIBCRYPTO KERBEROS HEIMDAL_GSSAPI
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
SECRETS SAMDB
|
||||
|
||||
|
||||
CREDENTIALS_OBJ_FILES = $(addprefix $(authsrcdir)/credentials/, credentials.o credentials_files.o credentials_ntlm.o credentials_krb5.o ../kerberos/kerberos_util.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(authsrcdir)/credentials/credentials_proto.h,$(CREDENTIALS_OBJ_FILES:.o=.c)))
|
||||
|
||||
PUBLIC_HEADERS += $(authsrcdir)/credentials/credentials.h
|
||||
|
||||
[PYTHON::pycredentials]
|
||||
LIBRARY_REALNAME = samba/credentials.$(SHLIBEXT)
|
||||
PUBLIC_DEPENDENCIES = CREDENTIALS LIBCMDLINE_CREDENTIALS PYTALLOC pyparam_util
|
||||
|
||||
pycredentials_OBJ_FILES = $(authsrcdir)/credentials/pycredentials.o
|
@ -1,2 +0,0 @@
|
||||
SMB_ENABLE(gensec_krb5, $HAVE_KRB5)
|
||||
SMB_ENABLE(gensec_gssapi, $HAVE_KRB5)
|
@ -1,82 +0,0 @@
|
||||
#################################
|
||||
# Start SUBSYSTEM gensec
|
||||
[LIBRARY::gensec]
|
||||
PUBLIC_DEPENDENCIES = \
|
||||
CREDENTIALS LIBSAMBA-UTIL LIBCRYPTO ASN1_UTIL samba_socket LIBPACKET LIBTSOCKET UTIL_TEVENT
|
||||
# End SUBSYSTEM gensec
|
||||
#################################
|
||||
|
||||
PC_FILES += $(gensecsrcdir)/gensec.pc
|
||||
|
||||
gensec_VERSION = 0.0.1
|
||||
gensec_SOVERSION = 0
|
||||
gensec_OBJ_FILES = $(addprefix $(gensecsrcdir)/, gensec.o socket.o)
|
||||
|
||||
PUBLIC_HEADERS += $(gensecsrcdir)/gensec.h
|
||||
|
||||
$(eval $(call proto_header_template,$(gensecsrcdir)/gensec_proto.h,$(gensec_OBJ_FILES:.o=.c)))
|
||||
|
||||
################################################
|
||||
# Start MODULE gensec_krb5
|
||||
[MODULE::gensec_krb5]
|
||||
SUBSYSTEM = gensec
|
||||
INIT_FUNCTION = gensec_krb5_init
|
||||
PRIVATE_DEPENDENCIES = CREDENTIALS KERBEROS auth_session
|
||||
# End MODULE gensec_krb5
|
||||
################################################
|
||||
|
||||
gensec_krb5_OBJ_FILES = $(addprefix $(gensecsrcdir)/, gensec_krb5.o)
|
||||
|
||||
################################################
|
||||
# Start MODULE gensec_gssapi
|
||||
[MODULE::gensec_gssapi]
|
||||
SUBSYSTEM = gensec
|
||||
INIT_FUNCTION = gensec_gssapi_init
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_GSSAPI CREDENTIALS KERBEROS
|
||||
# End MODULE gensec_gssapi
|
||||
################################################
|
||||
|
||||
gensec_gssapi_OBJ_FILES = $(addprefix $(gensecsrcdir)/, gensec_gssapi.o)
|
||||
|
||||
################################################
|
||||
# Start MODULE cyrus_sasl
|
||||
[MODULE::cyrus_sasl]
|
||||
SUBSYSTEM = gensec
|
||||
INIT_FUNCTION = gensec_sasl_init
|
||||
PRIVATE_DEPENDENCIES = CREDENTIALS SASL
|
||||
# End MODULE cyrus_sasl
|
||||
################################################
|
||||
|
||||
cyrus_sasl_OBJ_FILES = $(addprefix $(gensecsrcdir)/, cyrus_sasl.o)
|
||||
|
||||
################################################
|
||||
# Start MODULE gensec_spnego
|
||||
[MODULE::gensec_spnego]
|
||||
SUBSYSTEM = gensec
|
||||
INIT_FUNCTION = gensec_spnego_init
|
||||
PRIVATE_DEPENDENCIES = ASN1_UTIL CREDENTIALS
|
||||
# End MODULE gensec_spnego
|
||||
################################################
|
||||
|
||||
gensec_spnego_OBJ_FILES = $(addprefix $(gensecsrcdir)/, spnego.o) ../libcli/auth/spnego_parse.o
|
||||
|
||||
$(eval $(call proto_header_template,$(gensecsrcdir)/spnego_proto.h,$(gensec_spnego_OBJ_FILES:.o=.c)))
|
||||
|
||||
################################################
|
||||
# Start MODULE gensec_schannel
|
||||
[MODULE::gensec_schannel]
|
||||
SUBSYSTEM = gensec
|
||||
INIT_FUNCTION = gensec_schannel_init
|
||||
PRIVATE_DEPENDENCIES = COMMON_SCHANNELDB NDR_SCHANNEL CREDENTIALS LIBNDR auth_session
|
||||
OUTPUT_TYPE = MERGED_OBJ
|
||||
# End MODULE gensec_schannel
|
||||
################################################
|
||||
|
||||
gensec_schannel_OBJ_FILES = $(addprefix $(gensecsrcdir)/, schannel.o) ../libcli/auth/schannel_sign.o
|
||||
$(eval $(call proto_header_template,$(gensecsrcdir)/schannel_proto.h,$(gensec_schannel_OBJ_FILES:.o=.c)))
|
||||
|
||||
[PYTHON::pygensec]
|
||||
PRIVATE_DEPENDENCIES = gensec PYTALLOC pyparam_util
|
||||
LIBRARY_REALNAME = samba/gensec.$(SHLIBEXT)
|
||||
|
||||
pygensec_OBJ_FILES = $(gensecsrcdir)/pygensec.o
|
@ -1,542 +0,0 @@
|
||||
# NOTE! this whole m4 file is disabled in configure.in for now
|
||||
|
||||
#################################################
|
||||
# KRB5 support
|
||||
KRB5_CFLAGS=""
|
||||
KRB5_CPPFLAGS=""
|
||||
KRB5_LDFLAGS=""
|
||||
KRB5_LIBS=""
|
||||
with_krb5_support=auto
|
||||
krb5_withval=auto
|
||||
AC_MSG_CHECKING([for KRB5 support])
|
||||
|
||||
# Do no harm to the values of CFLAGS and LIBS while testing for
|
||||
# Kerberos support.
|
||||
AC_ARG_WITH(krb5,
|
||||
[ --with-krb5=base-dir Locate Kerberos 5 support (default=auto)],
|
||||
[ case "$withval" in
|
||||
no)
|
||||
with_krb5_support=no
|
||||
AC_MSG_RESULT(no)
|
||||
krb5_withval=no
|
||||
;;
|
||||
yes)
|
||||
with_krb5_support=yes
|
||||
AC_MSG_RESULT(yes)
|
||||
krb5_withval=yes
|
||||
;;
|
||||
auto)
|
||||
with_krb5_support=auto
|
||||
AC_MSG_RESULT(auto)
|
||||
krb5_withval=auto
|
||||
;;
|
||||
*)
|
||||
with_krb5_support=yes
|
||||
AC_MSG_RESULT(yes)
|
||||
krb5_withval=$withval
|
||||
KRB5CONFIG="$krb5_withval/bin/krb5-config"
|
||||
;;
|
||||
esac ],
|
||||
AC_MSG_RESULT($with_krb5_support)
|
||||
)
|
||||
|
||||
if test x$with_krb5_support != x"no"; then
|
||||
FOUND_KRB5=no
|
||||
FOUND_KRB5_VIA_CONFIG=no
|
||||
|
||||
#################################################
|
||||
# check for krb5-config from recent MIT and Heimdal kerberos 5
|
||||
AC_MSG_CHECKING(for working specified location for krb5-config)
|
||||
if test x$KRB5CONFIG != "x"; then
|
||||
if test -x "$KRB5CONFIG"; then
|
||||
ac_save_CFLAGS=$CFLAGS
|
||||
CFLAGS="";export CFLAGS
|
||||
ac_save_LDFLAGS=$LDFLAGS
|
||||
LDFLAGS="";export LDFLAGS
|
||||
KRB5_LIBS="`$KRB5CONFIG --libs gssapi`"
|
||||
KRB5_CFLAGS="`$KRB5CONFIG --cflags | sed s/@INCLUDE_des@//`"
|
||||
KRB5_CPPFLAGS="`$KRB5CONFIG --cflags | sed s/@INCLUDE_des@//`"
|
||||
CFLAGS=$ac_save_CFLAGS;export CFLAGS
|
||||
LDFLAGS=$ac_save_LDFLAGS;export LDFLAGS
|
||||
FOUND_KRB5=yes
|
||||
FOUND_KRB5_VIA_CONFIG=yes
|
||||
AC_MSG_RESULT(yes. Found $KRB5CONFIG)
|
||||
else
|
||||
AC_MSG_RESULT(no. Fallback to specified directory)
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(no. Fallback to finding krb5-config in path)
|
||||
#################################################
|
||||
# check for krb5-config from recent MIT and Heimdal kerberos 5
|
||||
AC_PATH_PROG(KRB5CONFIG, krb5-config)
|
||||
AC_MSG_CHECKING(for working krb5-config in path)
|
||||
if test -x "$KRB5CONFIG"; then
|
||||
ac_save_CFLAGS=$CFLAGS
|
||||
CFLAGS="";export CFLAGS
|
||||
ac_save_LDFLAGS=$LDFLAGS
|
||||
LDFLAGS="";export LDFLAGS
|
||||
KRB5_LIBS="`$KRB5CONFIG --libs gssapi`"
|
||||
KRB5_CFLAGS="`$KRB5CONFIG --cflags | sed s/@INCLUDE_des@//`"
|
||||
KRB5_CPPFLAGS="`$KRB5CONFIG --cflags | sed s/@INCLUDE_des@//`"
|
||||
CFLAGS=$ac_save_CFLAGS;export CFLAGS
|
||||
LDFLAGS=$ac_save_LDFLAGS;export LDFLAGS
|
||||
FOUND_KRB5=yes
|
||||
FOUND_KRB5_VIA_CONFIG=yes
|
||||
AC_MSG_RESULT(yes. Found $KRB5CONFIG)
|
||||
else
|
||||
AC_MSG_RESULT(no. Fallback to previous krb5 detection strategy)
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x$FOUND_KRB5 != x"yes"; then
|
||||
#################################################
|
||||
# check for location of Kerberos 5 install
|
||||
AC_MSG_CHECKING(for kerberos 5 install path)
|
||||
case "$krb5_withval" in
|
||||
no)
|
||||
AC_MSG_RESULT(no krb5-path given)
|
||||
;;
|
||||
yes)
|
||||
AC_MSG_RESULT(/usr)
|
||||
FOUND_KRB5=yes
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT($krb5_withval)
|
||||
KRB5_CFLAGS="-I$krb5_withval/include"
|
||||
KRB5_CPPFLAGS="-I$krb5_withval/include"
|
||||
KRB5_LDFLAGS="-L$krb5_withval/lib"
|
||||
FOUND_KRB5=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if test x$FOUND_KRB5 != x"yes"; then
|
||||
#################################################
|
||||
# see if this box has the SuSE location for the heimdal krb implementation
|
||||
AC_MSG_CHECKING(for /usr/include/heimdal)
|
||||
if test -d /usr/include/heimdal; then
|
||||
if test -f /usr/lib/heimdal/lib/libkrb5.a; then
|
||||
KRB5_CFLAGS="-I/usr/include/heimdal"
|
||||
KRB5_CPPFLAGS="-I/usr/include/heimdal"
|
||||
KRB5_LDFLAGS="-L/usr/lib/heimdal/lib"
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
KRB5_CFLAGS="-I/usr/include/heimdal"
|
||||
KRB5_CPPFLAGS="-I/usr/include/heimdal"
|
||||
AC_MSG_RESULT(yes)
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x$FOUND_KRB5 != x"yes"; then
|
||||
#################################################
|
||||
# see if this box has the RedHat location for kerberos
|
||||
AC_MSG_CHECKING(for /usr/kerberos)
|
||||
if test -d /usr/kerberos -a -f /usr/kerberos/lib/libkrb5.a; then
|
||||
KRB5_LDFLAGS="-L/usr/kerberos/lib"
|
||||
KRB5_CFLAGS="-I/usr/kerberos/include"
|
||||
KRB5_CPPFLAGS="-I/usr/kerberos/include"
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
fi
|
||||
|
||||
ac_save_CFLAGS=$CFLAGS
|
||||
ac_save_CPPFLAGS=$CPPFLAGS
|
||||
ac_save_LDFLAGS=$LDFLAGS
|
||||
|
||||
#MIT needs this, to let us see 'internal' parts of the headers we use
|
||||
KRB5_CFLAGS="${KRB5_CFLAGS} -DKRB5_PRIVATE -DKRB5_DEPRECATED"
|
||||
|
||||
#Heimdal needs this
|
||||
#TODO: we need to parse KRB5_LIBS for -L path
|
||||
# and set -Wl,-rpath -Wl,path
|
||||
|
||||
CFLAGS="$CFLAGS $KRB5_CFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $KRB5_CPPFLAGS"
|
||||
LDFLAGS="$LDFLAGS $KRB5_LDFLAGS"
|
||||
|
||||
KRB5_LIBS="$KRB5_LDFLAGS $KRB5_LIBS"
|
||||
|
||||
# now check for krb5.h. Some systems have the libraries without the headers!
|
||||
# note that this check is done here to allow for different kerberos
|
||||
# include paths
|
||||
AC_CHECK_HEADERS(krb5.h)
|
||||
|
||||
if test x"$ac_cv_header_krb5_h" = x"no"; then
|
||||
# Give a warning if KRB5 support was not explicitly requested,
|
||||
# i.e with_krb5_support = auto, otherwise die with an error.
|
||||
if test x"$with_krb5_support" = x"yes"; then
|
||||
AC_MSG_ERROR([KRB5 cannot be supported without krb5.h])
|
||||
else
|
||||
AC_MSG_WARN([KRB5 cannot be supported without krb5.h])
|
||||
fi
|
||||
# Turn off AD support and restore CFLAGS and LIBS variables
|
||||
with_krb5_support="no"
|
||||
fi
|
||||
|
||||
CFLAGS=$ac_save_CFLAGS
|
||||
CPPFLAGS=$ac_save_CPPFLAGS
|
||||
LDFLAGS=$ac_save_LDFLAGS
|
||||
fi
|
||||
|
||||
# Now we have determined whether we really want KRB5 support
|
||||
|
||||
if test x"$with_krb5_support" != x"no"; then
|
||||
ac_save_CFLAGS=$CFLAGS
|
||||
ac_save_CPPFLAGS=$CPPFLAGS
|
||||
ac_save_LDFLAGS=$LDFLAGS
|
||||
ac_save_LIBS=$LIBS
|
||||
|
||||
CFLAGS="$CFLAGS $KRB5_CFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $KRB5_CPPFLAGS"
|
||||
LDFLAGS="$LDFLAGS $KRB5_LDFLAGS"
|
||||
|
||||
# now check for gssapi headers. This is also done here to allow for
|
||||
# different kerberos include paths
|
||||
AC_CHECK_HEADERS(gssapi.h gssapi_krb5.h gssapi/gssapi.h gssapi/gssapi_generic.h gssapi/gssapi_krb5.h com_err.h)
|
||||
|
||||
|
||||
# Heimdal checks.
|
||||
# But only if we didn't have a krb5-config to tell us this already
|
||||
if test x"$FOUND_KRB5_VIA_CONFIG" != x"yes"; then
|
||||
##################################################################
|
||||
# we might need the k5crypto and com_err libraries on some systems
|
||||
AC_CHECK_LIB_EXT(com_err, KRB5_LIBS, _et_list)
|
||||
AC_CHECK_LIB_EXT(k5crypto, KRB5_LIBS, krb5_encrypt_data)
|
||||
|
||||
AC_CHECK_LIB_EXT(crypto, KRB5_LIBS, des_set_key)
|
||||
AC_CHECK_LIB_EXT(asn1, KRB5_LIBS, copy_Authenticator)
|
||||
AC_CHECK_LIB_EXT(roken, KRB5_LIBS, roken_getaddrinfo_hostspec)
|
||||
fi
|
||||
|
||||
# Heimdal checks. On static Heimdal gssapi must be linked before krb5.
|
||||
AC_CHECK_LIB_EXT(gssapi, KRB5_LIBS, gss_display_status,[],[],
|
||||
AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available]))
|
||||
|
||||
########################################################
|
||||
# now see if we can find the krb5 libs in standard paths
|
||||
# or as specified above
|
||||
AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_mk_req_extended)
|
||||
AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_kt_compare)
|
||||
|
||||
########################################################
|
||||
# now see if we can find the gssapi libs in standard paths
|
||||
if test x"$ac_cv_lib_ext_gssapi_gss_display_status" != x"yes"; then
|
||||
AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS,gss_display_status,[],[],
|
||||
AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available]))
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNC_EXT(krb5_set_real_time, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_set_default_in_tkt_etypes, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_set_default_tgs_ktypes, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_principal2salt, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_use_enctype, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_string_to_key, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_get_pw_salt, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_string_to_key_salt, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_auth_con_setkey, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_auth_con_setuseruserkey, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_locate_kdc, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_get_permitted_enctypes, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_get_default_in_tkt_etypes, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_free_ktypes, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_free_data_contents, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_principal_get_comp_string, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_free_unparsed_name, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_free_keytab_entry_contents, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_kt_free_entry, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_krbhst_get_addrinfo, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_verify_checksum, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_c_verify_checksum, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_ticket_get_authorization_data_type, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_krbhst_get_addrinfo, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_c_enctype_compare, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_enctypes_compatible_keys, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_get_error_string, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_free_error_string, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_get_error_message, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_free_error_message, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_initlog, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_addlog_func, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(krb5_set_warn_dest, $KRB5_LIBS)
|
||||
|
||||
LIBS="$LIBS $KRB5_LIBS"
|
||||
|
||||
AC_CACHE_CHECK([for krb5_log_facility type],
|
||||
samba_cv_HAVE_KRB5_LOG_FACILITY,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_log_facility block;],
|
||||
samba_cv_HAVE_KRB5_LOG_FACILITY=yes,
|
||||
samba_cv_HAVE_KRB5_LOG_FACILITY=no)])
|
||||
|
||||
if test x"$samba_cv_HAVE_KRB5_LOG_FACILITY" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KRB5_LOG_FACILITY,1,
|
||||
[Whether the type krb5_log_facility exists])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for krb5_encrypt_block type],
|
||||
samba_cv_HAVE_KRB5_ENCRYPT_BLOCK,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_encrypt_block block;],
|
||||
samba_cv_HAVE_KRB5_ENCRYPT_BLOCK=yes,
|
||||
samba_cv_HAVE_KRB5_ENCRYPT_BLOCK=no)])
|
||||
|
||||
if test x"$samba_cv_HAVE_KRB5_ENCRYPT_BLOCK" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KRB5_ENCRYPT_BLOCK,1,
|
||||
[Whether the type krb5_encrypt_block exists])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for addrtype in krb5_address],
|
||||
samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_address kaddr; kaddr.addrtype = ADDRTYPE_INET;],
|
||||
samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS=yes,
|
||||
samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS=no)])
|
||||
if test x"$samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS" = x"yes"; then
|
||||
AC_DEFINE(HAVE_ADDRTYPE_IN_KRB5_ADDRESS,1,
|
||||
[Whether the krb5_address struct has a addrtype property])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for addr_type in krb5_address],
|
||||
samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_address kaddr; kaddr.addr_type = KRB5_ADDRESS_INET;],
|
||||
samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS=yes,
|
||||
samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS=no)])
|
||||
if test x"$samba_cv_HAVE_ADDR_TYPE_IN_KRB5_ADDRESS" = x"yes"; then
|
||||
AC_DEFINE(HAVE_ADDR_TYPE_IN_KRB5_ADDRESS,1,
|
||||
[Whether the krb5_address struct has a addr_type property])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for enc_part2 in krb5_ticket],
|
||||
samba_cv_HAVE_KRB5_TKT_ENC_PART2,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_ticket tkt; tkt.enc_part2->authorization_data[0]->contents = NULL;],
|
||||
samba_cv_HAVE_KRB5_TKT_ENC_PART2=yes,
|
||||
samba_cv_HAVE_KRB5_TKT_ENC_PART2=no)])
|
||||
if test x"$samba_cv_HAVE_KRB5_TKT_ENC_PART2" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KRB5_TKT_ENC_PART2,1,
|
||||
[Whether the krb5_ticket struct has a enc_part2 property])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for keyblock in krb5_creds],
|
||||
samba_cv_HAVE_KRB5_KEYBLOCK_IN_CREDS,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_creds creds; krb5_keyblock kb; creds.keyblock = kb;],
|
||||
samba_cv_HAVE_KRB5_KEYBLOCK_IN_CREDS=yes,
|
||||
samba_cv_HAVE_KRB5_KEYBLOCK_IN_CREDS=no)])
|
||||
|
||||
if test x"$samba_cv_HAVE_KRB5_KEYBLOCK_IN_CREDS" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KRB5_KEYBLOCK_IN_CREDS,1,
|
||||
[Whether the krb5_creds struct has a keyblock property])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for session in krb5_creds],
|
||||
samba_cv_HAVE_KRB5_SESSION_IN_CREDS,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_creds creds; krb5_keyblock kb; creds.session = kb;],
|
||||
samba_cv_HAVE_KRB5_SESSION_IN_CREDS=yes,
|
||||
samba_cv_HAVE_KRB5_SESSION_IN_CREDS=no)])
|
||||
|
||||
if test x"$samba_cv_HAVE_KRB5_SESSION_IN_CREDS" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KRB5_SESSION_IN_CREDS,1,
|
||||
[Whether the krb5_creds struct has a session property])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for keyvalue in krb5_keyblock],
|
||||
samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_keyblock key; key.keyvalue.data = NULL;],
|
||||
samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE=yes,
|
||||
samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE=no)])
|
||||
if test x"$samba_cv_HAVE_KRB5_KEYBLOCK_KEYVALUE" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KRB5_KEYBLOCK_KEYVALUE,1,
|
||||
[Whether the krb5_keyblock struct has a keyvalue property])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for ENCTYPE_ARCFOUR_HMAC_MD5],
|
||||
samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_enctype enctype; enctype = ENCTYPE_ARCFOUR_HMAC_MD5;],
|
||||
samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5=yes,
|
||||
samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5=no)])
|
||||
AC_CACHE_CHECK([for KEYTYPE_ARCFOUR_56],
|
||||
samba_cv_HAVE_KEYTYPE_ARCFOUR_56,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_keytype keytype; keytype = KEYTYPE_ARCFOUR_56;],
|
||||
samba_cv_HAVE_KEYTYPE_ARCFOUR_56=yes,
|
||||
samba_cv_HAVE_KEYTYPE_ARCFOUR_56=no)])
|
||||
# Heimdals with KEYTYPE_ARCFOUR but not KEYTYPE_ARCFOUR_56 are broken
|
||||
# w.r.t. arcfour and windows, so we must not enable it here
|
||||
if test x"$samba_cv_HAVE_ENCTYPE_ARCFOUR_HMAC_MD5" = x"yes" -a\
|
||||
x"$samba_cv_HAVE_KEYTYPE_ARCFOUR_56" = x"yes"; then
|
||||
AC_DEFINE(HAVE_ENCTYPE_ARCFOUR_HMAC_MD5,1,
|
||||
[Whether the ENCTYPE_ARCFOUR_HMAC_MD5 key type is available])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for AP_OPTS_USE_SUBKEY],
|
||||
samba_cv_HAVE_AP_OPTS_USE_SUBKEY,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_flags ap_options; ap_options = AP_OPTS_USE_SUBKEY;],
|
||||
samba_cv_HAVE_AP_OPTS_USE_SUBKEY=yes,
|
||||
samba_cv_HAVE_AP_OPTS_USE_SUBKEY=no)])
|
||||
if test x"$samba_cv_HAVE_AP_OPTS_USE_SUBKEY" = x"yes"; then
|
||||
AC_DEFINE(HAVE_AP_OPTS_USE_SUBKEY,1,
|
||||
[Whether the AP_OPTS_USE_SUBKEY ap option is available])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for KV5M_KEYTAB],
|
||||
samba_cv_HAVE_KV5M_KEYTAB,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_keytab_entry entry; entry.magic = KV5M_KEYTAB;],
|
||||
samba_cv_HAVE_KV5M_KEYTAB=yes,
|
||||
samba_cv_HAVE_KV5M_KEYTAB=no)])
|
||||
if test x"$samba_cv_HAVE_KV5M_KEYTAB" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KV5M_KEYTAB,1,
|
||||
[Whether the KV5M_KEYTAB option is available])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for the krb5_princ_component macro],
|
||||
samba_cv_HAVE_KRB5_PRINC_COMPONENT,[
|
||||
AC_TRY_LINK([#include <krb5.h>],
|
||||
[const krb5_data *pkdata; krb5_context context; krb5_principal principal;
|
||||
pkdata = krb5_princ_component(context, principal, 0);],
|
||||
samba_cv_HAVE_KRB5_PRINC_COMPONENT=yes,
|
||||
samba_cv_HAVE_KRB5_PRINC_COMPONENT=no)])
|
||||
if test x"$samba_cv_HAVE_KRB5_PRINC_COMPONENT" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KRB5_PRINC_COMPONENT,1,
|
||||
[Whether krb5_princ_component is available])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for key in krb5_keytab_entry],
|
||||
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_keytab_entry entry; krb5_keyblock e; entry.key = e;],
|
||||
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=yes,
|
||||
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY=no)])
|
||||
if test x"$samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEY" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEY,1,
|
||||
[Whether krb5_keytab_entry has key member])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for keyblock in krb5_keytab_entry],
|
||||
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_keytab_entry entry; entry.keyblock.keytype = 0;],
|
||||
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK=yes,
|
||||
samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK=no)])
|
||||
if test x"$samba_cv_HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KRB5_KEYTAB_ENTRY_KEYBLOCK,1,
|
||||
[Whether krb5_keytab_entry has keyblock member])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for WRFILE: keytab support],
|
||||
samba_cv_HAVE_WRFILE_KEYTAB,[
|
||||
AC_TRY_RUN([
|
||||
#include<krb5.h>
|
||||
main()
|
||||
{
|
||||
krb5_context context;
|
||||
krb5_keytab keytab;
|
||||
krb5_init_context(&context);
|
||||
return krb5_kt_resolve(context, "WRFILE:api", &keytab);
|
||||
}],
|
||||
samba_cv_HAVE_WRFILE_KEYTAB=yes,
|
||||
samba_cv_HAVE_WRFILE_KEYTAB=no)])
|
||||
if test x"$samba_cv_HAVE_WRFILE_KEYTAB" = x"yes"; then
|
||||
AC_DEFINE(HAVE_WRFILE_KEYTAB,1,
|
||||
[Whether the WRFILE:-keytab is supported])
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([for krb5_princ_realm returns krb5_realm or krb5_data],
|
||||
samba_cv_KRB5_PRINC_REALM_RETURNS_REALM,[
|
||||
AC_TRY_COMPILE([#include <krb5.h>],
|
||||
[krb5_context context;krb5_principal principal;krb5_realm realm;
|
||||
realm = *krb5_princ_realm(context, principal);],
|
||||
samba_cv_KRB5_PRINC_REALM_RETURNS_REALM=yes,
|
||||
samba_cv_KRB5_PRINC_REALM_RETURNS_REALM=no)])
|
||||
if test x"$samba_cv_KRB5_PRINC_REALM_RETURNS_REALM" = x"yes"; then
|
||||
AC_DEFINE(KRB5_PRINC_REALM_RETURNS_REALM,1,
|
||||
[Whether krb5_princ_realm returns krb5_realm or krb5_data])
|
||||
fi
|
||||
|
||||
# TODO: check all gssapi headers for this
|
||||
AC_CACHE_CHECK([for GSS_C_DCE_STYLE in gssapi.h],
|
||||
samba_cv_GSS_C_DCE_STYLE,[
|
||||
AC_TRY_COMPILE([#include <gssapi.h>],
|
||||
[int flags = GSS_C_DCE_STYLE;],
|
||||
samba_cv_GSS_C_DCE_STYLE=yes,
|
||||
samba_cv_GSS_C_DCE_STYLE=no)])
|
||||
|
||||
AC_CHECK_FUNC_EXT(gsskrb5_get_initiator_subkey, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(gsskrb5_extract_authz_data_from_sec_context, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(gsskrb5_register_acceptor_identity, $KRB5_LIBS)
|
||||
AC_CHECK_FUNC_EXT(gss_krb5_ccache_name, $KRB5_LIBS)
|
||||
if test x"$ac_cv_lib_ext_krb5_krb5_mk_req_extended" = x"yes"; then
|
||||
AC_DEFINE(HAVE_KRB5,1,[Whether to have KRB5 support])
|
||||
AC_MSG_CHECKING(whether KRB5 support is used)
|
||||
SMB_ENABLE(KRB5,YES)
|
||||
AC_MSG_RESULT(yes)
|
||||
echo "KRB5_CFLAGS: ${KRB5_CFLAGS}"
|
||||
echo "KRB5_CPPFLAGS: ${KRB5_CPPFLAGS}"
|
||||
echo "KRB5_LDFLAGS: ${KRB5_LDFLAGS}"
|
||||
echo "KRB5_LIBS: ${KRB5_LIBS}"
|
||||
else
|
||||
if test x"$with_krb5_support" = x"yes"; then
|
||||
AC_MSG_ERROR(a working krb5 library is needed for KRB5 support)
|
||||
else
|
||||
AC_MSG_WARN(a working krb5 library is needed for KRB5 support)
|
||||
fi
|
||||
KRB5_CFLAGS=""
|
||||
KRB5_CPPFLAGS=""
|
||||
KRB5_LDFLAGS=""
|
||||
KRB5_LIBS=""
|
||||
with_krb5_support=no
|
||||
fi
|
||||
|
||||
# checks if we have access to a libkdc
|
||||
# and can use it for our builtin kdc server_service
|
||||
KDC_CFLAGS=""
|
||||
KDC_CPPFLAGS=""
|
||||
KDC_DLFLAGS=""
|
||||
KDC_LIBS=""
|
||||
AC_CHECK_HEADERS(kdc.h)
|
||||
AC_CHECK_LIB_EXT(kdc, KDC_LIBS, krb5_kdc_default_config)
|
||||
AC_CHECK_LIB_EXT(hdb, KDC_LIBS, hdb_generate_key_set_password)
|
||||
|
||||
AC_MSG_CHECKING(whether libkdc is used)
|
||||
if test x"$ac_cv_header_kdc_h" = x"yes"; then
|
||||
if test x"$ac_cv_lib_ext_kdc_krb5_kdc_default_config" = x"yes"; then
|
||||
if test x"$ac_cv_lib_ext_hdb_hdb_generate_key_set_password" = x"yes"; then
|
||||
SMB_ENABLE(KDC,YES)
|
||||
AC_MSG_RESULT(yes)
|
||||
echo "KDC_LIBS: ${KDC_LIBS}"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
CFLAGS=$ac_save_CFLAGS
|
||||
CPPFLAGS=$ac_save_CPPFLAGS
|
||||
LDFLAGS=$ac_save_LDFLAGS
|
||||
LIBS="$ac_save_LIBS"
|
||||
|
||||
# as a nasty hack add the krb5 stuff to the global vars,
|
||||
# at some point this should not be needed anymore when the build system
|
||||
# can handle that alone
|
||||
CFLAGS="$CFLAGS $KRB5_CFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $KRB5_CPPFLAGS"
|
||||
LDFLAGS="$LDFLAGS $KRB5_LDFLAGS"
|
||||
fi
|
||||
|
||||
SMB_EXT_LIB(KRB5,[${KRB5_LIBS}],[${KRB5_CFLAGS}],[${KRB5_CPPFLAGS}],[${KRB5_LDFLAGS}])
|
||||
SMB_EXT_LIB(KDC,[${KDC_LIBS}],[${KDC_CFLAGS}],[${KDC_CPPFLAGS}],[${KDC_LDFLAGS}])
|
@ -1,19 +0,0 @@
|
||||
#################################
|
||||
# Start SUBSYSTEM KERBEROS
|
||||
[SUBSYSTEM::KERBEROS]
|
||||
PUBLIC_DEPENDENCIES = HEIMDAL_KRB5 NDR_KRB5PAC samba_socket LIBCLI_RESOLVE
|
||||
PRIVATE_DEPENDENCIES = ASN1_UTIL auth_sam_reply LIBTEVENT LIBPACKET LIBNDR
|
||||
# End SUBSYSTEM KERBEROS
|
||||
#################################
|
||||
|
||||
KERBEROS_OBJ_FILES = $(addprefix $(authsrcdir)/kerberos/, \
|
||||
kerberos.o \
|
||||
clikrb5.o \
|
||||
kerberos_heimdal.o \
|
||||
kerberos_pac.o \
|
||||
gssapi_parse.o \
|
||||
krb5_init_context.o \
|
||||
keytab_copy.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(authsrcdir)/kerberos/proto.h,$(KERBEROS_OBJ_FILES:.o=.c)))
|
||||
|
@ -1,80 +0,0 @@
|
||||
# NTLM auth server subsystem
|
||||
|
||||
#######################
|
||||
# Start MODULE auth_sam
|
||||
[MODULE::auth_sam_module]
|
||||
INIT_FUNCTION = auth_sam_init
|
||||
SUBSYSTEM = auth
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
SAMDB auth_sam ntlm_check
|
||||
# End MODULE auth_sam
|
||||
#######################
|
||||
|
||||
auth_sam_module_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_sam.o)
|
||||
|
||||
#######################
|
||||
# Start MODULE auth_anonymous
|
||||
[MODULE::auth_anonymous]
|
||||
INIT_FUNCTION = auth_anonymous_init
|
||||
SUBSYSTEM = auth
|
||||
# End MODULE auth_anonymous
|
||||
#######################
|
||||
|
||||
auth_anonymous_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_anonymous.o)
|
||||
|
||||
#######################
|
||||
# Start MODULE auth_anonymous
|
||||
[MODULE::auth_server]
|
||||
INIT_FUNCTION = auth_server_init
|
||||
SUBSYSTEM = auth
|
||||
PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBCLI_SMB
|
||||
# End MODULE auth_server
|
||||
#######################
|
||||
|
||||
auth_server_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_server.o)
|
||||
|
||||
#######################
|
||||
# Start MODULE auth_winbind
|
||||
[MODULE::auth_winbind]
|
||||
INIT_FUNCTION = auth_winbind_init
|
||||
SUBSYSTEM = auth
|
||||
PRIVATE_DEPENDENCIES = NDR_WINBIND MESSAGING LIBWINBIND-CLIENT LIBWBCLIENT
|
||||
# End MODULE auth_winbind
|
||||
#######################
|
||||
|
||||
auth_winbind_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_winbind.o)
|
||||
|
||||
#######################
|
||||
# Start MODULE auth_developer
|
||||
[MODULE::auth_developer]
|
||||
INIT_FUNCTION = auth_developer_init
|
||||
SUBSYSTEM = auth
|
||||
# End MODULE auth_developer
|
||||
#######################
|
||||
|
||||
auth_developer_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_developer.o)
|
||||
|
||||
[MODULE::auth_unix]
|
||||
INIT_FUNCTION = auth_unix_init
|
||||
SUBSYSTEM = auth
|
||||
PRIVATE_DEPENDENCIES = CRYPT PAM PAM_ERRORS NSS_WRAPPER UID_WRAPPER LIBTSOCKET
|
||||
|
||||
auth_unix_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth_unix.o)
|
||||
|
||||
[SUBSYSTEM::PAM_ERRORS]
|
||||
|
||||
#VERSION = 0.0.1
|
||||
#SO_VERSION = 0
|
||||
PAM_ERRORS_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, pam_errors.o)
|
||||
|
||||
[MODULE::auth]
|
||||
INIT_FUNCTION = server_service_auth_init
|
||||
SUBSYSTEM = service
|
||||
OUTPUT_TYPE = MERGED_OBJ
|
||||
PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBSECURITY SAMDB CREDENTIALS UTIL_TEVENT
|
||||
|
||||
auth_OBJ_FILES = $(addprefix $(authsrcdir)/ntlm/, auth.o auth_util.o auth_simple.o)
|
||||
$(eval $(call proto_header_template,$(authsrcdir)/ntlm/auth_proto.h,$(auth_OBJ_FILES:.o=.c)))
|
||||
|
||||
# PUBLIC_HEADERS += auth/auth.h
|
||||
|
@ -1,13 +0,0 @@
|
||||
################################################
|
||||
# Start MODULE gensec_ntlmssp
|
||||
[MODULE::gensec_ntlmssp]
|
||||
SUBSYSTEM = gensec
|
||||
INIT_FUNCTION = gensec_ntlmssp_init
|
||||
PRIVATE_DEPENDENCIES = MSRPC_PARSE CREDENTIALS
|
||||
OUTPUT_TYPE = MERGED_OBJ
|
||||
# End MODULE gensec_ntlmssp
|
||||
################################################
|
||||
|
||||
gensec_ntlmssp_OBJ_FILES = $(addprefix $(authsrcdir)/ntlmssp/, ntlmssp.o ntlmssp_sign.o ntlmssp_client.o ntlmssp_server.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(authsrcdir)/ntlmssp/proto.h,$(gensec_ntlmssp_OBJ_FILES:.o=.c)))
|
@ -1,85 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Run this script to build samba from git.
|
||||
|
||||
while true; do
|
||||
case $1 in
|
||||
--version-file)
|
||||
VERSION_FILE=$2
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
## insert all possible names (only works with
|
||||
## autoconf 2.x)
|
||||
TESTAUTOHEADER="autoheader autoheader-2.53 autoheader2.50 autoheader259 autoheader253"
|
||||
TESTAUTOCONF="autoconf autoconf-2.53 autoconf2.50 autoconf259 autoconf253"
|
||||
|
||||
AUTOHEADERFOUND="0"
|
||||
AUTOCONFFOUND="0"
|
||||
|
||||
if which which > /dev/null 2>&1; then
|
||||
echo -n
|
||||
else
|
||||
echo "$0: need 'which' to figure out if we have the right autoconf to build samba from git" >&2
|
||||
exit 1
|
||||
fi
|
||||
##
|
||||
## Look for autoheader
|
||||
##
|
||||
for i in $TESTAUTOHEADER; do
|
||||
if which $i > /dev/null 2>&1; then
|
||||
if test `$i --version | head -n 1 | cut -d. -f 2 | sed "s/[^0-9]//g"` -ge 53; then
|
||||
AUTOHEADER=$i
|
||||
AUTOHEADERFOUND="1"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
##
|
||||
## Look for autoconf
|
||||
##
|
||||
|
||||
for i in $TESTAUTOCONF; do
|
||||
if which $i > /dev/null 2>&1; then
|
||||
if test `$i --version | head -n 1 | cut -d. -f 2 | sed "s/[^0-9]//g"` -ge 53; then
|
||||
AUTOCONF=$i
|
||||
AUTOCONFFOUND="1"
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
##
|
||||
## do we have it?
|
||||
##
|
||||
if test "$AUTOCONFFOUND" = "0" -o "$AUTOHEADERFOUND" = "0"; then
|
||||
echo "$0: need autoconf 2.53 or later to build samba from git" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "$0: running script/mkversion.sh"
|
||||
./script/mkversion.sh $VERSION_FILE || exit 1
|
||||
|
||||
rm -rf autom4te*.cache
|
||||
rm -f configure include/config_tmp.h*
|
||||
rm -f makefile Makefile
|
||||
|
||||
IPATHS="-I. -I../lib/replace"
|
||||
|
||||
echo "$0: running $AUTOHEADER $IPATHS"
|
||||
$AUTOHEADER $IPATHS || exit 1
|
||||
|
||||
echo "$0: running $AUTOCONF $IPATHS"
|
||||
$AUTOCONF $IPATHS || exit 1
|
||||
|
||||
rm -rf autom4te*.cache
|
||||
|
||||
echo "Now run ./configure (or ./configure.developer) and then make."
|
||||
exit 0
|
@ -1,109 +0,0 @@
|
||||
dnl @synopsis AX_CFLAGS_GCC_OPTION (optionflag [,[shellvar][,[A][,[NA]]])
|
||||
dnl
|
||||
dnl AX_CFLAGS_GCC_OPTION(-fvomit-frame) would show a message as like
|
||||
dnl "checking CFLAGS for gcc -fvomit-frame ... yes" and adds
|
||||
dnl the optionflag to CFLAGS if it is understood. You can override
|
||||
dnl the shellvar-default of CFLAGS of course. The order of arguments
|
||||
dnl stems from the explicit macros like AX_CFLAGS_WARN_ALL.
|
||||
dnl
|
||||
dnl The macro is a lot simpler than any special AX_CFLAGS_* macro (or
|
||||
dnl ac_cxx_rtti.m4 macro) but allows to check for arbitrary options.
|
||||
dnl However, if you use this macro in a few places, it would be great
|
||||
dnl if you would make up a new function-macro and submit it to the
|
||||
dnl ac-archive.
|
||||
dnl
|
||||
dnl - $1 option-to-check-for : required ("-option" as non-value)
|
||||
dnl - $2 shell-variable-to-add-to : CFLAGS
|
||||
dnl - $3 action-if-found : add value to shellvariable
|
||||
dnl - $4 action-if-not-found : nothing
|
||||
dnl
|
||||
dnl note: in earlier versions, $1-$2 were swapped. We try to detect the
|
||||
dnl situation and accept a $2=~/-/ as being the old option-to-check-for.
|
||||
dnl
|
||||
dnl also: there are other variants that emerged from the original macro
|
||||
dnl variant which did just test an option to be possibly added. However,
|
||||
dnl some compilers accept an option silently, or possibly for just
|
||||
dnl another option that was not intended. Therefore, we have to do a
|
||||
dnl generic test for a compiler family. For gcc we check "-pedantic"
|
||||
dnl being accepted which is also understood by compilers who just want
|
||||
dnl to be compatible with gcc even when not being made from gcc sources.
|
||||
dnl
|
||||
dnl see also:
|
||||
dnl AX_CFLAGS_SUN_OPTION AX_CFLAGS_HPUX_OPTION
|
||||
dnl AX_CFLAGS_AIX_OPTION AX_CFLAGS_IRIX_OPTION
|
||||
dnl
|
||||
dnl @, tested, experimental
|
||||
dnl @version $Id: ax_cflags_gcc_option.m4,v 1.5 2003/11/29 08:13:25 guidod Exp $
|
||||
dnl @author Guido Draheim <guidod@gmx.de>
|
||||
dnl http://ac-archive.sourceforge.net/C_Support/ax_cflags_gcc_option.m4
|
||||
dnl
|
||||
AC_DEFUN([AX_CFLAGS_GCC_OPTION_OLD], [dnl
|
||||
AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
|
||||
AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_option_$2])dnl
|
||||
AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for gcc m4_ifval($2,$2,-option)],
|
||||
VAR,[VAR="no, unknown"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
ac_save_[]FLAGS="$[]FLAGS"
|
||||
for ac_arg dnl
|
||||
in "-pedantic % m4_ifval($2,$2,-option)" dnl GCC
|
||||
#
|
||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
||||
AC_TRY_COMPILE([],[return 0;],
|
||||
[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
||||
done
|
||||
FLAGS="$ac_save_[]FLAGS"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
case ".$VAR" in
|
||||
.ok|.ok,*) m4_ifvaln($3,$3) ;;
|
||||
.|.no|.no,*) m4_ifvaln($4,$4) ;;
|
||||
*) m4_ifvaln($3,$3,[
|
||||
if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
|
||||
then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
|
||||
else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
|
||||
m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
|
||||
fi ]) ;;
|
||||
esac
|
||||
AS_VAR_POPDEF([VAR])dnl
|
||||
AS_VAR_POPDEF([FLAGS])dnl
|
||||
])
|
||||
|
||||
|
||||
dnl -------------------------------------------------------------------------
|
||||
|
||||
AC_DEFUN([AX_CFLAGS_GCC_OPTION_NEW], [dnl
|
||||
AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
|
||||
AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_gcc_option_$1])dnl
|
||||
AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for gcc m4_ifval($1,$1,-option)],
|
||||
VAR,[VAR="no, unknown"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
ac_save_[]FLAGS="$[]FLAGS"
|
||||
for ac_arg dnl
|
||||
in "-pedantic % m4_ifval($1,$1,-option)" dnl GCC
|
||||
#
|
||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
||||
AC_TRY_COMPILE([],[return 0;],
|
||||
[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
||||
done
|
||||
FLAGS="$ac_save_[]FLAGS"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
case ".$VAR" in
|
||||
.ok|.ok,*) m4_ifvaln($3,$3) ;;
|
||||
.|.no|.no,*) m4_ifvaln($4,$4) ;;
|
||||
*) m4_ifvaln($3,$3,[
|
||||
if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
|
||||
then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR])
|
||||
else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"])
|
||||
m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"
|
||||
fi ]) ;;
|
||||
esac
|
||||
AS_VAR_POPDEF([VAR])dnl
|
||||
AS_VAR_POPDEF([FLAGS])dnl
|
||||
])
|
||||
|
||||
|
||||
AC_DEFUN([AX_CFLAGS_GCC_OPTION],[ifelse(m4_bregexp([$2],[-]),-1,
|
||||
[AX_CFLAGS_GCC_OPTION_NEW($@)],[AX_CFLAGS_GCC_OPTION_OLD($@)])])
|
@ -1,174 +0,0 @@
|
||||
dnl @synopsis AX_CFLAGS_IRIX_OPTION (optionflag [,[shellvar][,[A][,[NA]]])
|
||||
dnl
|
||||
dnl AX_CFLAGS_IRIX_OPTION(-go_for_it) would show a message as like
|
||||
dnl "checking CFLAGS for irix/cc -go_for_it ... yes" and adds the
|
||||
dnl optionflag to CFLAGS if it is understood. You can override the
|
||||
dnl shellvar-default of CFLAGS of course. The order of arguments stems
|
||||
dnl from the explicit macros like AX_CFLAGS_WARN_ALL.
|
||||
dnl
|
||||
dnl The cousin AX_CXXFLAGS_IRIX_OPTION would check for an option to add
|
||||
dnl to CXXFLAGS - and it uses the autoconf setup for C++ instead of C
|
||||
dnl (since it is possible to use different compilers for C and C++).
|
||||
dnl
|
||||
dnl The macro is a lot simpler than any special AX_CFLAGS_* macro (or
|
||||
dnl ac_cxx_rtti.m4 macro) but allows to check for arbitrary options.
|
||||
dnl However, if you use this macro in a few places, it would be great
|
||||
dnl if you would make up a new function-macro and submit it to the
|
||||
dnl ac-archive.
|
||||
dnl
|
||||
dnl - $1 option-to-check-for : required ("-option" as non-value)
|
||||
dnl - $2 shell-variable-to-add-to : CFLAGS (or CXXFLAGS in the other case)
|
||||
dnl - $3 action-if-found : add value to shellvariable
|
||||
dnl - $4 action-if-not-found : nothing
|
||||
dnl
|
||||
dnl note: in earlier versions, $1-$2 were swapped. We try to detect the
|
||||
dnl situation and accept a $2=~/-/ as being the old
|
||||
dnl option-to-check-for.
|
||||
dnl
|
||||
dnl see also: AX_CFLAGS_GCC_OPTION for the widely used original
|
||||
dnl variant.
|
||||
dnl
|
||||
dnl @category C
|
||||
dnl @author Guido Draheim <guidod@gmx.de>
|
||||
dnl @version 2005-01-21
|
||||
dnl @license GPLWithACException
|
||||
|
||||
AC_DEFUN([AX_CFLAGS_IRIX_OPTION_OLD], [dnl
|
||||
AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
|
||||
AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_irix_option_$2])dnl
|
||||
AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for irix/cc m4_ifval($2,$2,-option)],
|
||||
VAR,[VAR="no, unknown"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
ac_save_[]FLAGS="$[]FLAGS"
|
||||
for ac_arg dnl
|
||||
in "-fullwarn -use_readonly_const % m4_ifval($2,$2,-option)" dnl IRIX C
|
||||
#
|
||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
||||
AC_TRY_COMPILE([],[return 0;],
|
||||
[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
||||
done
|
||||
FLAGS="$ac_save_[]FLAGS"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
case ".$VAR" in
|
||||
.ok|.ok,*) m4_ifvaln($3,$3) ;;
|
||||
.|.no|.no,*) m4_ifvaln($4,$4) ;;
|
||||
*) m4_ifvaln($3,$3,[
|
||||
if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
|
||||
then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
|
||||
else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
|
||||
m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
|
||||
fi ]) ;;
|
||||
esac
|
||||
AS_VAR_POPDEF([VAR])dnl
|
||||
AS_VAR_POPDEF([FLAGS])dnl
|
||||
])
|
||||
|
||||
dnl the only difference - the LANG selection... and the default FLAGS
|
||||
|
||||
AC_DEFUN([AX_CXXFLAGS_IRIX_OPTION_OLD], [dnl
|
||||
AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
|
||||
AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_irix_option_$2])dnl
|
||||
AC_CACHE_CHECK([m4_ifval($1,$1,FLAGS) for irix/cc m4_ifval($2,$2,-option)],
|
||||
VAR,[VAR="no, unknown"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CXX
|
||||
ac_save_[]FLAGS="$[]FLAGS"
|
||||
for ac_arg dnl
|
||||
in "-fullwarn -use_readonly_const % m4_ifval($2,$2,-option)" dnl IRIX C
|
||||
#
|
||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
||||
AC_TRY_COMPILE([],[return 0;],
|
||||
[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
||||
done
|
||||
FLAGS="$ac_save_[]FLAGS"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
case ".$VAR" in
|
||||
.ok|.ok,*) m4_ifvaln($3,$3) ;;
|
||||
.|.no|.no,*) m4_ifvaln($4,$4) ;;
|
||||
*) m4_ifvaln($3,$3,[
|
||||
if echo " $[]m4_ifval($1,$1,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
|
||||
then AC_RUN_LOG([: m4_ifval($1,$1,FLAGS) does contain $VAR])
|
||||
else AC_RUN_LOG([: m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"])
|
||||
m4_ifval($1,$1,FLAGS)="$m4_ifval($1,$1,FLAGS) $VAR"
|
||||
fi ]) ;;
|
||||
esac
|
||||
AS_VAR_POPDEF([VAR])dnl
|
||||
AS_VAR_POPDEF([FLAGS])dnl
|
||||
])
|
||||
|
||||
dnl --------------------------------------------------------------------------
|
||||
|
||||
AC_DEFUN([AX_CFLAGS_IRIX_OPTION_NEW], [dnl
|
||||
AS_VAR_PUSHDEF([FLAGS],[CFLAGS])dnl
|
||||
AS_VAR_PUSHDEF([VAR],[ac_cv_cflags_irix_option_$1])dnl
|
||||
AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for irix/cc m4_ifval($1,$1,-option)],
|
||||
VAR,[VAR="no, unknown"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_C
|
||||
ac_save_[]FLAGS="$[]FLAGS"
|
||||
for ac_arg dnl
|
||||
in "-fullwarn -use_readonly_const % m4_ifval($1,$1,-option)" dnl IRIX C
|
||||
#
|
||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
||||
AC_TRY_COMPILE([],[return 0;],
|
||||
[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
||||
done
|
||||
FLAGS="$ac_save_[]FLAGS"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
case ".$VAR" in
|
||||
.ok|.ok,*) m4_ifvaln($3,$3) ;;
|
||||
.|.no|.no,*) m4_ifvaln($4,$4) ;;
|
||||
*) m4_ifvaln($3,$3,[
|
||||
if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
|
||||
then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR])
|
||||
else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"])
|
||||
m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"
|
||||
fi ]) ;;
|
||||
esac
|
||||
AS_VAR_POPDEF([VAR])dnl
|
||||
AS_VAR_POPDEF([FLAGS])dnl
|
||||
])
|
||||
|
||||
dnl the only difference - the LANG selection... and the default FLAGS
|
||||
|
||||
AC_DEFUN([AX_CXXFLAGS_IRIX_OPTION_NEW], [dnl
|
||||
AS_VAR_PUSHDEF([FLAGS],[CXXFLAGS])dnl
|
||||
AS_VAR_PUSHDEF([VAR],[ac_cv_cxxflags_irix_option_$1])dnl
|
||||
AC_CACHE_CHECK([m4_ifval($2,$2,FLAGS) for irix/cc m4_ifval($1,$1,-option)],
|
||||
VAR,[VAR="no, unknown"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CXX
|
||||
ac_save_[]FLAGS="$[]FLAGS"
|
||||
for ac_arg dnl
|
||||
in "-fullwarn -use_readonly_const % m4_ifval($1,$1,-option)" dnl IRIX C
|
||||
#
|
||||
do FLAGS="$ac_save_[]FLAGS "`echo $ac_arg | sed -e 's,%%.*,,' -e 's,%,,'`
|
||||
AC_TRY_COMPILE([],[return 0;],
|
||||
[VAR=`echo $ac_arg | sed -e 's,.*% *,,'` ; break])
|
||||
done
|
||||
FLAGS="$ac_save_[]FLAGS"
|
||||
AC_LANG_RESTORE
|
||||
])
|
||||
case ".$VAR" in
|
||||
.ok|.ok,*) m4_ifvaln($3,$3) ;;
|
||||
.|.no|.no,*) m4_ifvaln($4,$4) ;;
|
||||
*) m4_ifvaln($3,$3,[
|
||||
if echo " $[]m4_ifval($2,$2,FLAGS) " | grep " $VAR " 2>&1 >/dev/null
|
||||
then AC_RUN_LOG([: m4_ifval($2,$2,FLAGS) does contain $VAR])
|
||||
else AC_RUN_LOG([: m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"])
|
||||
m4_ifval($2,$2,FLAGS)="$m4_ifval($2,$2,FLAGS) $VAR"
|
||||
fi ]) ;;
|
||||
esac
|
||||
AS_VAR_POPDEF([VAR])dnl
|
||||
AS_VAR_POPDEF([FLAGS])dnl
|
||||
])
|
||||
|
||||
AC_DEFUN([AX_CFLAGS_IRIX_OPTION],[ifelse(m4_bregexp([$2],[-]),-1,
|
||||
[AX_CFLAGS_IRIX_OPTION_NEW($@)],[AX_CFLAGS_IRIX_OPTION_OLD($@)])])
|
||||
|
||||
AC_DEFUN([AX_CXXFLAGS_IRIX_OPTION],[ifelse(m4_bregexp([$2],[-]),-1,
|
||||
[AX_CXXFLAGS_IRIX_OPTION_NEW($@)],[AX_CXXFLAGS_IRIX_OPTION_OLD($@)])])
|
@ -1,180 +0,0 @@
|
||||
dnl SMB Build Environment CC Checks
|
||||
dnl -------------------------------------------------------
|
||||
dnl Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
dnl Released under the GNU GPL
|
||||
dnl -------------------------------------------------------
|
||||
dnl
|
||||
|
||||
AC_LIBREPLACE_CC_CHECKS
|
||||
|
||||
#
|
||||
# Set the debug symbol option if we have
|
||||
# --enable-*developer or --enable-debug
|
||||
# and the compiler supports it
|
||||
#
|
||||
if test x$ac_cv_prog_cc_g = xyes -a x$debug = xyes; then
|
||||
CFLAGS="${CFLAGS} -g"
|
||||
fi
|
||||
|
||||
dnl ###########################################################################
|
||||
dnl _AC_LANG_COMPILER_SUNCC
|
||||
dnl Check whether the compiler for the current language is really Sun compiler.
|
||||
dnl ###########################################################################
|
||||
m4_define([AC_LANG_COMPILER_SUNCC],
|
||||
[AC_CACHE_CHECK([whether we are really using the Sun _AC_LANG compiler],
|
||||
[ac_cv_[]_AC_LANG_ABBREV[]_compiler_suncc],
|
||||
[_AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[#ifndef __SUNPRO_C
|
||||
choke me
|
||||
#endif
|
||||
]])],
|
||||
[ac_compiler_suncc=yes],
|
||||
[ac_compiler_suncc=no])
|
||||
ac_cv_[]_AC_LANG_ABBREV[]_compiler_suncc=$ac_compiler_suncc
|
||||
])])
|
||||
|
||||
AC_LANG_COMPILER_SUNCC
|
||||
|
||||
############################################
|
||||
# check if the compiler handles c99 struct initialization
|
||||
LIBREPLACE_C99_STRUCT_INIT(samba_cv_c99_struct_initialization=yes,
|
||||
samba_cv_c99_struct_initialization=no)
|
||||
|
||||
if test x"$samba_cv_c99_struct_initialization" != x"yes"; then
|
||||
AC_MSG_WARN([C compiler does not support c99 struct initialization!])
|
||||
AC_MSG_ERROR([Please Install gcc from http://gcc.gnu.org/])
|
||||
fi
|
||||
|
||||
############################################
|
||||
# check if the compiler can handle negative enum values
|
||||
# and don't truncate the values to INT_MAX
|
||||
# a runtime test is needed here
|
||||
AC_CACHE_CHECK([that the C compiler understands negative enum values],samba_cv_CC_NEGATIVE_ENUM_VALUES, [
|
||||
AC_TRY_RUN(
|
||||
[
|
||||
#include <stdio.h>
|
||||
enum negative_values { NEGATIVE_VALUE = 0xFFFFFFFF };
|
||||
int main(void) {
|
||||
enum negative_values v1 = NEGATIVE_VALUE;
|
||||
unsigned v2 = 0xFFFFFFFF;
|
||||
if (v1 != v2) {
|
||||
printf("v1=0x%08x v2=0x%08x\n", v1, v2);
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
],
|
||||
samba_cv_CC_NEGATIVE_ENUM_VALUES=yes,
|
||||
samba_cv_CC_NEGATIVE_ENUM_VALUES=no,
|
||||
samba_cv_CC_NEGATIVE_ENUM_VALUES=yes)])
|
||||
if test x"$samba_cv_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then
|
||||
AC_DEFINE(USE_UINT_ENUMS, 1, [Whether the compiler has uint enum support])
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([for test routines])
|
||||
AC_TRY_RUN([#include "${srcdir-.}/../tests/trivial.c"],
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_ERROR([cant find test code. Aborting config]),
|
||||
AC_MSG_WARN([cannot run when cross-compiling]))
|
||||
|
||||
#
|
||||
# Check if the compiler support ELF visibility for symbols
|
||||
#
|
||||
|
||||
visibility_attribute=no
|
||||
VISIBILITY_CFLAGS=""
|
||||
if test x"$GCC" = x"yes" ; then
|
||||
AX_CFLAGS_GCC_OPTION([-fvisibility=hidden], VISIBILITY_CFLAGS)
|
||||
fi
|
||||
|
||||
if test -n "$VISIBILITY_CFLAGS"; then
|
||||
AC_MSG_CHECKING([whether the C compiler supports the visibility attribute])
|
||||
OLD_CFLAGS="$CFLAGS"
|
||||
|
||||
CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
|
||||
AC_TRY_LINK([
|
||||
void vis_foo1(void) {}
|
||||
__attribute__((visibility("default"))) void vis_foo2(void) {}
|
||||
],[
|
||||
],[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE_VISIBILITY_ATTR,1,[Whether the C compiler supports the visibility attribute])
|
||||
visibility_attribute=yes
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
CFLAGS="$OLD_CFLAGS"
|
||||
fi
|
||||
AC_SUBST(visibility_attribute)
|
||||
|
||||
#
|
||||
# Check if the compiler can handle the options we selected by
|
||||
# --enable-*developer
|
||||
#
|
||||
DEVELOPER_CFLAGS=""
|
||||
if test x$developer = xyes; then
|
||||
OLD_CFLAGS="${CFLAGS}"
|
||||
|
||||
CFLAGS="${CFLAGS} -D_SAMBA_DEVELOPER_DONNOT_USE_O2_"
|
||||
DEVELOPER_CFLAGS="-DDEBUG_PASSWORD -DDEVELOPER"
|
||||
if test x"$GCC" = x"yes" ; then
|
||||
#
|
||||
# warnings we want...
|
||||
#
|
||||
AX_CFLAGS_GCC_OPTION(-Wall, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wshadow, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Werror-implicit-function-declaration, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wstrict-prototypes, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wpointer-arith, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wcast-qual, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wcast-align, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wwrite-strings, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wmissing-format-attribute, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wformat=2, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wdeclaration-after-statement, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wunused-macros, DEVELOPER_CFLAGS)
|
||||
# AX_CFLAGS_GCC_OPTION(-Wextra, DEVELOPER_CFLAGS)
|
||||
# AX_CFLAGS_GCC_OPTION(-Wc++-compat, DEVELOPER_CFLAGS)
|
||||
# AX_CFLAGS_GCC_OPTION(-Wmissing-prototypes, DEVELOPER_CFLAGS)
|
||||
# AX_CFLAGS_GCC_OPTION(-Wmissing-declarations, DEVELOPER_CFLAGS)
|
||||
# AX_CFLAGS_GCC_OPTION(-Wmissing-field-initializers, DEVELOPER_CFLAGS)
|
||||
#
|
||||
# warnings we don't want...
|
||||
#
|
||||
AX_CFLAGS_GCC_OPTION(-Wno-format-y2k, DEVELOPER_CFLAGS)
|
||||
AX_CFLAGS_GCC_OPTION(-Wno-unused-parameter, DEVELOPER_CFLAGS)
|
||||
#
|
||||
# warnings we don't want just for some files e.g. swig bindings
|
||||
#
|
||||
AX_CFLAGS_GCC_OPTION(-Wno-cast-qual, CFLAG_NO_CAST_QUAL)
|
||||
AC_SUBST(CFLAG_NO_CAST_QUAL)
|
||||
AX_CFLAGS_GCC_OPTION(-Wno-unused-macros, CFLAG_NO_UNUSED_MACROS)
|
||||
AC_SUBST(CFLAG_NO_UNUSED_MACROS)
|
||||
elif test x"$ac_cv_c_compiler_suncc" != x"yes"; then
|
||||
AX_CFLAGS_IRIX_OPTION(-fullwarn, DEVELOPER_CFLAGS)
|
||||
fi
|
||||
|
||||
CFLAGS="${OLD_CFLAGS}"
|
||||
fi
|
||||
if test -n "$DEVELOPER_CFLAGS"; then
|
||||
OLD_CFLAGS="${CFLAGS}"
|
||||
CFLAGS="${CFLAGS} ${DEVELOPER_CFLAGS}"
|
||||
AC_MSG_CHECKING([that the C compiler can use the DEVELOPER_CFLAGS])
|
||||
AC_TRY_COMPILE([],[],
|
||||
AC_MSG_RESULT(yes),
|
||||
DEVELOPER_CFLAGS=""; AC_MSG_RESULT(no))
|
||||
CFLAGS="${OLD_CFLAGS}"
|
||||
fi
|
||||
|
||||
# allow for --with-hostcc=gcc
|
||||
AC_ARG_WITH(hostcc,[ --with-hostcc=compiler choose host compiler],
|
||||
[HOSTCC=$withval],
|
||||
[
|
||||
if test z"$cross_compiling" = "yes"; then
|
||||
HOSTCC=cc
|
||||
else
|
||||
HOSTCC=$CC
|
||||
fi
|
||||
])
|
||||
AC_SUBST(HOSTCC)
|
||||
|
||||
AC_PATH_PROG(GCOV,gcov)
|
@ -1 +0,0 @@
|
||||
AC_PATH_PROG(XSLTPROC, xsltproc)
|
@ -1,187 +0,0 @@
|
||||
dnl SMB Build Environment LD Checks
|
||||
dnl -------------------------------------------------------
|
||||
dnl Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
dnl Copyright (C) Jelmer Vernooij 2006
|
||||
dnl Released under the GNU GPL
|
||||
dnl -------------------------------------------------------
|
||||
dnl
|
||||
|
||||
AC_PATH_PROG(PROG_LD,ld)
|
||||
LD=${PROG_LD}
|
||||
AC_PROG_LD_GNU
|
||||
LD=""
|
||||
|
||||
AC_SUBST(BLDSHARED)
|
||||
AC_SUBST(LD)
|
||||
AC_SUBST(SYS_LDFLAGS)
|
||||
AC_SUBST(LDFLAGS)
|
||||
|
||||
# Assume non-shared by default and override below
|
||||
# these are the defaults, good for lots of systems
|
||||
BLDSHARED="false"
|
||||
LD="${CC}"
|
||||
PICFLAG=""
|
||||
|
||||
# allow for --with-hostld=gcc
|
||||
AC_ARG_WITH(hostld,[ --with-hostld=linker choose host linker],
|
||||
[HOSTLD=$withval],
|
||||
[HOSTLD=$HOSTCC])
|
||||
|
||||
AC_MSG_CHECKING([whether to try to build shared libraries on $host_os])
|
||||
|
||||
# and these are for particular systems
|
||||
case "$host_os" in
|
||||
*linux*)
|
||||
BLDSHARED="true"
|
||||
SYS_LDFLAGS="-Wl,--export-dynamic"
|
||||
;;
|
||||
*solaris*)
|
||||
BLDSHARED="true"
|
||||
if test "${GCC}" = "yes"; then
|
||||
if test "${ac_cv_prog_gnu_ld}" = "yes"; then
|
||||
SYS_LDFLAGS="-Wl,-E"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*sunos*)
|
||||
BLDSHARED="true"
|
||||
;;
|
||||
*netbsd* | *freebsd* | *dragonfly* )
|
||||
BLDSHARED="true"
|
||||
SYS_LDFLAGS="-Wl,--export-dynamic"
|
||||
;;
|
||||
*openbsd*)
|
||||
BLDSHARED="true"
|
||||
SYS_LDFLAGS="-Wl,-Bdynamic"
|
||||
;;
|
||||
*irix*)
|
||||
BLDSHARED="true"
|
||||
;;
|
||||
*aix*)
|
||||
BLDSHARED="true"
|
||||
SYS_LDFLAGS="-Wl,-brtl,-bexpall,-bbigtoc"
|
||||
;;
|
||||
*hpux*)
|
||||
# Use special PIC flags for the native HP-UX compiler.
|
||||
BLDSHARED="true" # I hope this is correct
|
||||
if test "$host_cpu" = "ia64"; then
|
||||
SYS_LDFLAGS="-Wl,-E,+b/usr/local/lib/hpux32:/usr/lib/hpux32"
|
||||
else
|
||||
SYS_LDFLAGS="-Wl,-E,+b/usr/local/lib:/usr/lib"
|
||||
fi
|
||||
;;
|
||||
*osf*)
|
||||
BLDSHARED="true"
|
||||
;;
|
||||
*unixware*)
|
||||
BLDSHARED="true"
|
||||
;;
|
||||
*darwin*)
|
||||
BLDSHARED="true"
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_MSG_RESULT($BLDSHARED)
|
||||
|
||||
AC_MSG_CHECKING([LD])
|
||||
AC_MSG_RESULT([$LD])
|
||||
AC_MSG_CHECKING([LDFLAGS])
|
||||
AC_MSG_RESULT([$LDFLAGS])
|
||||
AC_MSG_CHECKING([SYS_LDFLAGS])
|
||||
AC_MSG_RESULT([$SYS_LDFLAGS])
|
||||
|
||||
AC_SUBST(HOSTLD)
|
||||
|
||||
AC_LIBREPLACE_STLD
|
||||
AC_LIBREPLACE_STLD_FLAGS
|
||||
|
||||
AC_MSG_CHECKING([STLD])
|
||||
AC_MSG_RESULT([$STLD])
|
||||
AC_MSG_CHECKING([STLD_FLAGS])
|
||||
AC_MSG_RESULT([$STLD_FLAGS])
|
||||
|
||||
AC_LD_PICFLAG
|
||||
AC_LD_EXPORT_DYNAMIC
|
||||
AC_LD_SHLIBEXT
|
||||
AC_LD_SONAMEFLAG
|
||||
AC_LIBREPLACE_SHLD
|
||||
AC_LIBREPLACE_SHLD_FLAGS
|
||||
AC_LIBREPLACE_MDLD
|
||||
AC_LIBREPLACE_MDLD_FLAGS
|
||||
AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
|
||||
|
||||
#######################################################
|
||||
# test whether building a shared library actually works
|
||||
if test $BLDSHARED = true; then
|
||||
|
||||
AC_MSG_CHECKING([SHLD])
|
||||
AC_MSG_RESULT([$SHLD])
|
||||
AC_MSG_CHECKING([SHLD_FLAGS])
|
||||
AC_MSG_RESULT([$SHLD_FLAGS])
|
||||
|
||||
AC_MSG_CHECKING([MDLD])
|
||||
AC_MSG_RESULT([$MDLD])
|
||||
AC_MSG_CHECKING([MDLD_FLAGS])
|
||||
AC_MSG_RESULT([$MDLD_FLAGS])
|
||||
|
||||
AC_MSG_CHECKING([SHLIBEXT])
|
||||
AC_MSG_RESULT([$SHLIBEXT])
|
||||
AC_MSG_CHECKING([SONAMEFLAG])
|
||||
AC_MSG_RESULT([$SONAMEFLAG])
|
||||
|
||||
AC_MSG_CHECKING([PICFLAG])
|
||||
AC_MSG_RESULT([$PICFLAG])
|
||||
|
||||
AC_CACHE_CHECK([whether building shared libraries actually works],
|
||||
[ac_cv_shlib_works],[
|
||||
ac_cv_shlib_works=no
|
||||
# try building a trivial shared library
|
||||
# TODO: also test SONAMEFLAG
|
||||
${CC} ${CFLAGS} ${PICFLAG} -c ${srcdir-.}/../tests/shlib.c -o shlib.o &&
|
||||
${SHLD} ${SHLD_FLAGS} -o shlib.${SHLIBEXT} shlib.o &&
|
||||
ac_cv_shlib_works=yes
|
||||
rm -f shlib.${SHLIBEXT} shlib.o
|
||||
])
|
||||
AC_CACHE_CHECK([whether building shared modules actually works],
|
||||
[ac_cv_shmod_works],[
|
||||
ac_cv_shmod_works=no
|
||||
# try building a trivial shared library
|
||||
${CC} ${CFLAGS} ${PICFLAG} -c ${srcdir-.}/../tests/shlib.c -o shlib.o &&
|
||||
${MDLD} ${MDLD_FLAGS} -o shlib.${SHLIBEXT} shlib.o &&
|
||||
ac_cv_shmod_works=yes
|
||||
rm -f shlib.${SHLIBEXT} shlib.o
|
||||
])
|
||||
if test $ac_cv_shlib_works = no; then
|
||||
AC_MSG_ERROR(unable to build shared libraries)
|
||||
fi
|
||||
if test $ac_cv_shmod_works = no; then
|
||||
AC_MSG_ERROR(unable to build shared modules)
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED(SHLIBEXT, "$SHLIBEXT", [Shared library extension])
|
||||
|
||||
AC_MSG_CHECKING([if we can link using the selected flags])
|
||||
AC_TRY_RUN([#include "${srcdir-.}/../tests/trivial.c"],
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_ERROR([we cannot link with the selected cc and ld flags. Aborting configure]),
|
||||
AC_MSG_WARN([cannot run when cross-compiling]))
|
||||
|
||||
|
||||
USESHARED=false
|
||||
AC_SUBST(USESHARED)
|
||||
|
||||
AC_ARG_ENABLE(dso,
|
||||
[ --enable-dso Enable using shared libraries internally (experimental)],
|
||||
[],[enable_dso=no])
|
||||
|
||||
if test x"$enable_dso" = x"yes" -a x"$BLDSHARED" != x"true"; then
|
||||
AC_MSG_ERROR([--enable-dso: no support for shared libraries])
|
||||
fi
|
||||
|
||||
if test x"$enable_dso" != x"no"; then
|
||||
USESHARED=$BLDSHARED
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([if binaries will use shared libraries])
|
||||
AC_MSG_RESULT([$USESHARED])
|
@ -1,233 +0,0 @@
|
||||
dnl SMB Build Environment Path Checks
|
||||
dnl -------------------------------------------------------
|
||||
dnl Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
dnl Released under the GNU GPL
|
||||
dnl -------------------------------------------------------
|
||||
dnl
|
||||
|
||||
AC_LIBREPLACE_LOCATION_CHECKS
|
||||
|
||||
#################################################
|
||||
# Directory handling stuff to support both the
|
||||
# legacy SAMBA directories and FHS compliant
|
||||
# ones...
|
||||
AC_PREFIX_DEFAULT(/usr/local/samba)
|
||||
|
||||
# Defaults and --without-fhs
|
||||
logfilebase="${localstatedir}"
|
||||
lockdir="${localstatedir}/locks"
|
||||
piddir="${localstatedir}/run"
|
||||
privatedir="\${prefix}/private"
|
||||
modulesdir="\${prefix}/modules"
|
||||
winbindd_socket_dir="${localstatedir}/run/winbindd"
|
||||
winbindd_privileged_socket_dir="${localstatedir}/lib/winbindd_privileged"
|
||||
ntp_signd_socket_dir="${localstatedir}/run/ntp_signd"
|
||||
|
||||
AC_ARG_ENABLE(fhs,
|
||||
[AS_HELP_STRING([--enable-fhs],[Use FHS-compliant paths (default=no)])],
|
||||
[fhs=$enableval],
|
||||
[fhs=no]
|
||||
)
|
||||
|
||||
if test x$fhs = xyes; then
|
||||
lockdir="${localstatedir}/lib/samba"
|
||||
piddir="${localstatedir}/run/samba"
|
||||
logfilebase="${localstatedir}/log/samba"
|
||||
privatedir="${localstatedir}/lib/samba/private"
|
||||
sysconfdir="${sysconfdir}/samba"
|
||||
modulesdir="${libdir}/samba"
|
||||
datadir="${datadir}/samba"
|
||||
includedir="${includedir}/samba-4.0"
|
||||
ntp_signd_socket_dir="${localstatedir}/run/samba/ntp_signd"
|
||||
winbindd_socket_dir="${localstatedir}/run/samba/winbindd"
|
||||
winbindd_privileged_socket_dir="${localstatedir}/lib/samba/winbindd_privileged"
|
||||
else
|
||||
# Check to prevent installing directly under /usr without the FHS
|
||||
AS_IF([test $prefix = /usr || test $prefix = /usr/local],[
|
||||
AC_MSG_ERROR([Don't install directly under "/usr" or "/usr/local" without using the FHS option (--enable-fhs). This could lead to file loss!])
|
||||
])
|
||||
fi
|
||||
|
||||
#################################################
|
||||
# set modules directory location
|
||||
AC_ARG_WITH(modulesdir,
|
||||
[AS_HELP_STRING([--with-modulesdir=DIR],[Where to put dynamically loadable modules ($modulesdir)])],
|
||||
[ case "$withval" in
|
||||
yes|no)
|
||||
#
|
||||
# Just in case anybody calls it without argument
|
||||
#
|
||||
AC_MSG_WARN([--with-modulesdir called without argument - will use default])
|
||||
;;
|
||||
* )
|
||||
modulesdir="$withval"
|
||||
;;
|
||||
esac])
|
||||
|
||||
#################################################
|
||||
# set private directory location
|
||||
AC_ARG_WITH(privatedir,
|
||||
[AS_HELP_STRING([--with-privatedir=DIR],[Where to put sam.ldb and other private files containing key material ($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 where the winbindd socket should be put
|
||||
AC_ARG_WITH(winbindd-socket-dir,
|
||||
[AS_HELP_STRING([--with-winbindd-socket-dir=DIR],[Where to put the winbindd socket ($winbindd_socket_dir)])],
|
||||
[ case "$withval" in
|
||||
yes|no)
|
||||
#
|
||||
# Just in case anybody calls it without argument
|
||||
#
|
||||
AC_MSG_WARN([--with-winbind-socketdir called without argument - will use default])
|
||||
;;
|
||||
* )
|
||||
winbindd_socket_dir="$withval"
|
||||
;;
|
||||
esac])
|
||||
|
||||
#################################################
|
||||
# set where the winbindd privileged socket should be put
|
||||
AC_ARG_WITH(winbindd-privileged-socket-dir,
|
||||
[AS_HELP_STRING([--with-winbindd-privileged-socket-dir=DIR],[Where to put the winbindd socket ($winbindd_privileged_socket_dir)])],
|
||||
[ case "$withval" in
|
||||
yes|no)
|
||||
#
|
||||
# Just in case anybody calls it without argument
|
||||
#
|
||||
AC_MSG_WARN([--with-winbind-privileged-socketdir called without argument - will use default])
|
||||
;;
|
||||
* )
|
||||
winbindd_privileged_socket_dir="$withval"
|
||||
;;
|
||||
esac])
|
||||
|
||||
#################################################
|
||||
# set where the NTP signing deamon socket should be put
|
||||
AC_ARG_WITH(ntp-signd-socket-dir,
|
||||
[AS_HELP_STRING([--with-ntp-signd-socket-dir=DIR],[Where to put the NTP signing deamon socket ($ac_default_prefix/run/ntp_signd)])],
|
||||
[ case "$withval" in
|
||||
yes|no)
|
||||
#
|
||||
# Just in case anybody calls it without argument
|
||||
#
|
||||
AC_MSG_WARN([--with-ntp-signd-socketdir called without argument - will use default])
|
||||
;;
|
||||
* )
|
||||
ntp_signd_socket_dir="$withval"
|
||||
;;
|
||||
esac])
|
||||
|
||||
#################################################
|
||||
# set lock directory location
|
||||
AC_ARG_WITH(lockdir,
|
||||
[AS_HELP_STRING([--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,
|
||||
[AS_HELP_STRING([--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 log directory location
|
||||
AC_ARG_WITH(logfilebase,
|
||||
[AS_HELP_STRING([--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(lockdir)
|
||||
AC_SUBST(piddir)
|
||||
AC_SUBST(logfilebase)
|
||||
AC_SUBST(privatedir)
|
||||
AC_SUBST(bindir)
|
||||
AC_SUBST(sbindir)
|
||||
AC_SUBST(winbindd_socket_dir)
|
||||
AC_SUBST(winbindd_privileged_socket_dir)
|
||||
AC_SUBST(ntp_signd_socket_dir)
|
||||
AC_SUBST(modulesdir)
|
||||
|
||||
#################################################
|
||||
# set prefix for 'make test'
|
||||
# this is needed to workarround the 108 char
|
||||
# unix socket path limitation!
|
||||
#
|
||||
selftest_prefix="./st"
|
||||
AC_SUBST(selftest_prefix)
|
||||
AC_ARG_WITH(selftest-prefix,
|
||||
[AS_HELP_STRING([--with-selftest-prefix=DIR],[The prefix where make test will be run ($selftest_prefix)])],
|
||||
[ case "$withval" in
|
||||
yes|no)
|
||||
AC_MSG_WARN([--with-selftest-prefix called without argument - will use default])
|
||||
;;
|
||||
* )
|
||||
selftest_prefix="$withval"
|
||||
;;
|
||||
esac])
|
||||
|
||||
debug=no
|
||||
AC_ARG_ENABLE(debug,
|
||||
[AS_HELP_STRING([--enable-debug],[Turn on compiler debugging information (default=no)])],
|
||||
[if test x$enable_debug = xyes; then
|
||||
debug=yes
|
||||
fi])
|
||||
|
||||
developer=no
|
||||
AC_SUBST(developer)
|
||||
AC_ARG_ENABLE(developer,
|
||||
[AS_HELP_STRING([--enable-developer],[Turn on developer warnings and debugging (default=no)])],
|
||||
[if test x$enable_developer = xyes; then
|
||||
debug=yes
|
||||
developer=yes
|
||||
fi])
|
||||
|
||||
dnl disable these external libs
|
||||
AC_ARG_WITH(disable-ext-lib,
|
||||
[AS_HELP_STRING([--with-disable-ext-lib=LIB],[Comma-seperated list of external libraries])],
|
||||
[ if test $withval; then
|
||||
for i in `echo $withval | sed -e's/,/ /g'`
|
||||
do
|
||||
eval SMB_$i=NO
|
||||
done
|
||||
fi ])
|
@ -1,90 +0,0 @@
|
||||
dnl SMB Build Environment Checks
|
||||
dnl -------------------------------------------------------
|
||||
dnl Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
dnl Copyright (C) Jelmer Vernooij 2005,2008
|
||||
dnl Released under the GNU GPL
|
||||
dnl -------------------------------------------------------
|
||||
dnl
|
||||
|
||||
AC_SUBST(srcdir)
|
||||
export srcdir;
|
||||
|
||||
# we always set builddir to "." as that's nicer than
|
||||
# having the absolute path of the current work directory
|
||||
builddir=.
|
||||
AC_SUBST(builddir)
|
||||
export builddir;
|
||||
|
||||
AC_SUBST(datarootdir)
|
||||
|
||||
AC_SUBST(VPATH)
|
||||
VPATH="\$(builddir):\$(srcdir)"
|
||||
|
||||
SMB_VERSION_STRING=`cat ${srcdir}/version.h | grep 'SAMBA_VERSION_OFFICIAL_STRING' | cut -d '"' -f2`
|
||||
echo "SAMBA VERSION: ${SMB_VERSION_STRING}"
|
||||
|
||||
SAMBA_VERSION_GIT_COMMIT_FULLREV=`cat ${srcdir}/version.h | grep 'SAMBA_VERSION_GIT_COMMIT_FULLREV' | cut -d ' ' -f3- | cut -d '"' -f2`
|
||||
if test -n "${SAMBA_VERSION_GIT_COMMIT_FULLREV}";then
|
||||
echo "BUILD COMMIT REVISION: ${SAMBA_VERSION_GIT_COMMIT_FULLREV}"
|
||||
fi
|
||||
SAMBA_VERSION_GIT_COMMIT_DATE=`cat ${srcdir}/version.h | grep 'SAMBA_VERSION_GIT_COMMIT_DATE' | cut -d ' ' -f3-`
|
||||
if test -n "${SAMBA_VERSION_GIT_COMMIT_DATE}";then
|
||||
echo "BUILD COMMIT DATE: ${SAMBA_VERSION_GIT_COMMIT_DATE}"
|
||||
fi
|
||||
SAMBA_VERSION_GIT_COMMIT_TIME=`cat ${srcdir}/version.h | grep 'SAMBA_VERSION_GIT_COMMIT_TIME' | cut -d ' ' -f3-`
|
||||
if test -n "${SAMBA_VERSION_GIT_COMMIT_TIME}";then
|
||||
echo "BUILD COMMIT TIME: ${SAMBA_VERSION_GIT_COMMIT_TIME}"
|
||||
|
||||
# just to keep the build-farm gui happy for now...
|
||||
echo "BUILD REVISION: ${SAMBA_VERSION_GIT_COMMIT_TIME}"
|
||||
fi
|
||||
|
||||
m4_include(build/m4/check_path.m4)
|
||||
m4_include(../m4/check_perl.m4)
|
||||
|
||||
AC_SAMBA_PERL([], [AC_MSG_ERROR([Please install perl from http://www.perl.com/])])
|
||||
|
||||
AC_PATH_PROG(YAPP, yapp, false)
|
||||
|
||||
m4_include(build/m4/check_cc.m4)
|
||||
m4_include(build/m4/check_ld.m4)
|
||||
m4_include(../m4/check_make.m4)
|
||||
|
||||
AC_SAMBA_GNU_MAKE([AC_MSG_RESULT(found)], [AC_MSG_ERROR([Unable to find GNU make])])
|
||||
AC_SAMBA_GNU_MAKE_VERSION()
|
||||
GNU_MAKE_VERSION=$samba_cv_gnu_make_version
|
||||
AC_SUBST(GNU_MAKE_VERSION)
|
||||
|
||||
new_make=no
|
||||
AC_MSG_CHECKING([for GNU make >= 3.81])
|
||||
if $PERL -e " \$_ = '$GNU_MAKE_VERSION'; s/@<:@^\d\.@:>@.*//g; exit (\$_ < 3.81);"; then
|
||||
new_make=yes
|
||||
fi
|
||||
AC_MSG_RESULT($new_make)
|
||||
automatic_dependencies=no
|
||||
AX_CFLAGS_GCC_OPTION([-M -MT conftest.d -MF conftest.o], [], [ automatic_dependencies=$new_make ], [])
|
||||
AC_MSG_CHECKING([Whether to use automatic dependencies])
|
||||
AC_ARG_ENABLE(automatic-dependencies,
|
||||
[ --enable-automatic-dependencies Enable automatic dependencies],
|
||||
[ automatic_dependencies=$enableval ],
|
||||
[ automatic_dependencies=no ])
|
||||
AC_MSG_RESULT($automatic_dependencies)
|
||||
AC_SUBST(automatic_dependencies)
|
||||
|
||||
m4_include(build/m4/check_doc.m4)
|
||||
|
||||
m4_include(../m4/check_python.m4)
|
||||
|
||||
AC_SAMBA_PYTHON_DEVEL([
|
||||
SMB_EXT_LIB(EXT_LIB_PYTHON, [$PYTHON_LDFLAGS], [$PYTHON_CFLAGS])
|
||||
SMB_ENABLE(EXT_LIB_PYTHON,YES)
|
||||
SMB_ENABLE(LIBPYTHON,YES)
|
||||
],[
|
||||
AC_MSG_ERROR([Python not found. Please install Python 2.x and its development headers/libraries.])
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING(python library directory)
|
||||
pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1, 0, '\\${prefix}')"`
|
||||
AC_MSG_RESULT($pythondir)
|
||||
|
||||
AC_SUBST(pythondir)
|
@ -1,282 +0,0 @@
|
||||
dnl SMB Build System
|
||||
dnl ----------------
|
||||
dnl Copyright (C) 2004 Stefan Metzmacher
|
||||
dnl Copyright (C) 2004-2005 Jelmer Vernooij
|
||||
dnl Published under the GPL
|
||||
dnl
|
||||
dnl SMB_EXT_LIB_FROM_PKGCONFIG(name,pkg-config name,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
|
||||
dnl
|
||||
dnl SMB_INCLUDED_LIB_PKGCONFIG(name,pkg-config name,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
|
||||
dnl
|
||||
dnl SMB_EXT_LIB(name,libs,cflags,cppflags,ldflags)
|
||||
dnl
|
||||
dnl SMB_ENABLE(name,default_build)
|
||||
dnl
|
||||
dnl SMB_INCLUDE_MK(file)
|
||||
dnl
|
||||
dnl SMB_WRITE_MAKEVARS(file)
|
||||
dnl
|
||||
dnl SMB_WRITE_PERLVARS(file)
|
||||
dnl
|
||||
dnl #######################################################
|
||||
dnl ### And now the implementation ###
|
||||
dnl #######################################################
|
||||
|
||||
dnl SMB_SUBSYSTEM(name,obj_files,required_subsystems,cflags)
|
||||
AC_DEFUN([SMB_SUBSYSTEM],
|
||||
[
|
||||
MAKE_SETTINGS="$MAKE_SETTINGS
|
||||
$1_CFLAGS = $4
|
||||
$1_ENABLE = YES
|
||||
$1_OBJ_FILES = $2
|
||||
"
|
||||
|
||||
SMB_INFO_SUBSYSTEMS="$SMB_INFO_SUBSYSTEMS
|
||||
###################################
|
||||
# Start Subsystem $1
|
||||
@<:@SUBSYSTEM::$1@:>@
|
||||
PRIVATE_DEPENDENCIES = $3
|
||||
CFLAGS = \$($1_CFLAGS)
|
||||
ENABLE = YES
|
||||
# End Subsystem $1
|
||||
###################################
|
||||
"
|
||||
])
|
||||
|
||||
dnl SMB_BUILD_LIBRARY(name,obj_files,required_subsystems,cflags,ldflags,realname)
|
||||
AC_DEFUN([SMB_BUILD_LIBRARY],
|
||||
[
|
||||
MAKE_SETTINGS="$MAKE_SETTINGS
|
||||
$1_CFLAGS = $4
|
||||
$1_LDFLAGS = $5
|
||||
n1_ENABLE = YES
|
||||
$1_OBJ_FILES = $2
|
||||
"
|
||||
|
||||
SMB_INFO_LIBRARIES="$SMB_INFO_LIBRARIES
|
||||
###################################
|
||||
# Start Library $1
|
||||
@<:@LIBRARY::$1@:>@
|
||||
PRIVATE_DEPENDENCIES = $3
|
||||
CFLAGS = \$($1_CFLAGS)
|
||||
LDFLAGS = \$($1_LDFLAGS)
|
||||
ENABLE = YES
|
||||
ifelse([$6], [], [], [LIBRARY_REALNAME = $6])
|
||||
# End Library $1
|
||||
###################################
|
||||
"
|
||||
])
|
||||
|
||||
dnl SMB_EXT_LIB_FROM_PKGCONFIG(name,pkg-config name,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
|
||||
AC_DEFUN([SMB_EXT_LIB_FROM_PKGCONFIG],
|
||||
[
|
||||
dnl Figure out the correct variables and call SMB_EXT_LIB()
|
||||
|
||||
if test -z "$PKG_CONFIG"; then
|
||||
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
|
||||
fi
|
||||
|
||||
if test "$PKG_CONFIG" = "no" ; then
|
||||
echo "*** The pkg-config script could not be found. Make sure it is"
|
||||
echo "*** in your path, or set the PKG_CONFIG environment variable"
|
||||
echo "*** to the full path to pkg-config."
|
||||
echo "*** Or see http://pkg-config.freedesktop.org/ to get pkg-config."
|
||||
ac_cv_$1_found=no
|
||||
else
|
||||
SAMBA_PKG_CONFIG_MIN_VERSION="0.9.0"
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version $SAMBA_PKG_CONFIG_MIN_VERSION; then
|
||||
AC_MSG_CHECKING(for $2)
|
||||
|
||||
if $PKG_CONFIG --exists '$2' ; then
|
||||
AC_MSG_RESULT(yes)
|
||||
|
||||
$1_CFLAGS="`$PKG_CONFIG --cflags '$2'`"
|
||||
OLD_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS $$1_CFLAGS"
|
||||
AC_MSG_CHECKING([that the C compiler can use the $1_CFLAGS])
|
||||
AC_TRY_RUN([#include "${srcdir-.}/../tests/trivial.c"],
|
||||
SMB_ENABLE($1, YES)
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_RESULT(no),
|
||||
AC_MSG_WARN([cannot run when cross-compiling]))
|
||||
CFLAGS="$OLD_CFLAGS"
|
||||
|
||||
ac_cv_$1_libs_only_other="`$PKG_CONFIG --libs-only-other '$2'` `$PKG_CONFIG --libs-only-L '$2'`"
|
||||
LIB_REMOVE_USR_LIB(ac_cv_$1_libs_only_other)
|
||||
ac_cv_$1_includedir_only="`$PKG_CONFIG --cflags-only-I '$2'`"
|
||||
CFLAGS_REMOVE_USR_INCLUDE(ac_cv_$1_includedir_only)
|
||||
SMB_EXT_LIB($1,
|
||||
[`$PKG_CONFIG --libs-only-l '$2'`],
|
||||
[`$PKG_CONFIG --cflags-only-other '$2'`],
|
||||
[$ac_cv_$1_includedir_only],
|
||||
[$ac_cv_$1_libs_only_other])
|
||||
ac_cv_$1_found=yes
|
||||
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
$PKG_CONFIG --errors-to-stdout --print-errors '$2'
|
||||
ac_cv_$1_found=no
|
||||
fi
|
||||
else
|
||||
echo "*** Your version of pkg-config is too old. You need version $SAMBA_PKG_CONFIG_MIN_VERSION or newer."
|
||||
echo "*** See http://pkg-config.freedesktop.org/"
|
||||
ac_cv_$1_found=no
|
||||
fi
|
||||
fi
|
||||
if test x$ac_cv_$1_found = x"yes"; then
|
||||
ifelse([$3], [], [echo -n ""], [$3])
|
||||
else
|
||||
ifelse([$4], [], [
|
||||
SMB_EXT_LIB($1)
|
||||
SMB_ENABLE($1, NO)
|
||||
], [$4])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl SMB_INCLUDED_LIB_PKGCONFIG(name,pkg-config name,[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
|
||||
AC_DEFUN([SMB_INCLUDED_LIB_PKGCONFIG],
|
||||
[
|
||||
AC_ARG_ENABLE([external-]translit($1,`A-Z',`a-z'),
|
||||
AS_HELP_STRING([--enable-external-]translit($1,`A-Z',`a-z'), [Use external $1 instead of built-in (default=ifelse([$5],[],auto,$5))]), [], [enableval=ifelse([$5],[],auto,$5)])
|
||||
|
||||
if test $enableval = yes -o $enableval = auto; then
|
||||
SMB_EXT_LIB_FROM_PKGCONFIG([$1], [$2], [$3], [
|
||||
if test $enableval = yes; then
|
||||
AC_MSG_ERROR([Unable to find external $1])
|
||||
fi
|
||||
enableval=no
|
||||
])
|
||||
fi
|
||||
if test $enableval = no; then
|
||||
ifelse([$4], [], [
|
||||
SMB_EXT_LIB($1)
|
||||
SMB_ENABLE($1, NO)
|
||||
], [$4])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl SMB_INCLUDE_MK(file)
|
||||
AC_DEFUN([SMB_INCLUDE_MK],
|
||||
[
|
||||
SMB_INFO_EXT_LIBS="$SMB_INFO_EXT_LIBS
|
||||
mkinclude $1
|
||||
"
|
||||
])
|
||||
|
||||
dnl
|
||||
dnl SMB_EXT_LIB() just specifies the details of the library.
|
||||
dnl Note: the library isn't enabled by default.
|
||||
dnl You need to enable it with SMB_ENABLE(name) if configure
|
||||
dnl find it should be used. E.g. it should not be enabled
|
||||
dnl if the library is present, but the header file is missing.
|
||||
dnl
|
||||
dnl SMB_EXT_LIB(name,libs,cflags,cppflags,ldflags)
|
||||
AC_DEFUN([SMB_EXT_LIB],
|
||||
[
|
||||
MAKE_SETTINGS="$MAKE_SETTINGS
|
||||
$1_LIBS = $2
|
||||
$1_CFLAGS = $3
|
||||
$1_CPPFLAGS = $4
|
||||
$1_LDFLAGS = $5
|
||||
"
|
||||
|
||||
])
|
||||
|
||||
dnl SMB_ENABLE(name,default_build)
|
||||
AC_DEFUN([SMB_ENABLE],
|
||||
[
|
||||
MAKE_SETTINGS="$MAKE_SETTINGS
|
||||
$1_ENABLE = $2
|
||||
"
|
||||
SMB_INFO_ENABLES="$SMB_INFO_ENABLES
|
||||
\$enabled{\"$1\"} = \"$2\";"
|
||||
])
|
||||
|
||||
dnl SMB_MAKE_SETTINGS(text)
|
||||
AC_DEFUN([SMB_MAKE_SETTINGS],
|
||||
[
|
||||
MAKE_SETTINGS="$MAKE_SETTINGS
|
||||
$1
|
||||
"
|
||||
])
|
||||
|
||||
dnl SMB_WRITE_MAKEVARS(path, skip_vars)
|
||||
AC_DEFUN([SMB_WRITE_MAKEVARS],
|
||||
[
|
||||
echo "configure: creating $1"
|
||||
cat >$1<<CEOF
|
||||
# $1 - Autogenerated by configure, DO NOT EDIT!
|
||||
$MAKE_SETTINGS
|
||||
CEOF
|
||||
skip_vars=" $2 "
|
||||
for ac_var in $ac_subst_vars
|
||||
do
|
||||
eval ac_val=\$$ac_var
|
||||
if echo "$skip_vars" | grep -v " $ac_var " >/dev/null 2>/dev/null; then
|
||||
echo "$ac_var = $ac_val" >> $1
|
||||
fi
|
||||
done
|
||||
])
|
||||
|
||||
dnl SMB_WRITE_PERLVARS(path)
|
||||
AC_DEFUN([SMB_WRITE_PERLVARS],
|
||||
[
|
||||
echo "configure: creating $1"
|
||||
cat >$1<<CEOF
|
||||
# config.pm - Autogenerate by configure. DO NOT EDIT!
|
||||
|
||||
package config;
|
||||
require Exporter;
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT_OK = qw(%enabled %config);
|
||||
use strict;
|
||||
|
||||
use vars qw(%enabled %config);
|
||||
|
||||
%config = (
|
||||
CEOF
|
||||
|
||||
for ac_var in $ac_subst_vars
|
||||
do
|
||||
eval ac_val=\$$ac_var
|
||||
# quote ' (\x27) inside '...' and make sure \ isn't eaten by shells, so use perl:
|
||||
QAC_VAL=$ac_val QAC_VAR=$ac_var perl -e '$myval="$ENV{QAC_VAL}"; $myval =~ s/\x27/\\\x27/g ; print $ENV{QAC_VAR}." => \x27$myval\x27,\n"' >> $1
|
||||
done
|
||||
|
||||
cat >>$1<<CEOF
|
||||
);
|
||||
$SMB_INFO_ENABLES
|
||||
1;
|
||||
CEOF
|
||||
])
|
||||
|
||||
dnl SMB_BUILD_RUN(OUTPUT_FILE)
|
||||
AC_DEFUN([SMB_BUILD_RUN],
|
||||
[
|
||||
AC_OUTPUT_COMMANDS(
|
||||
[
|
||||
test "x$ac_abs_srcdir" != "x$ac_abs_builddir" && (
|
||||
cd $builddir;
|
||||
# NOTE: We *must* use -R so we don't follow symlinks (at least on BSD
|
||||
# systems).
|
||||
test -d heimdal || cp -R $srcdir/heimdal $builddir/
|
||||
test -d heimdal_build || cp -R $srcdir/heimdal_build $builddir/
|
||||
test -d build || builddir="$builddir" \
|
||||
srcdir="$srcdir" \
|
||||
$PERL ${srcdir}/script/buildtree.pl
|
||||
)
|
||||
|
||||
$PERL -I${builddir} -I${builddir}/build \
|
||||
-I${srcdir} -I${srcdir}/build \
|
||||
${srcdir}/build/smb_build/main.pl --output=$1 main.mk || exit $?
|
||||
],
|
||||
[
|
||||
srcdir="$srcdir"
|
||||
builddir="$builddir"
|
||||
PERL="$PERL"
|
||||
|
||||
export PERL
|
||||
export srcdir
|
||||
export builddir
|
||||
])
|
||||
])
|
@ -1,60 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
LEX="$1"
|
||||
SRC="$2"
|
||||
DEST="$3"
|
||||
shift 3
|
||||
ARGS="$*"
|
||||
|
||||
dir=`dirname $SRC`
|
||||
file=`basename $SRC`
|
||||
base=`basename $SRC .l`
|
||||
if [ -z "$LEX" ]; then
|
||||
# if $DEST is more recent than $SRC, we can just touch
|
||||
# otherwise we touch but print out warnings
|
||||
if [ -r $DEST ]; then
|
||||
if [ x`find $SRC -newer $DEST -print` = x$SRC ]; then
|
||||
echo "warning: lex not found - cannot generate $SRC => $DEST" >&2
|
||||
echo "warning: lex not found - only updating the timestamp of $DEST" >&2
|
||||
fi
|
||||
touch $DEST;
|
||||
exit;
|
||||
fi
|
||||
echo "error: lex not found - cannot generate $SRC => $DEST" >&2
|
||||
exit 1;
|
||||
fi
|
||||
# if $DEST is more recent than $SRC, we can just touch
|
||||
if [ -r $DEST ]; then
|
||||
if [ x`find $SRC -newer $DEST -print` != x$SRC ]; then
|
||||
touch $DEST;
|
||||
exit;
|
||||
fi
|
||||
fi
|
||||
TOP=`pwd`
|
||||
echo "info: running $LEX $ARGS $file"
|
||||
if cd $dir && $LEX $ARGS $file; then
|
||||
if [ -r lex.yy.c ];then
|
||||
# we must guarantee that config.h comes first
|
||||
echo "info: move lex.yy.c to $base.c"
|
||||
echo "#include \"config.h\"" > $base.c
|
||||
sed -e "s|lex\.yy\.c|$DEST|" lex.yy.c >> $base.c
|
||||
rm -f $base.yy.c
|
||||
elif [ -r $base.yy.c ];then
|
||||
# we must guarantee that config.h comes first
|
||||
echo "info: move $base.yy.c to $base.c"
|
||||
echo "#include \"config.h\"" > $base.c
|
||||
sed -e "s|$base\.yy\.c|$DEST|" $base.yy.c >> $base.c
|
||||
rm -f $base.yy.c
|
||||
elif [ -r $base.c ];then
|
||||
# we must guarantee that config.h comes first
|
||||
echo "info: add #include \"config.h\" to $base.c"
|
||||
mv $base.c $base.c.tmp
|
||||
echo "#include \"config.h\"" > $base.c
|
||||
sed -e "s|$base\.yy\.c|$DEST|" $base.c.tmp >> $base.c
|
||||
rm -f $base.c.tmp
|
||||
elif [ ! -r base.c ]; then
|
||||
echo "$base.c nor $base.yy.c nor lex.yy.c generated."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
cd $TOP
|
@ -1,51 +0,0 @@
|
||||
pythonbuilddir = bin/python
|
||||
|
||||
installpython::
|
||||
mkdir -p $(DESTDIR)$(pythondir)
|
||||
|
||||
# Install Python
|
||||
# Arguments: Module path
|
||||
define python_module_template
|
||||
|
||||
installpython:: $$(pythonbuilddir)/$(1) ;
|
||||
mkdir -p $$(DESTDIR)$$(pythondir)/$$(dir $(1))
|
||||
cp $$< $$(DESTDIR)$$(pythondir)/$(1)
|
||||
|
||||
uninstallpython::
|
||||
rm -f $$(DESTDIR)$$(pythondir)/$(1) ;
|
||||
|
||||
pythonmods:: $$(pythonbuilddir)/$(1) ;
|
||||
|
||||
endef
|
||||
|
||||
define python_py_module_template
|
||||
|
||||
$$(pythonbuilddir)/$(1): $(2) ;
|
||||
mkdir -p $$(@D)
|
||||
cp $$< $$@
|
||||
|
||||
$(call python_module_template,$(1))
|
||||
|
||||
endef
|
||||
|
||||
# Python C module
|
||||
# Arguments: File name, dependencies, link list
|
||||
define python_c_module_template
|
||||
|
||||
$$(pythonbuilddir)/$(1): $(2) ;
|
||||
@echo Linking $$@
|
||||
@mkdir -p $$(@D)
|
||||
@$$(MDLD) $$(LDFLAGS) $$(MDLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
|
||||
|
||||
$(call python_module_template,$(1))
|
||||
endef
|
||||
|
||||
pythonmods::
|
||||
|
||||
clean::
|
||||
@echo "Removing python modules"
|
||||
@rm -rf $(pythonbuilddir)
|
||||
|
||||
bin/python/%.py:
|
||||
mkdir -p $(@D)
|
||||
cp $< $@
|
@ -1,190 +0,0 @@
|
||||
# Rules file for Samba 4
|
||||
# This relies on GNU make.
|
||||
#
|
||||
# Dependencies command
|
||||
DEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.o) -MT $@ -MT : \
|
||||
$(CFLAGS) $(CPPFLAGS) $< -o $@
|
||||
# Dependencies for host objects
|
||||
HDEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.ho) -MT $@ -MT : \
|
||||
$(HOSTCC_FLAGS) $(CPPFLAGS) $< -o $@
|
||||
# Dependencies for precompiled headers
|
||||
PCHDEPENDS = $(CC) -M -MG -MT include/includes.h.gch -MT $@ \
|
||||
$(CFLAGS) $(CPPFLAGS) $< -o $@
|
||||
|
||||
# Run a static analysis checker
|
||||
CHECK = $(CC_CHECKER) $(CFLAGS) $(PICFLAG) $(CPPLAGS) -c $< -o $@
|
||||
|
||||
# Run the configured compiler
|
||||
COMPILE = $(CC) $(CFLAGS) $(PICFLAG) \
|
||||
$(CPPFLAGS) \
|
||||
-c $< -o $@
|
||||
|
||||
# Run the compiler for the build host
|
||||
HCOMPILE = $(HOSTCC) $(HOSTCC_FLAGS) $(CPPFLAGS) -c $< -o $@
|
||||
|
||||
# Precompile headers
|
||||
PCHCOMPILE = @$(CC) -Ilib/replace \
|
||||
$(CFLAGS) $(PICFLAG) $(CPPFLAGS) -c $< -o $@
|
||||
|
||||
# Partial linking
|
||||
PARTLINK = @$(PROG_LD) -r
|
||||
|
||||
make_utility_dir = $(srcdir)/build/make/
|
||||
|
||||
include/config.h:
|
||||
@echo "include/config.h not present"
|
||||
@echo "You need to rerun ./autogen.sh and ./configure"
|
||||
@/bin/false
|
||||
|
||||
pch::
|
||||
|
||||
clean:: clean_pch
|
||||
@echo Removing objects
|
||||
@-find . -name '*.o' -exec rm -f '{}' \;
|
||||
@echo Removing hostcc objects
|
||||
@-find . -name '*.ho' -exec rm -f '{}' \;
|
||||
@echo Removing libraries
|
||||
@-rm -f $(STATIC_LIBS) $(SHARED_LIBS)
|
||||
@-rm -f bin/static/*.a $(shliboutputdir)/*.$(SHLIBEXT) bin/mergedobj/*.o
|
||||
@echo Removing modules
|
||||
@-rm -f bin/modules/*/*.$(SHLIBEXT)
|
||||
@-rm -f bin/*_init_module.c
|
||||
@echo Removing dummy targets
|
||||
@-rm -f bin/.*_*
|
||||
@echo Removing generated files
|
||||
@-rm -f bin/*_init_module.c
|
||||
@-rm -f librpc/gen_ndr/*.*
|
||||
|
||||
distclean:: clean
|
||||
-rm -f include/config.h include/config_tmp.h include/build.h
|
||||
-rm -f data.mk
|
||||
-rm -f config.status
|
||||
-rm -f config.log config.cache
|
||||
-rm -f config.pm config.mk
|
||||
-rm -f $(PC_FILES)
|
||||
|
||||
removebackup::
|
||||
-rm -f *.bak *~ */*.bak */*~ */*/*.bak */*/*~ */*/*/*.bak */*/*/*~
|
||||
|
||||
realdistclean:: distclean removebackup
|
||||
-rm -f include/config_tmp.h.in
|
||||
-rm -f version.h
|
||||
-rm -f configure
|
||||
-rm -f $(MANPAGES)
|
||||
|
||||
check:: test
|
||||
|
||||
unused_macros:
|
||||
$(srcdir)/script/find_unused_macros.pl `find . -name "*.[ch]"` | sort
|
||||
|
||||
# Create a static library
|
||||
%.a:
|
||||
@echo Linking $@
|
||||
@rm -f $@
|
||||
@mkdir -p $(@D)
|
||||
@$(STLD) $(STLD_FLAGS) $@ $^
|
||||
|
||||
include $(make_utility_dir)/templates.mk
|
||||
|
||||
###############################################################################
|
||||
# File types
|
||||
###############################################################################
|
||||
|
||||
.SUFFIXES: .x .c .et .y .l .d .o .h .h.gch .a .$(SHLIBEXT) .1 .1.xml .3 .3.xml .5 .5.xml .7 .7.xml .8 .8.xml .ho .idl .hd
|
||||
|
||||
.c.d:
|
||||
@echo "Generating dependencies for $<"
|
||||
@$(DEPENDS)
|
||||
|
||||
.c.hd:
|
||||
@echo "Generating host-compiler dependencies for $<"
|
||||
@$(HDEPENDS)
|
||||
|
||||
include/includes.d: include/includes.h
|
||||
@echo "Generating dependencies for $<"
|
||||
@$(PCHDEPENDS)
|
||||
|
||||
.c.o:
|
||||
@if test -n "$(CC_CHECKER)"; then \
|
||||
echo "Checking $< with '$(CC_CHECKER)'"; \
|
||||
$(CHECK) ; \
|
||||
fi
|
||||
@echo "Compiling $<"
|
||||
@-mkdir -p `dirname $@`
|
||||
@$(COMPILE) && exit 0 ; \
|
||||
echo "The following command failed:" 1>&2;\
|
||||
echo "$(subst ",\",$(COMPILE))" 1>&2 && exit 1
|
||||
|
||||
|
||||
.c.ho:
|
||||
@echo "Compiling $< with host compiler"
|
||||
@-mkdir -p `dirname $@`
|
||||
@$(HCOMPILE) && exit 0;\
|
||||
echo "The following command failed:" 1>&2;\
|
||||
echo "$(subst ",\",$(HCOMPILE))" 1>&2;\
|
||||
$(HCOMPILE) >/dev/null 2>&1
|
||||
|
||||
.h.h.gch:
|
||||
@echo "Precompiling $<"
|
||||
@$(PCHCOMPILE)
|
||||
|
||||
.y.c:
|
||||
@echo "Building $< with $(YACC)"
|
||||
@-$(make_utility_dir)/yacc_compile.sh "$(YACC)" "$<" "$@"
|
||||
|
||||
.l.c:
|
||||
@echo "Building $< with $(LEX)"
|
||||
@-$(make_utility_dir)/lex_compile.sh "$(LEX)" "$<" "$@"
|
||||
|
||||
%.a:
|
||||
@echo Linking $@
|
||||
@rm -f $@
|
||||
@mkdir -p $(@D)
|
||||
@$(STLD) $(STLD_FLAGS) $@ $^
|
||||
|
||||
|
||||
DOCBOOK_MANPAGE_URL = http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
|
||||
|
||||
.1.xml.1:
|
||||
$(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $<
|
||||
|
||||
.3.xml.3:
|
||||
$(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $<
|
||||
|
||||
.5.xml.5:
|
||||
$(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $<
|
||||
|
||||
.7.xml.7:
|
||||
$(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $<
|
||||
|
||||
.8.xml.8:
|
||||
$(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $<
|
||||
|
||||
dist:: idl_full manpages configure distclean
|
||||
|
||||
configure:
|
||||
./autogen.sh
|
||||
|
||||
showflags::
|
||||
@echo 'Samba will be compiled with flags:'
|
||||
@echo ' CPP = $(CPP)'
|
||||
@echo ' CPPFLAGS = $(CPPFLAGS)'
|
||||
@echo ' CC = $(CC)'
|
||||
@echo ' CFLAGS = $(CFLAGS)'
|
||||
@echo ' PICFLAG = $(PICFLAG)'
|
||||
@echo ' BNLD = $(BNLD)'
|
||||
@echo ' BNLD_FLAGS = $(BNLD_FLAGS)'
|
||||
@echo ' STLD = $(STLD)'
|
||||
@echo ' STLD_FLAGS = $(STLD_FLAGS)'
|
||||
@echo ' SHLD = $(SHLD)'
|
||||
@echo ' SHLD_FLAGS = $(SHLD_FLAGS)'
|
||||
@echo ' MDLD = $(MDLD)'
|
||||
@echo ' MDLD_FLAGS = $(MDLD_FLAGS)'
|
||||
@echo ' SHLIBEXT = $(SHLIBEXT)'
|
||||
|
||||
etags:
|
||||
etags $(ETAGS_OPTIONS) `find $(base_srcdirs) -name "*.[ch]"`
|
||||
|
||||
ctags:
|
||||
ctags $(CTAGS_OPTIONS) `find $(base_srcdirs) -name "*.[ch]" | grep -v "_proto\.h"`
|
||||
|
@ -1,143 +0,0 @@
|
||||
# Templates file for Samba 4
|
||||
# This relies on GNU make.
|
||||
#
|
||||
# © 2008 Jelmer Vernooij <jelmer@samba.org>
|
||||
#
|
||||
###############################################################################
|
||||
# Templates
|
||||
###############################################################################
|
||||
|
||||
# Partially link
|
||||
# Arguments: target object file, source object files
|
||||
define partial_link_template
|
||||
$(1): $(2) ;
|
||||
@echo Partially linking $$@
|
||||
@mkdir -p $$(@D)
|
||||
$$(PARTLINK) -o $$@ $$^
|
||||
endef
|
||||
|
||||
# Link a binary
|
||||
# Arguments: target file, depends, flags
|
||||
define binary_link_template
|
||||
$(1): $(2) ;
|
||||
@echo Linking $$@
|
||||
@$$(BNLD) $$(BNLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
|
||||
|
||||
clean::
|
||||
@rm -f $(1)
|
||||
|
||||
binaries:: $(1)
|
||||
|
||||
endef
|
||||
|
||||
# Link a host-machine binary
|
||||
# Arguments: target file, depends, flags
|
||||
define host_binary_link_template
|
||||
$(1): $(2) ;
|
||||
@echo Linking $$@
|
||||
@$$(HOSTLD) $$(HOSTLD_FLAGS) -L$${builddir}/bin/static -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
|
||||
|
||||
clean::
|
||||
rm -f $(1)
|
||||
|
||||
binaries:: $(1)
|
||||
|
||||
endef
|
||||
|
||||
# Create a prototype header
|
||||
# Arguments: header file, c files
|
||||
define proto_header_template
|
||||
|
||||
proto:: $(1) ;
|
||||
|
||||
clean:: ;
|
||||
rm -f $(1)
|
||||
|
||||
$(1): $(2) ;
|
||||
@echo "Creating $$@"
|
||||
@$$(PERL) $$(srcdir)/script/mkproto.pl --srcdir=$$(srcdir) --builddir=$$(builddir) --public=/dev/null --private=$$@ $$^
|
||||
|
||||
$($(2):.c=.o): $(1) ;
|
||||
|
||||
endef
|
||||
|
||||
# Shared module
|
||||
# Arguments: Target, dependencies, objects
|
||||
define shared_module_template
|
||||
|
||||
$(1): $(2) ;
|
||||
@echo Linking $$@
|
||||
@mkdir -p $$(@D)
|
||||
@$$(MDLD) $$(LDFLAGS) $$(MDLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3)
|
||||
|
||||
endef
|
||||
|
||||
# Shared library
|
||||
# Arguments: Target, dependencies, link flags, soname
|
||||
define shared_library_template
|
||||
$(1): $(2)
|
||||
@echo Linking $$@
|
||||
@mkdir -p $$(@D)
|
||||
@$$(SHLD) $$(LDFLAGS) $$(SHLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) \
|
||||
$(3) \
|
||||
$$(if $$(SONAMEFLAG), $$(SONAMEFLAG)$(notdir $(4)))
|
||||
|
||||
ifneq ($(notdir $(1)),$(notdir $(4)))
|
||||
$(4): $(1)
|
||||
@echo "Creating symbolic link for $$@"
|
||||
@ln -fs $$(<F) $$@
|
||||
endif
|
||||
|
||||
ifneq ($(notdir $(1)),$(notdir $(5)))
|
||||
$(5): $(1) $(4)
|
||||
@echo "Creating symbolic link for $$@"
|
||||
@ln -fs $$(<F) $$@
|
||||
endif
|
||||
endef
|
||||
|
||||
# Shared alias
|
||||
# Arguments: Target, subsystem name, alias name
|
||||
define shared_module_alias_template
|
||||
bin/modules/$(2)/$(3).$$(SHLIBEXT): $(1)
|
||||
@ln -fs $$(<F) $$@
|
||||
|
||||
PLUGINS += bin/modules/$(2)/$(3).$$(SHLIBEXT)
|
||||
|
||||
uninstallplugins::
|
||||
@-rm $$(DESTDIR)$$(modulesdir)/$(2)/$(3).$$(SHLIBEXT)
|
||||
installplugins::
|
||||
@ln -fs $(notdir $(1)) $$(DESTDIR)$$(modulesdir)/$(2)/$(3).$$(SHLIBEXT)
|
||||
|
||||
endef
|
||||
|
||||
define shared_module_install_template
|
||||
installplugins:: bin/modules/$(1)/$(2)
|
||||
@echo Installing $(2) as $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
|
||||
@mkdir -p $$(DESTDIR)$$(modulesdir)/$(1)/
|
||||
@cp bin/modules/$(1)/$(2) $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
|
||||
uninstallplugins::
|
||||
@echo Uninstalling $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
|
||||
@-rm $$(DESTDIR)$$(modulesdir)/$(1)/$(2)
|
||||
|
||||
endef
|
||||
|
||||
# abspath for older makes
|
||||
abspath = $(shell cd $(dir $(1)); pwd)/$(notdir $(1))
|
||||
|
||||
# Install a binary
|
||||
# Arguments: path to binary to install
|
||||
define binary_install_template
|
||||
installbin:: $$(DESTDIR)$$(bindir)/$(notdir $(1)) installdirs
|
||||
|
||||
uninstallbin::
|
||||
@echo "Removing $(notdir $(1))"
|
||||
@rm -f $$(DESTDIR)$$(bindir)/$(notdir $(1))
|
||||
endef
|
||||
|
||||
define sbinary_install_template
|
||||
installsbin:: $$(DESTDIR)$$(sbindir)/$(notdir $(1)) installdirs
|
||||
|
||||
uninstallsbin::
|
||||
@echo "Removing $(notdir $(1))"
|
||||
@rm -f $$(DESTDIR)$$(sbindir)/$(notdir $(1))
|
||||
endef
|
@ -1,45 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
YACC="$1"
|
||||
SRC="$2"
|
||||
DEST="$3"
|
||||
|
||||
dir=`dirname $SRC`
|
||||
file=`basename $SRC`
|
||||
base=`basename $SRC .y`
|
||||
if [ -z "$YACC" ]; then
|
||||
# if $DEST is more recent than $SRC, we can just touch
|
||||
# otherwise we touch but print out warnings
|
||||
if [ -r $DEST ]; then
|
||||
if [ x`find $SRC -newer $DEST -print` = x$SRC ]; then
|
||||
echo "warning: yacc not found - cannot generate $SRC => $DEST" >&2
|
||||
echo "warning: yacc not found - only updating the timestamp of $DEST" >&2
|
||||
fi
|
||||
touch $DEST;
|
||||
exit;
|
||||
fi
|
||||
echo "error: yacc not found - cannot generate $SRC => $DEST" >&2
|
||||
exit 1;
|
||||
fi
|
||||
# if $DEST is more recent than $SRC, we can just touch
|
||||
if [ -r $DEST ]; then
|
||||
if [ x`find $SRC -newer $DEST -print` != x$SRC ]; then
|
||||
touch $DEST;
|
||||
exit;
|
||||
fi
|
||||
fi
|
||||
TOP=`pwd`
|
||||
echo "info: running $YACC -d $file"
|
||||
if cd $dir && $YACC -d $file; then
|
||||
if [ -r y.tab.h -a -r y.tab.c ];then
|
||||
echo "info: move y.tab.h to $base.h"
|
||||
sed -e "/^#/!b" -e "s|y\.tab\.h|$SRC|" -e "s|\"$base.y|\"$SRC|" y.tab.h > $base.h
|
||||
echo "info: move y.tab.c to $base.c"
|
||||
sed -e "s|y\.tab\.c|$SRC|" -e "s|\"$base.y|\"$SRC|" y.tab.c > $base.c
|
||||
rm -f y.tab.c y.tab.h
|
||||
elif [ ! -r $base.h -a ! -r $base.c]; then
|
||||
echo "$base.h nor $base.c generated."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
cd $TOP
|
@ -1,83 +0,0 @@
|
||||
The Samba Build System
|
||||
======================
|
||||
|
||||
The build system basically has two main parts: the autoconf-generated
|
||||
shell scripts which check for availability of functions and libraries
|
||||
which is stored in the .m4 files and the information about the various
|
||||
subsystems which is stored in the .mk files.
|
||||
|
||||
Object Types
|
||||
------------
|
||||
the build system knows about the following object types
|
||||
|
||||
SUBSYSTEM:
|
||||
a SUBSYSTEM is basicly a collection of functions, which provide an
|
||||
an generic API for a specific problem (e.g. libldb provides an api
|
||||
for gneric ldb databases. libldb_plugin provides a generic api
|
||||
for calling ldb plugins, so 'libldb' and 'libldb_plugin' are subsystems)
|
||||
|
||||
MODULE:
|
||||
a MODULE is a specify implementation of a API provided by a SUBSYSTEM.
|
||||
(e.g. 'libldb_tdb' and 'libldb_ldap' are implementations of the subsystem 'libldb' API,
|
||||
and 'libldb_plugin_timestamp' is a module of the 'libldb_plugin' subsystem)
|
||||
|
||||
EXT_LIB:
|
||||
an EXT_LIB is an external library which is needed by a SUBSYSTEM, MODULE, BINARY or LIBRARY.
|
||||
(e.g. 'gtk' or 'KRB5')
|
||||
|
||||
BINARY:
|
||||
a BINARY means a executable binary file.
|
||||
(e.g. 'smbtorture' or 'ldbedit')
|
||||
a BINARY typically has only commandline handling and basic
|
||||
functionality code in it and depends on the functions of
|
||||
SUBSYSTEM's (REQUIRED_SUBSYSTEMS).
|
||||
|
||||
LIBRARY:
|
||||
a LIBRARY means a static and/or shared library,
|
||||
which depends on the used OS.
|
||||
(e.g. for libldb 'libldb.so', 'libldb.so.0' 'libldb.so.0.0.1'
|
||||
and libldb.a are created on linux)
|
||||
a LIBRARY typicly has only glue code in it and depends on
|
||||
SUBSYSTEM's (REQUIRED_SUBSYSTEMS).
|
||||
|
||||
File summary:
|
||||
-------------
|
||||
public.m4 - public M4 macros of the build system
|
||||
config_mk.pm - Support for reading .mk files
|
||||
dot.pm - Support for generating .dot files for analysis of dependencies
|
||||
input.pm - Input validation
|
||||
main.pm - Main
|
||||
makefile.pm - Makefile generation
|
||||
output.pm - Dependency calculation
|
||||
|
||||
Layout
|
||||
-------
|
||||
|
||||
Toplevel file: configure.in
|
||||
- included by autogen.sh: aclocal.m4
|
||||
which includes the SMB_YXZ*() macros
|
||||
|
||||
- default tests of the build system
|
||||
are in build/smb_build/check_*.m4
|
||||
(mostly compiler and basic C type and function
|
||||
checks)
|
||||
|
||||
- subsystem specific stuff should be included by 'SMB_INCLUDE_M4()'
|
||||
|
||||
|
||||
Generating the configure file
|
||||
-------------------------
|
||||
you need to rerun ./autogen.sh when 'configure.in' or any
|
||||
'.m4' file was modified, then you need to rerun configure.
|
||||
|
||||
|
||||
Generating config.status
|
||||
-----------------------------
|
||||
you need to run ./config.status (or 'configure') after a '.mk'
|
||||
file was changed.
|
||||
|
||||
|
||||
Examples
|
||||
--------
|
||||
for now please take a look at the .m4 and .mk files
|
||||
you find in the source tree, they should be a good reference to start.
|
@ -1,25 +0,0 @@
|
||||
- use pkg-config files in the buildsystem?
|
||||
- let the build system implement some make functions($(patsubst),$(wildcard),...) and use our own implementations where `make' does not support them
|
||||
- include extra_flags.txt using Makefile construction if
|
||||
supported by current make
|
||||
- fix shared module loading for selftest during builds without install
|
||||
- remove recursive dependency between LIBSOCKET, LIBCLI_NBT and LIBCLI_RESOLVE
|
||||
- clearer distinction between dcerpc and ndr. seperate interface tables? Maybe get rid of
|
||||
NDR's table altogether and use dlopen/dlsym ?
|
||||
- saner names for:
|
||||
libcli.so.0.0.1 (rename to libsmb?)
|
||||
libcli_cldap.so.0.0.1 (rename to libcldap?)
|
||||
libcli_nbt.so.0.0.1 (rename to libnbt?)
|
||||
libcli_wrepl.so.0.0.1 (rename to libwrepl?)
|
||||
- generate headermap.txt
|
||||
|
||||
set of test scripts that check the code:
|
||||
- configure_check_unused.pl
|
||||
- find_unused_macros.pl
|
||||
- find_unused_makefilevars.pl
|
||||
- find_unused_options.sh
|
||||
- findstatic.pl
|
||||
- minimal_includes.pl
|
||||
- check dependencies based on #include lines ?
|
||||
- check whether private headers are not used outside their own subsystem
|
||||
- undocumented (no manpage) installed binaries
|
@ -1,284 +0,0 @@
|
||||
# Samba Build System
|
||||
# - config.mk parsing functions
|
||||
#
|
||||
# Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
# Copyright (C) Jelmer Vernooij 2005
|
||||
# Released under the GNU GPL
|
||||
#
|
||||
|
||||
package smb_build::config_mk;
|
||||
use smb_build::input;
|
||||
use File::Basename;
|
||||
|
||||
use strict;
|
||||
|
||||
my $section_types = {
|
||||
"EXT_LIB" => {
|
||||
"LIBS" => "list",
|
||||
"CFLAGS" => "list",
|
||||
"CPPFLAGS" => "list",
|
||||
"LDFLAGS" => "list",
|
||||
},
|
||||
"PYTHON" => {
|
||||
"LIBRARY_REALNAME" => "string",
|
||||
"PRIVATE_DEPENDENCIES" => "list",
|
||||
"PUBLIC_DEPENDENCIES" => "list",
|
||||
"ENABLE" => "bool",
|
||||
"LDFLAGS" => "list",
|
||||
},
|
||||
"SUBSYSTEM" => {
|
||||
"PRIVATE_DEPENDENCIES" => "list",
|
||||
"PUBLIC_DEPENDENCIES" => "list",
|
||||
|
||||
"ENABLE" => "bool",
|
||||
|
||||
"CFLAGS" => "list",
|
||||
"LDFLAGS" => "list",
|
||||
"STANDARD_VISIBILITY" => "string",
|
||||
"INIT_FUNCTION_SENTINEL" => "string"
|
||||
},
|
||||
"MODULE" => {
|
||||
"SUBSYSTEM" => "string",
|
||||
|
||||
"INIT_FUNCTION" => "string",
|
||||
|
||||
"PRIVATE_DEPENDENCIES" => "list",
|
||||
|
||||
"ALIASES" => "list",
|
||||
|
||||
"ENABLE" => "bool",
|
||||
|
||||
"OUTPUT_TYPE" => "list",
|
||||
|
||||
"CFLAGS" => "list"
|
||||
},
|
||||
"BINARY" => {
|
||||
|
||||
"PRIVATE_DEPENDENCIES" => "list",
|
||||
|
||||
"ENABLE" => "bool",
|
||||
|
||||
"INSTALLDIR" => "string",
|
||||
"LDFLAGS" => "list",
|
||||
"STANDARD_VISIBILITY" => "string",
|
||||
|
||||
"USE_HOSTCC" => "bool"
|
||||
},
|
||||
"LIBRARY" => {
|
||||
"LIBRARY_REALNAME" => "string",
|
||||
|
||||
"INIT_FUNCTION_TYPE" => "string",
|
||||
"INIT_FUNCTION_SENTINEL" => "string",
|
||||
"OUTPUT_TYPE" => "list",
|
||||
|
||||
"PRIVATE_DEPENDENCIES" => "list",
|
||||
"PUBLIC_DEPENDENCIES" => "list",
|
||||
|
||||
"ENABLE" => "bool",
|
||||
|
||||
"CFLAGS" => "list",
|
||||
"LDFLAGS" => "list",
|
||||
"STANDARD_VISIBILITY" => "string"
|
||||
}
|
||||
};
|
||||
|
||||
use vars qw(@parsed_files);
|
||||
|
||||
@parsed_files = ();
|
||||
|
||||
sub _read_config_file($$$)
|
||||
{
|
||||
use Cwd;
|
||||
|
||||
my ($srcdir, $builddir, $filename) = @_;
|
||||
my @dirlist;
|
||||
|
||||
# We need to change our working directory because config.mk files can
|
||||
# give shell commands as the argument to "include". These shell
|
||||
# commands can take arguments that are relative paths and we don't have
|
||||
# a way of sensibly rewriting these.
|
||||
my $cwd = getcwd;
|
||||
chomp $cwd;
|
||||
|
||||
if ($srcdir ne $builddir) {
|
||||
# Push the builddir path on the front, so we prefer builddir
|
||||
# to srcdir when the file exists in both.
|
||||
@dirlist = ($builddir, $srcdir);
|
||||
} else {
|
||||
@dirlist = ($srcdir);
|
||||
}
|
||||
|
||||
foreach my $d (@dirlist) {
|
||||
my @lines;
|
||||
my $basedir;
|
||||
|
||||
chdir $cwd;
|
||||
chdir $d;
|
||||
|
||||
# We need to catch the exception from open in the case where
|
||||
# the filename is actually a shell pipeline. Why is this
|
||||
# different to opening a regular file? Because this is perl!
|
||||
eval {
|
||||
open(CONFIG_MK, "./$filename");
|
||||
@lines = <CONFIG_MK>;
|
||||
close(CONFIG_MK);
|
||||
};
|
||||
|
||||
chdir $cwd;
|
||||
next unless (@lines);
|
||||
|
||||
# I blame abartlett for this crazy hack -- jpeach
|
||||
if ($filename =~ /\|$/) {
|
||||
$basedir = $builddir;
|
||||
} else {
|
||||
$basedir = dirname($filename);
|
||||
push(@parsed_files, $filename);
|
||||
}
|
||||
$basedir =~ s!^($builddir|$srcdir)[/]!!;
|
||||
return ($filename, $basedir, @lines);
|
||||
}
|
||||
|
||||
chdir $cwd;
|
||||
return;
|
||||
}
|
||||
|
||||
###########################################################
|
||||
# The parsing function which parses the file
|
||||
#
|
||||
# $result = _parse_config_mk($input, $srcdir, $builddir, $filename)
|
||||
#
|
||||
# $filename - the path of the config.mk file
|
||||
# which should be parsed
|
||||
sub run_config_mk($$$$)
|
||||
{
|
||||
sub run_config_mk($$$$);
|
||||
my ($input, $srcdir, $builddir, $filename) = @_;
|
||||
my $result;
|
||||
my $linenum = -1;
|
||||
my $infragment = 0;
|
||||
my $section = "GLOBAL";
|
||||
my $makefile = "";
|
||||
|
||||
my $basedir;
|
||||
|
||||
my $parsing_file;
|
||||
my @lines;
|
||||
|
||||
$ENV{builddir} = $builddir;
|
||||
$ENV{srcdir} = $srcdir;
|
||||
|
||||
($parsing_file, $basedir, @lines) =
|
||||
_read_config_file($srcdir, $builddir, $filename);
|
||||
|
||||
die ("$0: can't open '$filename'")
|
||||
unless ($parsing_file and $basedir and @lines);
|
||||
|
||||
my $line = "";
|
||||
my $prev = "";
|
||||
|
||||
# Emit a line that lets us match up final makefile output with the
|
||||
# corresponding input files. The curlies are so you can match the
|
||||
# BEGIN/END pairs in a text editor.
|
||||
$makefile .= "# BEGIN{ $parsing_file\n";
|
||||
|
||||
foreach (@lines) {
|
||||
$linenum++;
|
||||
|
||||
# lines beginning with '#' are ignored
|
||||
next if (/^\#.*$/);
|
||||
|
||||
if (/^(.*)\\$/) {
|
||||
$prev .= $1;
|
||||
next;
|
||||
} else {
|
||||
$line = "$prev$_";
|
||||
$prev = "";
|
||||
}
|
||||
|
||||
if ($line =~ /^\[([-a-zA-Z0-9_.:]+)\][\t ]*$/)
|
||||
{
|
||||
$section = $1;
|
||||
$infragment = 0;
|
||||
|
||||
$result->{$section}{EXISTS}{KEY} = "EXISTS";
|
||||
$result->{$section}{EXISTS}{VAL} = 1;
|
||||
next;
|
||||
}
|
||||
|
||||
# include
|
||||
if ($line =~ /^mkinclude (.*)$/) {
|
||||
my $subfile= $1;
|
||||
my $subdir = dirname($filename);
|
||||
$subdir =~ s/^\.$//g;
|
||||
$subdir =~ s/^\.\///g;
|
||||
$subdir .= "/" if ($subdir ne "");
|
||||
$makefile .= "basedir := $subdir\n";
|
||||
$makefile .= run_config_mk($input, $srcdir, $builddir, $subdir.$subfile);
|
||||
next;
|
||||
}
|
||||
|
||||
# empty line
|
||||
if ($line =~ /^[ \t]*$/) {
|
||||
$section = "GLOBAL";
|
||||
if ($infragment) { $makefile.="\n"; }
|
||||
next;
|
||||
}
|
||||
|
||||
# global stuff is considered part of the makefile
|
||||
if ($section eq "GLOBAL") {
|
||||
if (!$infragment) { $makefile.="\n"; }
|
||||
$makefile .= $line;
|
||||
$infragment = 1;
|
||||
next;
|
||||
}
|
||||
|
||||
# Assignment
|
||||
if ($line =~ /^([a-zA-Z0-9_]+)[\t ]*=(.*)$/) {
|
||||
$result->{$section}{$1}{VAL} = $2;
|
||||
$result->{$section}{$1}{KEY} = $1;
|
||||
|
||||
next;
|
||||
}
|
||||
|
||||
die("$parsing_file:$linenum: Bad line");
|
||||
}
|
||||
|
||||
$makefile .= "# }END $parsing_file\n";
|
||||
|
||||
foreach my $section (keys %{$result}) {
|
||||
my ($type, $name) = split(/::/, $section, 2);
|
||||
|
||||
my $sectype = $section_types->{$type};
|
||||
if (not defined($sectype)) {
|
||||
die($parsing_file.":[".$section."] unknown section type \"".$type."\"!");
|
||||
}
|
||||
|
||||
$input->{$name}{NAME} = $name;
|
||||
$input->{$name}{TYPE} = $type;
|
||||
$input->{$name}{MK_FILE} = $parsing_file;
|
||||
$input->{$name}{BASEDIR} = $basedir;
|
||||
|
||||
foreach my $key (values %{$result->{$section}}) {
|
||||
next if ($key->{KEY} eq "EXISTS");
|
||||
$key->{VAL} = smb_build::input::strtrim($key->{VAL});
|
||||
my $vartype = $sectype->{$key->{KEY}};
|
||||
if (not defined($vartype)) {
|
||||
die($parsing_file.":[".$section."]: unknown attribute type \"$key->{KEY}\"!");
|
||||
}
|
||||
if ($vartype eq "string") {
|
||||
$input->{$name}{$key->{KEY}} = $key->{VAL};
|
||||
} elsif ($vartype eq "list") {
|
||||
$input->{$name}{$key->{KEY}} = [smb_build::input::str2array($key->{VAL})];
|
||||
} elsif ($vartype eq "bool") {
|
||||
if (($key->{VAL} ne "YES") and ($key->{VAL} ne "NO")) {
|
||||
die("Invalid value for bool attribute $key->{KEY}: $key->{VAL} in section $section");
|
||||
}
|
||||
$input->{$name}{$key->{KEY}} = $key->{VAL};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $makefile;
|
||||
}
|
||||
|
||||
1;
|
@ -1,63 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
# Samba4 Dependency Graph Generator
|
||||
# (C) 2004-2005 Jelmer Vernooij <jelmer@samba.org>
|
||||
# Published under the GNU GPL
|
||||
|
||||
use strict;
|
||||
use lib 'build';
|
||||
use smb_build::config_mk;
|
||||
|
||||
my $subsys = shift @ARGV;
|
||||
|
||||
sub contains($$)
|
||||
{
|
||||
my ($haystack,$needle) = @_;
|
||||
foreach (@$haystack) {
|
||||
return 1 if ($_ eq $needle);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
sub generate($$$)
|
||||
{
|
||||
my ($depend,$only,$name) = @_;
|
||||
my $res = "digraph $name {\n";
|
||||
|
||||
foreach my $part (values %{$depend}) {
|
||||
next if (defined($only) and not contains($only,$part->{NAME}));
|
||||
foreach my $elem (@{$part->{PUBLIC_DEPENDENCIES}}) {
|
||||
$res .= "\t\"$part->{NAME}\" -> \"$elem\" [style=filled]; /* public */\n";
|
||||
}
|
||||
foreach my $elem (@{$part->{PRIVATE_DEPENDENCIES}}) {
|
||||
$res .= "\t\"$part->{NAME}\" -> \"$elem\" [style=dotted]; /* private */\n";
|
||||
}
|
||||
}
|
||||
|
||||
return $res . "}\n";
|
||||
}
|
||||
|
||||
my $INPUT = {};
|
||||
smb_build::config_mk::run_config_mk($INPUT, '.', '.', "main.mk");
|
||||
|
||||
my $name = "samba4";
|
||||
|
||||
my $only;
|
||||
if (defined($subsys)) {
|
||||
my $DEPEND = smb_build::input::check($INPUT, \%config::enabled,
|
||||
"MERGED_OBJ", "SHARED_LIBRARY", "SHARED_LIBRARY");
|
||||
|
||||
die("No such subsystem $subsys") unless (defined($DEPEND->{$subsys}));
|
||||
|
||||
$only = $DEPEND->{$subsys}->{UNIQUE_DEPENDENCIES_ALL};
|
||||
push (@$only, "$subsys");
|
||||
|
||||
$name = $subsys;
|
||||
}
|
||||
|
||||
my $fname = "$name-deps.dot";
|
||||
print __FILE__.": creating $fname\n";
|
||||
open DOTTY, ">$fname";
|
||||
print DOTTY generate($INPUT, $only, $name);
|
||||
close DOTTY;
|
||||
|
||||
1;
|
@ -1,278 +0,0 @@
|
||||
# Samba Build System
|
||||
# - the input checking functions
|
||||
#
|
||||
# Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
# Copyright (C) Jelmer Vernooij 2004
|
||||
# Released under the GNU GPL
|
||||
|
||||
use strict;
|
||||
package smb_build::input;
|
||||
use File::Basename;
|
||||
|
||||
sub strtrim($)
|
||||
{
|
||||
$_ = shift;
|
||||
s/^[\t\n ]*//g;
|
||||
s/[\t\n ]*$//g;
|
||||
return $_;
|
||||
}
|
||||
|
||||
sub str2array($)
|
||||
{
|
||||
$_ = shift;
|
||||
s/^[\t\n ]*//g;
|
||||
s/[\t\n ]*$//g;
|
||||
s/([\t\n ]+)/ /g;
|
||||
|
||||
return () if (length($_)==0);
|
||||
return split /[ \t\n]/;
|
||||
}
|
||||
|
||||
sub add_libreplace($)
|
||||
{
|
||||
my ($part) = @_;
|
||||
|
||||
return if ($part->{NAME} eq "LIBREPLACE");
|
||||
return if ($part->{NAME} eq "LIBREPLACE_HOSTCC");
|
||||
return if ($part->{NAME} eq "REPLACE_READDIR");
|
||||
|
||||
foreach my $n (@{$part->{PRIVATE_DEPENDENCIES}}) {
|
||||
return if ($n eq "LIBREPLACE");
|
||||
return if ($n eq "LIBREPLACE_HOSTCC");
|
||||
}
|
||||
foreach my $n (@{$part->{PUBLIC_DEPENDENCIES}}) {
|
||||
return if ($n eq "LIBREPLACE");
|
||||
return if ($n eq "LIBREPLACE_HOSTCC");
|
||||
}
|
||||
|
||||
if (defined($part->{USE_HOSTCC}) && $part->{USE_HOSTCC} eq "YES") {
|
||||
unshift (@{$part->{PRIVATE_DEPENDENCIES}}, "LIBREPLACE_HOSTCC");
|
||||
} else {
|
||||
unshift (@{$part->{PRIVATE_DEPENDENCIES}}, "LIBREPLACE");
|
||||
}
|
||||
}
|
||||
|
||||
sub check_subsystem($$$)
|
||||
{
|
||||
my ($INPUT, $subsys, $default_ot) = @_;
|
||||
return if ($subsys->{ENABLE} ne "YES");
|
||||
|
||||
unless (defined($subsys->{OUTPUT_TYPE})) { $subsys->{OUTPUT_TYPE} = $default_ot; }
|
||||
unless (defined($subsys->{INIT_FUNCTION_TYPE})) { $subsys->{INIT_FUNCTION_TYPE} = "NTSTATUS (*) (void)"; }
|
||||
unless (defined($subsys->{INIT_FUNCTION_SENTINEL})) { $subsys->{INIT_FUNCTION_SENTINEL} = "NULL"; }
|
||||
}
|
||||
|
||||
sub check_module($$$)
|
||||
{
|
||||
my ($INPUT, $mod, $default_ot) = @_;
|
||||
|
||||
die("Module $mod->{NAME} does not have a SUBSYSTEM set") if not defined($mod->{SUBSYSTEM});
|
||||
|
||||
if (not exists($INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTIONS})) {
|
||||
$INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTIONS} = [];
|
||||
}
|
||||
|
||||
if (!(defined($INPUT->{$mod->{SUBSYSTEM}}))) {
|
||||
die("Unknown subsystem $mod->{SUBSYSTEM} for module $mod->{NAME}");
|
||||
}
|
||||
|
||||
if ($INPUT->{$mod->{SUBSYSTEM}} eq "NO") {
|
||||
warn("Disabling module $mod->{NAME} because subsystem $mod->{SUBSYSTEM} is disabled");
|
||||
$mod->{ENABLE} = "NO";
|
||||
return;
|
||||
}
|
||||
|
||||
return if ($mod->{ENABLE} ne "YES");
|
||||
|
||||
if (exists($INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTION_TYPE})) {
|
||||
$mod->{INIT_FUNCTION_TYPE} = $INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTION_TYPE};
|
||||
} else {
|
||||
$mod->{INIT_FUNCTION_TYPE} = "NTSTATUS (*) (void)";
|
||||
}
|
||||
|
||||
unless (defined($mod->{INIT_FUNCTION_SENTINEL})) { $mod->{INIT_FUNCTION_SENTINEL} = "NULL"; }
|
||||
|
||||
if (not defined($mod->{OUTPUT_TYPE})) {
|
||||
if ((not defined($INPUT->{$mod->{SUBSYSTEM}})) or
|
||||
(not defined($INPUT->{$mod->{SUBSYSTEM}}->{TYPE})) or
|
||||
$INPUT->{$mod->{SUBSYSTEM}}->{TYPE} eq "EXT_LIB") {
|
||||
$mod->{OUTPUT_TYPE} = ["SHARED_LIBRARY"];
|
||||
} else {
|
||||
$mod->{OUTPUT_TYPE} = $default_ot;
|
||||
}
|
||||
}
|
||||
|
||||
if (grep(/SHARED_LIBRARY/, @{$mod->{OUTPUT_TYPE}})) {
|
||||
my $sane_subsystem = lc($mod->{SUBSYSTEM});
|
||||
$sane_subsystem =~ s/^lib//;
|
||||
$mod->{INSTALLDIR} = "MODULESDIR/$sane_subsystem";
|
||||
push (@{$mod->{PUBLIC_DEPENDENCIES}}, $mod->{SUBSYSTEM});
|
||||
add_libreplace($mod);
|
||||
}
|
||||
if (grep(/MERGED_OBJ/, @{$mod->{OUTPUT_TYPE}}) and $mod->{TYPE} ne "PYTHON") {
|
||||
push (@{$INPUT->{$mod->{SUBSYSTEM}}{INIT_FUNCTIONS}}, $mod->{INIT_FUNCTION}) if defined($mod->{INIT_FUNCTION});
|
||||
push (@{$INPUT->{$mod->{SUBSYSTEM}}{PRIVATE_DEPENDENCIES}}, $mod->{NAME});
|
||||
}
|
||||
}
|
||||
|
||||
sub check_library($$$)
|
||||
{
|
||||
my ($INPUT, $lib, $default_ot) = @_;
|
||||
|
||||
return if ($lib->{ENABLE} ne "YES");
|
||||
|
||||
unless (defined($lib->{OUTPUT_TYPE})) { $lib->{OUTPUT_TYPE} = $default_ot; }
|
||||
|
||||
unless (defined($lib->{INIT_FUNCTION_TYPE})) { $lib->{INIT_FUNCTION_TYPE} = "NTSTATUS (*) (void)"; }
|
||||
unless (defined($lib->{INIT_FUNCTION_SENTINEL})) { $lib->{INIT_FUNCTION_SENTINEL} = "NULL"; }
|
||||
unless (defined($lib->{INSTALLDIR})) { $lib->{INSTALLDIR} = "LIBDIR"; }
|
||||
|
||||
add_libreplace($lib);
|
||||
}
|
||||
|
||||
sub check_python($$$)
|
||||
{
|
||||
my ($INPUT, $python, $default_ot) = @_;
|
||||
|
||||
return if ($INPUT->{LIBPYTHON}{ENABLE} ne "YES");
|
||||
|
||||
$python->{INSTALLDIR} = "PYTHONDIR";
|
||||
unless (defined($python->{CFLAGS})) { $python->{CFLAGS} = []; }
|
||||
my $basename = $python->{NAME};
|
||||
$basename =~ s/^python_//g;
|
||||
unless (defined($python->{LIBRARY_REALNAME})) {
|
||||
$python->{LIBRARY_REALNAME} = "$basename.\$(SHLIBEXT)";
|
||||
}
|
||||
$python->{INIT_FUNCTION} = "{ (char *)\"$basename\", init$basename }";
|
||||
push (@{$python->{CFLAGS}}, "\$(EXT_LIB_PYTHON_CFLAGS)");
|
||||
|
||||
$python->{SUBSYSTEM} = "LIBPYTHON";
|
||||
|
||||
check_module($INPUT, $python, $default_ot);
|
||||
}
|
||||
|
||||
sub check_binary($$)
|
||||
{
|
||||
my ($INPUT, $bin) = @_;
|
||||
|
||||
return if ($bin->{ENABLE} ne "YES");
|
||||
|
||||
($bin->{BINARY} = (lc $bin->{NAME})) if not defined($bin->{BINARY});
|
||||
unless (defined($bin->{INIT_FUNCTION_SENTINEL})) { $bin->{INIT_FUNCTION_SENTINEL} = "NULL"; }
|
||||
unless (defined($bin->{INIT_FUNCTION_TYPE})) { $bin->{INIT_FUNCTION_TYPE} = "NTSTATUS (*) (void)"; }
|
||||
|
||||
$bin->{OUTPUT_TYPE} = ["BINARY"];
|
||||
add_libreplace($bin);
|
||||
}
|
||||
|
||||
sub add_implicit($$)
|
||||
{
|
||||
my ($INPUT, $n) = @_;
|
||||
|
||||
$INPUT->{$n}->{TYPE} = "MAKE_RULE";
|
||||
$INPUT->{$n}->{NAME} = $n;
|
||||
$INPUT->{$n}->{OUTPUT_TYPE} = undef;
|
||||
$INPUT->{$n}->{LIBS} = ["\$(".uc($n)."_LIBS)"];
|
||||
$INPUT->{$n}->{LDFLAGS} = ["\$(".uc($n)."_LDFLAGS)"];
|
||||
$INPUT->{$n}->{CFLAGS} = ["\$(".uc($n)."_CFLAGS)"];
|
||||
$INPUT->{$n}->{CPPFLAGS} = ["\$(".uc($n)."_CPPFLAGS)"];
|
||||
$INPUT->{$n}->{ENABLE} = "YES";
|
||||
}
|
||||
|
||||
sub calc_unique_deps($$$$$$$$)
|
||||
{
|
||||
sub calc_unique_deps($$$$$$$$);
|
||||
my ($name, $INPUT, $deps, $udeps, $withlibs, $forward, $pubonly, $busy) = @_;
|
||||
|
||||
foreach my $n (@$deps) {
|
||||
add_implicit($INPUT, $n) unless (defined($INPUT->{$n}) and defined($INPUT->{$n}->{TYPE}));
|
||||
my $dep = $INPUT->{$n};
|
||||
if (grep (/^$n$/, @$busy)) {
|
||||
next if (@{$dep->{OUTPUT_TYPE}}[0] eq "MERGED_OBJ");
|
||||
die("Recursive dependency: $n, list: " . join(',', @$busy));
|
||||
}
|
||||
next if (grep /^$n$/, @$udeps);
|
||||
|
||||
push (@{$udeps}, $n) if $forward;
|
||||
|
||||
if (defined ($dep->{OUTPUT_TYPE}) &&
|
||||
($withlibs or
|
||||
(@{$dep->{OUTPUT_TYPE}}[0] eq "MERGED_OBJ") or
|
||||
(@{$dep->{OUTPUT_TYPE}}[0] eq "STATIC_LIBRARY"))) {
|
||||
push (@$busy, $n);
|
||||
calc_unique_deps($n, $INPUT, $dep->{PUBLIC_DEPENDENCIES}, $udeps, $withlibs, $forward, $pubonly, $busy);
|
||||
calc_unique_deps($n, $INPUT, $dep->{PRIVATE_DEPENDENCIES}, $udeps, $withlibs, $forward, $pubonly, $busy) unless $pubonly;
|
||||
pop (@$busy);
|
||||
}
|
||||
|
||||
unshift (@{$udeps}, $n) unless $forward;
|
||||
}
|
||||
}
|
||||
|
||||
sub check($$$$$)
|
||||
{
|
||||
my ($INPUT, $enabled, $subsys_ot, $lib_ot, $module_ot) = @_;
|
||||
|
||||
foreach my $part (values %$INPUT) {
|
||||
if (defined($enabled->{$part->{NAME}})) {
|
||||
$part->{ENABLE} = $enabled->{$part->{NAME}};
|
||||
next;
|
||||
}
|
||||
|
||||
unless(defined($part->{ENABLE})) {
|
||||
if ($part->{TYPE} eq "EXT_LIB") {
|
||||
$part->{ENABLE} = "NO";
|
||||
} else {
|
||||
$part->{ENABLE} = "YES";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach my $part (values %$INPUT) {
|
||||
$part->{LINK_FLAGS} = [];
|
||||
$part->{FULL_OBJ_LIST} = ["\$($part->{NAME}_OBJ_FILES)"];
|
||||
|
||||
if ($part->{TYPE} eq "SUBSYSTEM") {
|
||||
check_subsystem($INPUT, $part, $subsys_ot);
|
||||
} elsif ($part->{TYPE} eq "MODULE") {
|
||||
check_module($INPUT, $part, $module_ot);
|
||||
} elsif ($part->{TYPE} eq "LIBRARY") {
|
||||
check_library($INPUT, $part, $lib_ot);
|
||||
} elsif ($part->{TYPE} eq "BINARY") {
|
||||
check_binary($INPUT, $part);
|
||||
} elsif ($part->{TYPE} eq "PYTHON") {
|
||||
check_python($INPUT, $part, $module_ot);
|
||||
} elsif ($part->{TYPE} eq "EXT_LIB") {
|
||||
} else {
|
||||
die("Unknown type $part->{TYPE}");
|
||||
}
|
||||
}
|
||||
|
||||
foreach my $part (values %$INPUT) {
|
||||
if (defined($part->{INIT_FUNCTIONS})) {
|
||||
push (@{$part->{LINK_FLAGS}}, "\$(DYNEXP)");
|
||||
}
|
||||
}
|
||||
|
||||
foreach my $part (values %$INPUT) {
|
||||
$part->{UNIQUE_DEPENDENCIES_LINK} = [];
|
||||
calc_unique_deps($part->{NAME}, $INPUT, $part->{PUBLIC_DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES_LINK}, 0, 0, 0, []);
|
||||
calc_unique_deps($part->{NAME}, $INPUT, $part->{PRIVATE_DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES_LINK}, 0, 0, 0, []);
|
||||
}
|
||||
|
||||
foreach my $part (values %$INPUT) {
|
||||
$part->{UNIQUE_DEPENDENCIES_COMPILE} = [];
|
||||
calc_unique_deps($part->{NAME}, $INPUT, $part->{PUBLIC_DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES_COMPILE}, 1, 1, 1, []);
|
||||
calc_unique_deps($part->{NAME}, $INPUT, $part->{PRIVATE_DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES_COMPILE}, 1, 1, 1, []);
|
||||
}
|
||||
|
||||
foreach my $part (values %$INPUT) {
|
||||
$part->{UNIQUE_DEPENDENCIES_ALL} = [];
|
||||
calc_unique_deps($part->{NAME}, $INPUT, $part->{PUBLIC_DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES_ALL}, 1, 0, 0, []);
|
||||
calc_unique_deps($part->{NAME}, $INPUT, $part->{PRIVATE_DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES_ALL}, 1, 0, 0, []);
|
||||
}
|
||||
|
||||
return $INPUT;
|
||||
}
|
||||
|
||||
1;
|
@ -1,105 +0,0 @@
|
||||
# Samba Build System
|
||||
# - the main program
|
||||
#
|
||||
# Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
# Copyright (C) Jelmer Vernooij 2005
|
||||
# Released under the GNU GPL
|
||||
|
||||
use smb_build::makefile;
|
||||
use smb_build::input;
|
||||
use smb_build::config_mk;
|
||||
use smb_build::output;
|
||||
use smb_build::summary;
|
||||
use smb_build::config;
|
||||
use Getopt::Long;
|
||||
use strict;
|
||||
|
||||
my $output_file = "data.mk";
|
||||
|
||||
my $result = GetOptions (
|
||||
'output=s' => \$output_file);
|
||||
|
||||
if (not $result) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
my $input_file = shift @ARGV;
|
||||
|
||||
my $INPUT = {};
|
||||
my $mkfile = smb_build::config_mk::run_config_mk($INPUT, $config::config{srcdir}, $config::config{builddir}, $input_file);
|
||||
|
||||
my $subsys_output_type = ["MERGED_OBJ"];
|
||||
|
||||
my $library_output_type;
|
||||
my $useshared = (defined($ENV{USESHARED})?$ENV{USESHARED}:$config::config{USESHARED});
|
||||
|
||||
if ($useshared eq "true") {
|
||||
$library_output_type = ["SHARED_LIBRARY", "MERGED_OBJ"];
|
||||
} else {
|
||||
$library_output_type = ["MERGED_OBJ"];
|
||||
push (@$library_output_type, "SHARED_LIBRARY") if
|
||||
($config::config{BLDSHARED} eq "true")
|
||||
}
|
||||
|
||||
my $module_output_type;
|
||||
if ($useshared eq "true") {
|
||||
#$module_output_type = ["SHARED_LIBRARY"];
|
||||
$module_output_type = ["MERGED_OBJ"];
|
||||
} else {
|
||||
$module_output_type = ["MERGED_OBJ"];
|
||||
}
|
||||
|
||||
my $DEPEND = smb_build::input::check($INPUT, \%config::enabled,
|
||||
$subsys_output_type,
|
||||
$library_output_type,
|
||||
$module_output_type);
|
||||
my $OUTPUT = output::create_output($DEPEND, \%config::config);
|
||||
my $mkenv = new smb_build::makefile(\%config::config, $mkfile);
|
||||
|
||||
my $shared_libs_used = 0;
|
||||
foreach my $key (values %$OUTPUT) {
|
||||
next if ($key->{ENABLE} ne "YES");
|
||||
push(@{$mkenv->{all_objs}}, "\$($key->{NAME}_OBJ_FILES)");
|
||||
}
|
||||
|
||||
foreach my $key (values %$OUTPUT) {
|
||||
next unless defined $key->{OUTPUT_TYPE};
|
||||
|
||||
$mkenv->StaticLibraryPrimitives($key) if grep(/STATIC_LIBRARY/, @{$key->{OUTPUT_TYPE}});
|
||||
$mkenv->MergedObj($key) if grep(/MERGED_OBJ/, @{$key->{OUTPUT_TYPE}});
|
||||
$mkenv->SharedLibraryPrimitives($key) if ($key->{TYPE} eq "LIBRARY") and
|
||||
grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}});
|
||||
if ($key->{TYPE} eq "LIBRARY" and
|
||||
${$key->{OUTPUT_TYPE}}[0] eq "SHARED_LIBRARY") {
|
||||
$shared_libs_used = 1;
|
||||
}
|
||||
if ($key->{TYPE} eq "MODULE" and @{$key->{OUTPUT_TYPE}}[0] eq "MERGED_OBJ" and defined($key->{INIT_FUNCTION})) {
|
||||
$mkenv->output("$key->{SUBSYSTEM}_INIT_FUNCTIONS +=$key->{INIT_FUNCTION},\n");
|
||||
}
|
||||
$mkenv->CFlags($key);
|
||||
}
|
||||
|
||||
foreach my $key (values %$OUTPUT) {
|
||||
next unless defined $key->{OUTPUT_TYPE};
|
||||
|
||||
$mkenv->Integrated($key) if grep(/INTEGRATED/, @{$key->{OUTPUT_TYPE}});
|
||||
}
|
||||
|
||||
foreach my $key (values %$OUTPUT) {
|
||||
next unless defined $key->{OUTPUT_TYPE};
|
||||
$mkenv->StaticLibrary($key) if grep(/STATIC_LIBRARY/, @{$key->{OUTPUT_TYPE}});
|
||||
|
||||
$mkenv->SharedLibrary($key) if ($key->{TYPE} eq "LIBRARY") and
|
||||
grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}});
|
||||
$mkenv->SharedModule($key) if ($key->{TYPE} eq "MODULE" and
|
||||
grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}}));
|
||||
$mkenv->PythonModule($key) if ($key->{TYPE} eq "PYTHON");
|
||||
$mkenv->Binary($key) if grep(/BINARY/, @{$key->{OUTPUT_TYPE}});
|
||||
$mkenv->InitFunctions($key) if defined($key->{INIT_FUNCTIONS});
|
||||
}
|
||||
|
||||
$mkenv->write($output_file);
|
||||
|
||||
summary::show($OUTPUT, \%config::config);
|
||||
|
||||
1;
|
@ -1,281 +0,0 @@
|
||||
# Samba Build System
|
||||
# - create output for Makefile
|
||||
#
|
||||
# Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
# Copyright (C) Jelmer Vernooij 2005
|
||||
# Released under the GNU GPL
|
||||
|
||||
package smb_build::makefile;
|
||||
use smb_build::output;
|
||||
use File::Basename;
|
||||
use strict;
|
||||
|
||||
use Cwd 'abs_path';
|
||||
|
||||
sub new($$$)
|
||||
{
|
||||
my ($myname, $config, $mkfile) = @_;
|
||||
my $self = {};
|
||||
|
||||
bless($self, $myname);
|
||||
|
||||
$self->_set_config($config);
|
||||
|
||||
$self->{output} = "";
|
||||
|
||||
$self->output("################################################\n");
|
||||
$self->output("# Autogenerated by source4/build/smb_build/makefile.pm #\n");
|
||||
$self->output("################################################\n");
|
||||
$self->output("\n");
|
||||
$self->output($mkfile);
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub _set_config($$)
|
||||
{
|
||||
my ($self, $config) = @_;
|
||||
|
||||
$self->{config} = $config;
|
||||
|
||||
if (not defined($self->{config}->{srcdir})) {
|
||||
$self->{config}->{srcdir} = '.';
|
||||
}
|
||||
|
||||
if (not defined($self->{config}->{builddir})) {
|
||||
$self->{config}->{builddir} = '.';
|
||||
}
|
||||
|
||||
if ($self->{config}->{prefix} eq "NONE") {
|
||||
$self->{config}->{prefix} = $self->{config}->{ac_default_prefix};
|
||||
}
|
||||
|
||||
if ($self->{config}->{exec_prefix} eq "NONE") {
|
||||
$self->{config}->{exec_prefix} = $self->{config}->{prefix};
|
||||
}
|
||||
}
|
||||
|
||||
sub output($$)
|
||||
{
|
||||
my ($self, $text) = @_;
|
||||
|
||||
$self->{output} .= $text;
|
||||
}
|
||||
|
||||
sub _prepare_mk_files($)
|
||||
{
|
||||
my $self = shift;
|
||||
my @tmp = ();
|
||||
|
||||
foreach (@smb_build::config_mk::parsed_files) {
|
||||
s/ .*$//g;
|
||||
push (@tmp, $_);
|
||||
}
|
||||
|
||||
$self->output("MK_FILES = " . array2oneperline(\@tmp) . "\n");
|
||||
}
|
||||
|
||||
sub array2oneperline($)
|
||||
{
|
||||
my $array = shift;
|
||||
my $output = "";
|
||||
|
||||
foreach (@$array) {
|
||||
next unless defined($_);
|
||||
|
||||
$output .= " \\\n\t\t$_";
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
||||
|
||||
sub _prepare_list($$$)
|
||||
{
|
||||
my ($self,$ctx,$var) = @_;
|
||||
my @tmparr = ();
|
||||
|
||||
push(@tmparr, @{$ctx->{$var}}) if defined($ctx->{$var});
|
||||
|
||||
my $tmplist = array2oneperline(\@tmparr);
|
||||
return if ($tmplist eq "");
|
||||
|
||||
$self->output("$ctx->{NAME}_$var =$tmplist\n");
|
||||
}
|
||||
|
||||
sub PythonModule($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
|
||||
$self->_prepare_list($ctx, "FULL_OBJ_LIST");
|
||||
$self->_prepare_list($ctx, "DEPEND_LIST");
|
||||
$self->_prepare_list($ctx, "LINK_FLAGS");
|
||||
|
||||
$self->output("\$(eval \$(call python_c_module_template,$ctx->{LIBRARY_REALNAME},\$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST), \$($ctx->{NAME}\_FULL_OBJ_LIST) \$($ctx->{NAME}_LINK_FLAGS)))\n");
|
||||
}
|
||||
|
||||
sub SharedModule($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
|
||||
my $sane_subsystem = lc($ctx->{SUBSYSTEM});
|
||||
$sane_subsystem =~ s/^lib//;
|
||||
|
||||
$self->output("PLUGINS += $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
|
||||
$self->output("\$(eval \$(call shared_module_install_template,$sane_subsystem,$ctx->{LIBRARY_REALNAME}))\n");
|
||||
|
||||
$self->_prepare_list($ctx, "FULL_OBJ_LIST");
|
||||
$self->_prepare_list($ctx, "DEPEND_LIST");
|
||||
$self->_prepare_list($ctx, "LINK_FLAGS");
|
||||
|
||||
if (defined($ctx->{INIT_FUNCTION}) and $ctx->{INIT_FUNCTION_TYPE} =~ /\(\*\)/ and not ($ctx->{INIT_FUNCTION} =~ /\(/)) {
|
||||
$self->output("\$($ctx->{NAME}_OBJ_FILES): CFLAGS+=-D$ctx->{INIT_FUNCTION}=samba_init_module\n");
|
||||
}
|
||||
|
||||
$self->output("\$(eval \$(call shared_module_template,$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}, \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST), \$($ctx->{NAME}\_FULL_OBJ_LIST) \$($ctx->{NAME}_LINK_FLAGS)))\n");
|
||||
|
||||
|
||||
if (defined($ctx->{ALIASES})) {
|
||||
$self->output("\$(eval \$(foreach alias,". join(' ', @{$ctx->{ALIASES}}) . ",\$(call shared_module_alias_template,$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME},$sane_subsystem,\$(alias))))\n");
|
||||
}
|
||||
}
|
||||
|
||||
sub StaticLibraryPrimitives($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
|
||||
$self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
|
||||
$self->_prepare_list($ctx, "FULL_OBJ_LIST");
|
||||
}
|
||||
|
||||
sub SharedLibraryPrimitives($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
|
||||
if (not grep(/STATIC_LIBRARY/, @{$ctx->{OUTPUT_TYPE}})) {
|
||||
$self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
|
||||
$self->_prepare_list($ctx, "FULL_OBJ_LIST");
|
||||
}
|
||||
}
|
||||
|
||||
sub SharedLibrary($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
|
||||
$self->output("SHARED_LIBS += $ctx->{RESULT_SHARED_LIBRARY}\n");
|
||||
|
||||
$self->_prepare_list($ctx, "DEPEND_LIST");
|
||||
$self->_prepare_list($ctx, "LINK_FLAGS");
|
||||
|
||||
$self->output("\$(eval \$(call shared_library_template,$ctx->{RESULT_SHARED_LIBRARY}, \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST), \$($ctx->{NAME}\_FULL_OBJ_LIST) \$($ctx->{NAME}_LINK_FLAGS),$ctx->{SHAREDDIR}/$ctx->{LIBRARY_SONAME},$ctx->{SHAREDDIR}/$ctx->{LIBRARY_DEBUGNAME}))\n");
|
||||
}
|
||||
|
||||
sub MergedObj($$)
|
||||
{
|
||||
my ($self, $ctx) = @_;
|
||||
|
||||
$self->output("\$(call partial_link_template, $ctx->{OUTPUT}, \$($ctx->{NAME}_OBJ_FILES))\n");
|
||||
}
|
||||
|
||||
sub InitFunctions($$)
|
||||
{
|
||||
my ($self, $ctx) = @_;
|
||||
$self->output("\$($ctx->{NAME}_OBJ_FILES): CFLAGS+=-DSTATIC_$ctx->{NAME}_MODULES=\"\$($ctx->{NAME}_INIT_FUNCTIONS)$ctx->{INIT_FUNCTION_SENTINEL}\"\n");
|
||||
}
|
||||
|
||||
sub StaticLibrary($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
|
||||
$self->output("STATIC_LIBS += $ctx->{RESULT_STATIC_LIBRARY}\n") if ($ctx->{TYPE} eq "LIBRARY");
|
||||
$self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
|
||||
$self->output("$ctx->{RESULT_STATIC_LIBRARY}: \$($ctx->{NAME}_FULL_OBJ_LIST)\n");
|
||||
}
|
||||
|
||||
sub Binary($$)
|
||||
{
|
||||
my ($self,$ctx) = @_;
|
||||
|
||||
unless (defined($ctx->{INSTALLDIR})) {
|
||||
} elsif ($ctx->{INSTALLDIR} eq "SBINDIR") {
|
||||
$self->output("\$(eval \$(call sbinary_install_template,$ctx->{RESULT_BINARY}))\n");
|
||||
} elsif ($ctx->{INSTALLDIR} eq "BINDIR") {
|
||||
$self->output("\$(eval \$(call binary_install_template,$ctx->{RESULT_BINARY}))\n");
|
||||
}
|
||||
|
||||
$self->_prepare_list($ctx, "FULL_OBJ_LIST");
|
||||
$self->_prepare_list($ctx, "DEPEND_LIST");
|
||||
$self->_prepare_list($ctx, "LINK_FLAGS");
|
||||
|
||||
if (defined($ctx->{USE_HOSTCC}) && $ctx->{USE_HOSTCC} eq "YES") {
|
||||
$self->output("\$(eval \$(call host_binary_link_template, $ctx->{RESULT_BINARY}, \$($ctx->{NAME}_FULL_OBJ_LIST) \$($ctx->{NAME}_DEPEND_LIST), \$($ctx->{NAME}_LINK_FLAGS)))\n");
|
||||
} else {
|
||||
$self->output("\$(eval \$(call binary_link_template, $ctx->{RESULT_BINARY}, \$($ctx->{NAME}_FULL_OBJ_LIST) \$($ctx->{NAME}_DEPEND_LIST), \$($ctx->{NAME}_LINK_FLAGS)))\n");
|
||||
}
|
||||
}
|
||||
|
||||
sub write($$)
|
||||
{
|
||||
my ($self, $file) = @_;
|
||||
|
||||
$self->_prepare_mk_files();
|
||||
|
||||
$self->output("ALL_OBJS = " . array2oneperline($self->{all_objs}) . "\n");
|
||||
|
||||
open(MAKEFILE,">$file") || die ("Can't open $file\n");
|
||||
print MAKEFILE $self->{output};
|
||||
close(MAKEFILE);
|
||||
|
||||
print __FILE__.": creating $file\n";
|
||||
}
|
||||
|
||||
my $sort_available = eval "use sort 'stable'; return 1;";
|
||||
$sort_available = 0 unless defined($sort_available);
|
||||
|
||||
sub by_path {
|
||||
return 1 if($a =~ m#^\-I/#);
|
||||
return -1 if($b =~ m#^\-I/#);
|
||||
return 0;
|
||||
}
|
||||
|
||||
sub CFlags($$)
|
||||
{
|
||||
my ($self, $key) = @_;
|
||||
|
||||
my $srcdir = $self->{config}->{srcdir};
|
||||
my $builddir = $self->{config}->{builddir};
|
||||
|
||||
my $src_ne_build = ($srcdir ne $builddir) ? 1 : 0;
|
||||
|
||||
return unless defined ($key->{FINAL_CFLAGS});
|
||||
return unless (@{$key->{FINAL_CFLAGS}} > 0);
|
||||
|
||||
my @sorted_cflags = @{$key->{FINAL_CFLAGS}};
|
||||
if ($sort_available) {
|
||||
@sorted_cflags = sort by_path @{$key->{FINAL_CFLAGS}};
|
||||
}
|
||||
|
||||
# Rewrite CFLAGS so that both the source and the build
|
||||
# directories are in the path.
|
||||
my @cflags = ();
|
||||
foreach my $flag (@sorted_cflags) {
|
||||
if($src_ne_build) {
|
||||
if($flag =~ m#^-I([^/].*$)#) {
|
||||
my $dir = $1;
|
||||
if ($dir =~ /^\$\(/) {
|
||||
push (@cflags, $flag);
|
||||
next;
|
||||
}
|
||||
$dir =~ s#^\$\((?:src|build)dir\)/?##;
|
||||
push(@cflags, "-I$builddir/$dir", "-I$srcdir/$dir");
|
||||
next;
|
||||
}
|
||||
}
|
||||
push(@cflags, $flag);
|
||||
}
|
||||
|
||||
my $cflags = join(' ', @cflags);
|
||||
|
||||
$self->output("\$(patsubst %.ho,%.d,\$($key->{NAME}_OBJ_FILES:.o=.d)) \$($key->{NAME}_OBJ_FILES): CFLAGS+= $cflags\n");
|
||||
}
|
||||
|
||||
1;
|
@ -1,172 +0,0 @@
|
||||
# SMB Build System
|
||||
# - the output generating functions
|
||||
#
|
||||
# Copyright (C) Stefan (metze) Metzmacher 2004
|
||||
# Copyright (C) Jelmer Vernooij 2004
|
||||
# Released under the GNU GPL
|
||||
|
||||
package output;
|
||||
use strict;
|
||||
|
||||
sub generate_shared_library($)
|
||||
{
|
||||
my $lib = shift;
|
||||
my $link_name;
|
||||
my $lib_name;
|
||||
|
||||
$lib->{DEPEND_LIST} = [];
|
||||
|
||||
$link_name = lc($lib->{NAME});
|
||||
$lib_name = $link_name;
|
||||
|
||||
if ($lib->{TYPE} eq "LIBRARY") {
|
||||
$link_name = $lib->{NAME};
|
||||
$link_name =~ s/^LIB//;
|
||||
$link_name = lc($link_name);
|
||||
$lib_name = "lib$link_name";
|
||||
}
|
||||
|
||||
if ($lib->{TYPE} eq "PYTHON") {
|
||||
$lib->{SHAREDDIR} = "bin/python";
|
||||
} elsif (defined($lib->{LIBRARY_REALNAME})) {
|
||||
$lib->{BASEDIR} =~ s/^\.\///g;
|
||||
$lib->{SHAREDDIR} = $lib->{BASEDIR};
|
||||
} else {
|
||||
if ($lib->{TYPE} eq "MODULE") {
|
||||
my $sane_subsystem = lc($lib->{SUBSYSTEM});
|
||||
$sane_subsystem =~ s/^lib//;
|
||||
$lib->{SHAREDDIR} = "bin/modules/$sane_subsystem";
|
||||
$lib->{LIBRARY_REALNAME} = $link_name;
|
||||
$lib->{LIBRARY_REALNAME} =~ s/^$sane_subsystem\_//g;
|
||||
$lib->{LIBRARY_REALNAME}.= ".\$(SHLIBEXT)";
|
||||
} else {
|
||||
$lib->{SHAREDDIR} = "\$(shliboutputdir)";
|
||||
$lib->{LIBRARY_REALNAME} = "$lib_name.\$(SHLIBEXT)";
|
||||
}
|
||||
}
|
||||
|
||||
$lib->{LIBRARY_DEBUGNAME} = $lib->{LIBRARY_REALNAME};
|
||||
|
||||
$lib->{LIBRARY_SONAME} = "\$(if \$($lib->{NAME}_SOVERSION),$lib->{LIBRARY_REALNAME}.\$($lib->{NAME}_SOVERSION),$lib->{LIBRARY_REALNAME})";
|
||||
$lib->{LIBRARY_REALNAME} = "\$(if \$($lib->{NAME}_VERSION),$lib->{LIBRARY_REALNAME}.\$($lib->{NAME}_VERSION),$lib->{LIBRARY_REALNAME})";
|
||||
|
||||
$lib->{RESULT_SHARED_LIBRARY} = "$lib->{SHAREDDIR}/$lib->{LIBRARY_REALNAME}";
|
||||
$lib->{OUTPUT_SHARED_LIBRARY} = "-l$link_name";
|
||||
$lib->{TARGET_SHARED_LIBRARY} = "$lib->{SHAREDDIR}/$lib->{LIBRARY_DEBUGNAME}";
|
||||
}
|
||||
|
||||
sub generate_merged_obj($)
|
||||
{
|
||||
my $lib = shift;
|
||||
|
||||
my $link_name = $lib->{NAME};
|
||||
$link_name =~ s/^LIB//;
|
||||
|
||||
$lib->{MERGED_OBJNAME} = lc($link_name).".o";
|
||||
$lib->{RESULT_MERGED_OBJ} = $lib->{OUTPUT_MERGED_OBJ} = "bin/mergedobj/$lib->{MERGED_OBJNAME}";
|
||||
$lib->{TARGET_MERGED_OBJ} = $lib->{RESULT_MERGED_OBJ};
|
||||
}
|
||||
|
||||
sub generate_static_library($)
|
||||
{
|
||||
my $lib = shift;
|
||||
my $link_name;
|
||||
|
||||
$lib->{DEPEND_LIST} = [];
|
||||
|
||||
$link_name = $lib->{NAME};
|
||||
$link_name =~ s/^LIB//;
|
||||
|
||||
$lib->{LIBRARY_NAME} = "lib".lc($link_name).".a";
|
||||
|
||||
$lib->{RESULT_STATIC_LIBRARY} = "bin/static/$lib->{LIBRARY_NAME}";
|
||||
$lib->{TARGET_STATIC_LIBRARY} = $lib->{RESULT_STATIC_LIBRARY};
|
||||
$lib->{STATICDIR} = 'bin/static';
|
||||
$lib->{OUTPUT_STATIC_LIBRARY} = "-l".lc($link_name);
|
||||
}
|
||||
|
||||
sub generate_binary($)
|
||||
{
|
||||
my $bin = shift;
|
||||
|
||||
$bin->{DEPEND_LIST} = [];
|
||||
push(@{$bin->{LINK_FLAGS}}, "\$($bin->{NAME}\_FULL_OBJ_LIST)");
|
||||
|
||||
$bin->{DEBUGDIR} = "bin";
|
||||
$bin->{RESULT_BINARY} = $bin->{OUTPUT_BINARY} = "$bin->{DEBUGDIR}/$bin->{NAME}";
|
||||
$bin->{TARGET_BINARY} = $bin->{RESULT_BINARY};
|
||||
$bin->{BINARY} = $bin->{NAME};
|
||||
}
|
||||
|
||||
sub merge_array($$)
|
||||
{
|
||||
# $dest is a reference to an array
|
||||
# $src is an array
|
||||
my ($dest, $src) = @_;
|
||||
|
||||
return unless defined($src);
|
||||
return unless ($#{$src} >= 0);
|
||||
|
||||
foreach my $line (@{$src}) {
|
||||
next if (grep /^$line$/, @{$$dest});
|
||||
push(@{$$dest}, $line);
|
||||
}
|
||||
}
|
||||
|
||||
sub create_output($$)
|
||||
{
|
||||
my ($depend, $config) = @_;
|
||||
my $part;
|
||||
|
||||
foreach $part (values %{$depend}) {
|
||||
next unless(defined($part->{OUTPUT_TYPE}));
|
||||
|
||||
generate_binary($part) if grep(/BINARY/, @{$part->{OUTPUT_TYPE}});
|
||||
generate_shared_library($part) if grep(/SHARED_LIBRARY/, @{$part->{OUTPUT_TYPE}});
|
||||
generate_static_library($part) if grep(/STATIC_LIBRARY/, @{$part->{OUTPUT_TYPE}});
|
||||
generate_merged_obj($part) if grep(/MERGED_OBJ/, @{$part->{OUTPUT_TYPE}});
|
||||
$part->{OUTPUT} = $part->{"OUTPUT_" . @{$part->{OUTPUT_TYPE}}[0]};
|
||||
$part->{TARGET} = $part->{"TARGET_" . @{$part->{OUTPUT_TYPE}}[0]};
|
||||
}
|
||||
|
||||
foreach $part (values %{$depend}) {
|
||||
next if not defined($part->{OUTPUT_TYPE});
|
||||
|
||||
merge_array(\$part->{FINAL_CFLAGS}, $part->{CPPFLAGS});
|
||||
merge_array(\$part->{FINAL_CFLAGS}, $part->{CFLAGS});
|
||||
|
||||
foreach (@{$part->{UNIQUE_DEPENDENCIES_ALL}}) {
|
||||
my $elem = $depend->{$_};
|
||||
next if $elem == $part;
|
||||
|
||||
merge_array(\$part->{FINAL_CFLAGS}, $elem->{CPPFLAGS});
|
||||
merge_array(\$part->{FINAL_CFLAGS}, $elem->{CFLAGS});
|
||||
}
|
||||
|
||||
# Always import the link options of the unique dependencies
|
||||
foreach (@{$part->{UNIQUE_DEPENDENCIES_LINK}}) {
|
||||
my $elem = $depend->{$_};
|
||||
next if $elem == $part;
|
||||
|
||||
push(@{$part->{LINK_FLAGS}}, @{$elem->{LIBS}}) if defined($elem->{LIBS});
|
||||
push(@{$part->{LINK_FLAGS}}, @{$elem->{LDFLAGS}}) if defined($elem->{LDFLAGS});
|
||||
if (defined($elem->{OUTPUT_TYPE}) and @{$elem->{OUTPUT_TYPE}}[0] eq "MERGED_OBJ") {
|
||||
push (@{$part->{FULL_OBJ_LIST}}, $elem->{TARGET});
|
||||
} else {
|
||||
push(@{$part->{LINK_FLAGS}}, "\$($elem->{NAME}_OUTPUT)") if defined($elem->{OUTPUT});
|
||||
push(@{$part->{DEPEND_LIST}}, $elem->{TARGET}) if (defined($elem->{TARGET}));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach $part (values %{$depend}) {
|
||||
if (defined($part->{STANDARD_VISIBILITY}) and ($part->{STANDARD_VISIBILITY} ne "default") and
|
||||
($config->{visibility_attribute} eq "yes")) {
|
||||
push(@{$part->{FINAL_CFLAGS}}, "-fvisibility=$part->{STANDARD_VISIBILITY}");
|
||||
}
|
||||
}
|
||||
|
||||
return $depend;
|
||||
}
|
||||
|
||||
1;
|
@ -1,87 +0,0 @@
|
||||
# Samba Build System
|
||||
# - write out summary
|
||||
#
|
||||
# Copyright (C) Jelmer Vernooij 2006
|
||||
# Released under the GNU GPL
|
||||
|
||||
package summary;
|
||||
use smb_build::config;
|
||||
use strict;
|
||||
|
||||
sub enabled($)
|
||||
{
|
||||
my ($val) = @_;
|
||||
|
||||
return (defined($val) && $val =~ m/yes|true/i);
|
||||
}
|
||||
|
||||
sub showitem($$$)
|
||||
{
|
||||
my ($output,$desc,$items) = @_;
|
||||
|
||||
my @need = ();
|
||||
|
||||
foreach (@$items) {
|
||||
push (@need, $_) if (enabled($config::enable{$_}));
|
||||
}
|
||||
|
||||
print "Support for $desc: ";
|
||||
if ($#need >= 0) {
|
||||
print "no (install " . join(',',@need) . ")\n";
|
||||
} else {
|
||||
print "yes\n";
|
||||
}
|
||||
}
|
||||
|
||||
sub showisexternal($$$)
|
||||
{
|
||||
my ($output, $desc, $name) = @_;
|
||||
print "Using external $desc: ";
|
||||
if ($output->{$name}->{TYPE} eq "SUBSYSTEM" or
|
||||
$output->{$name}->{TYPE} eq "LIBRARY") {
|
||||
print "no";
|
||||
} else {
|
||||
print "yes";
|
||||
}
|
||||
print "\n";
|
||||
}
|
||||
|
||||
sub show($$)
|
||||
{
|
||||
my ($output,$config) = @_;
|
||||
|
||||
print "Summary:\n\n";
|
||||
showitem($output, "SSL in SWAT and LDAP", ["GNUTLS"]);
|
||||
showitem($output, "threads in server (see --with-pthread)", ["PTHREAD"]);
|
||||
showitem($output, "intelligent command line editing", ["READLINE"]);
|
||||
showitem($output, "changing process titles (see --with-setproctitle)", ["SETPROCTITLE"]);
|
||||
showitem($output, "using extended attributes", ["XATTR"]);
|
||||
showitem($output, "using libblkid", ["BLKID"]);
|
||||
showitem($output, "using iconv", ["ICONV"]);
|
||||
showitem($output, "using pam", ["PAM"]);
|
||||
showitem($output, "python bindings", ["LIBPYTHON"]);
|
||||
showisexternal($output, "popt", "LIBPOPT");
|
||||
showisexternal($output, "talloc", "LIBTALLOC");
|
||||
showisexternal($output, "tdb", "LIBTDB");
|
||||
showisexternal($output, "tevent", "LIBTEVENT");
|
||||
showisexternal($output, "ldb", "LIBLDB");
|
||||
showisexternal($output, "heimdal", "HEIMDAL_KRB5");
|
||||
print "Developer mode: ".(enabled($config->{developer})?"yes":"no")."\n";
|
||||
print "Automatic dependencies: ".
|
||||
(enabled($config->{automatic_dependencies})
|
||||
? "yes" : "no (install GNU make >= 3.81 and see --enable-automatic-dependencies)") .
|
||||
"\n";
|
||||
|
||||
print "Building shared libraries: " .
|
||||
(enabled($config->{BLDSHARED})
|
||||
? "yes" : "no (not supported on this system)") .
|
||||
"\n";
|
||||
print "Using shared libraries internally: " .
|
||||
(enabled($config->{USESHARED})
|
||||
? "yes" : "no (specify --enable-dso)") .
|
||||
"\n";
|
||||
|
||||
print "\n";
|
||||
}
|
||||
|
||||
1;
|
@ -1,24 +0,0 @@
|
||||
# CLDAP server subsystem
|
||||
#
|
||||
[MODULE::service_cldap]
|
||||
INIT_FUNCTION = server_service_cldapd_init
|
||||
SUBSYSTEM = service
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
CLDAPD process_model LIBNETIF
|
||||
|
||||
service_cldap_OBJ_FILES = $(addprefix $(cldap_serversrcdir)/, \
|
||||
cldap_server.o)
|
||||
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM CLDAPD
|
||||
[SUBSYSTEM::CLDAPD]
|
||||
PRIVATE_DEPENDENCIES = LIBCLI_CLDAP
|
||||
# End SUBSYSTEM CLDAPD
|
||||
#######################
|
||||
|
||||
CLDAPD_OBJ_FILES = $(addprefix $(cldap_serversrcdir)/, \
|
||||
netlogon.o \
|
||||
rootdse.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(cldap_serversrcdir)/proto.h,$(CLDAPD_OBJ_FILES:.o=.c)))
|
@ -1,36 +0,0 @@
|
||||
# client subsystem
|
||||
|
||||
#################################
|
||||
# Start BINARY smbclient
|
||||
[BINARY::smbclient]
|
||||
INSTALLDIR = BINDIR
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBSAMBA-HOSTCONFIG \
|
||||
SMBREADLINE \
|
||||
LIBSAMBA-UTIL \
|
||||
LIBCLI_SMB \
|
||||
RPC_NDR_SRVSVC \
|
||||
LIBCLI_LSA \
|
||||
LIBPOPT \
|
||||
POPT_SAMBA \
|
||||
POPT_CREDENTIALS \
|
||||
LIBCLI_RAW
|
||||
# End BINARY smbclient
|
||||
#################################
|
||||
|
||||
smbclient_OBJ_FILES = $(clientsrcdir)/client.o
|
||||
|
||||
#################################
|
||||
# Start BINARY cifsdd
|
||||
[BINARY::cifsdd]
|
||||
INSTALLDIR = BINDIR
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBSAMBA-HOSTCONFIG \
|
||||
LIBCLI_SMB \
|
||||
LIBPOPT \
|
||||
POPT_SAMBA \
|
||||
POPT_CREDENTIALS
|
||||
# End BINARY sdd
|
||||
#################################
|
||||
|
||||
cifsdd_OBJ_FILES = $(addprefix $(clientsrcdir)/, cifsdd.o cifsddio.o)
|
@ -1,4 +0,0 @@
|
||||
[SUBSYSTEM::CLUSTER]
|
||||
PRIVATE_DEPENDENCIES = TDB_WRAP
|
||||
|
||||
CLUSTER_OBJ_FILES = $(addprefix $(clustersrcdir)/, cluster.o local.o)
|
1561
source4/config.guess
vendored
1561
source4/config.guess
vendored
File diff suppressed because it is too large
Load Diff
1686
source4/config.sub
vendored
1686
source4/config.sub
vendored
File diff suppressed because it is too large
Load Diff
@ -1,220 +0,0 @@
|
||||
dnl -*- mode: m4-mode -*-
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.54)
|
||||
|
||||
AC_INIT([samba],[4],[samba-technical@samba.org])
|
||||
|
||||
AC_CONFIG_SRCDIR([include/includes.h])
|
||||
AC_CONFIG_HEADER(include/config_tmp.h)
|
||||
AC_DEFINE(CONFIG_H_IS_FROM_SAMBA,1,[Marker for samba's config.h.])
|
||||
|
||||
# Configuration rules.
|
||||
m4_include(build/m4/env.m4)
|
||||
m4_include(../lib/replace/samba.m4)
|
||||
m4_include(../libcli/smbreadline/readline.m4)
|
||||
m4_include(heimdal_build/config.m4)
|
||||
m4_include(../lib/util/fault.m4)
|
||||
m4_include(../lib/util/signal.m4)
|
||||
m4_include(../lib/util/util.m4)
|
||||
m4_include(../lib/util/fsusage.m4)
|
||||
m4_include(../lib/util/xattr.m4)
|
||||
m4_include(../lib/util/capability.m4)
|
||||
m4_include(../lib/popt/samba.m4)
|
||||
m4_include(../lib/util/charset/config.m4)
|
||||
m4_include(lib/socket/config.m4)
|
||||
m4_include(../lib/zlib/zlib.m4)
|
||||
AC_ZLIB([
|
||||
SMB_EXT_LIB(ZLIB, [${ZLIB_LIBS}])
|
||||
],[
|
||||
SMB_INCLUDE_MK(lib/zlib.mk)
|
||||
])
|
||||
m4_include(../nsswitch/nsstest.m4)
|
||||
m4_include(../pidl/config.m4)
|
||||
|
||||
AC_CONFIG_FILES(lib/registry/registry.pc)
|
||||
AC_CONFIG_FILES(lib/policy/policy.pc)
|
||||
AC_CONFIG_FILES(librpc/dcerpc.pc)
|
||||
AC_CONFIG_FILES(../librpc/ndr.pc)
|
||||
AC_CONFIG_FILES(../librpc/ndr_standard.pc)
|
||||
AC_CONFIG_FILES(../lib/torture/torture.pc)
|
||||
AC_CONFIG_FILES(auth/gensec/gensec.pc)
|
||||
AC_CONFIG_FILES(param/samba-hostconfig.pc)
|
||||
AC_CONFIG_FILES(librpc/dcerpc_samr.pc)
|
||||
AC_CONFIG_FILES(librpc/dcerpc_atsvc.pc)
|
||||
|
||||
m4_include(min_versions.m4)
|
||||
|
||||
SMB_INCLUDED_LIB_PKGCONFIG(LIBTALLOC, talloc >= TALLOC_MIN_VERSION, [],
|
||||
[
|
||||
m4_include(../lib/talloc/libtalloc.m4)
|
||||
SMB_INCLUDE_MK(../lib/talloc/config.mk)
|
||||
]
|
||||
)
|
||||
|
||||
SMB_INCLUDED_LIB_PKGCONFIG(LIBTDB, tdb >= TDB_MIN_VERSION,
|
||||
[
|
||||
AC_MSG_CHECKING([for Python TDB bindings])
|
||||
if $PYTHON -c "from tdb import open" 2>/dev/null; then
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
SMB_INCLUDE_MK(../lib/tdb/python.mk)
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
],
|
||||
[
|
||||
m4_include(../lib/tdb/libtdb.m4)
|
||||
SMB_INCLUDE_MK(../lib/tdb/config.mk)
|
||||
SMB_INCLUDE_MK(../lib/tdb/python.mk)
|
||||
]
|
||||
)
|
||||
|
||||
SMB_INCLUDED_LIB_PKGCONFIG(LIBTEVENT, tevent = TEVENT_REQUIRED_VERSION,
|
||||
[],[m4_include(../lib/tevent/samba.m4)]
|
||||
)
|
||||
|
||||
SMB_INCLUDED_LIB_PKGCONFIG(LIBLDB, ldb = LDB_REQUIRED_VERSION,
|
||||
[
|
||||
SMB_INCLUDE_MK(lib/ldb/ldb_ildap/config.mk)
|
||||
SMB_INCLUDE_MK(lib/ldb/tools/config.mk)
|
||||
define_ldb_modulesdir=no
|
||||
AC_MSG_CHECKING([for Python LDB bindings])
|
||||
if $PYTHON -c "import ldb" 2>/dev/null; then
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
SMB_INCLUDE_MK(lib/ldb/python.mk)
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
|
||||
],
|
||||
[
|
||||
# Here we need to do some tricks
|
||||
# with AC_CONFIG_COMMANDS_PRE
|
||||
# as that's the deferrs the commands
|
||||
# to location after $prefix and $exec_prefix
|
||||
# have useful values and directly before
|
||||
# creating config.status.
|
||||
#
|
||||
# The 'eval eval echo' trick is used to
|
||||
# actually get the raw absolute directory
|
||||
# path as this is needed in config.h
|
||||
define_ldb_modulesdir=yes
|
||||
AC_CONFIG_COMMANDS_PRE([
|
||||
if test x"$define_ldb_modulesdir" = x"yes";then
|
||||
LDB_MODULESDIR=`eval eval echo ${modulesdir}/ldb`
|
||||
AC_DEFINE_UNQUOTED(LDB_MODULESDIR, "${LDB_MODULESDIR}" , [ldb Modules directory])
|
||||
fi
|
||||
])
|
||||
ldbdir=lib/ldb
|
||||
AC_SUBST(ldbdir)
|
||||
m4_include(lib/ldb/sqlite3.m4)
|
||||
m4_include(lib/ldb/libldb.m4)
|
||||
SMB_INCLUDE_MK(lib/ldb/config.mk)
|
||||
AC_CONFIG_FILES(lib/ldb/ldb.pc)
|
||||
SMB_INCLUDE_MK(lib/ldb/python.mk)
|
||||
])
|
||||
|
||||
m4_include(lib/tls/config.m4)
|
||||
m4_include(torture/libnetapi/config.m4)
|
||||
m4_include(torture/libsmbclient/config.m4)
|
||||
|
||||
dnl m4_include(auth/kerberos/config.m4)
|
||||
m4_include(auth/gensec/config.m4)
|
||||
m4_include(smbd/process_model.m4)
|
||||
m4_include(ntvfs/posix/config.m4)
|
||||
m4_include(ntvfs/unixuid/config.m4)
|
||||
m4_include(../lib/socket_wrapper/config.m4)
|
||||
m4_include(../lib/nss_wrapper/config.m4)
|
||||
m4_include(../lib/uid_wrapper/config.m4)
|
||||
dnl nsswitch must be before auth as it sets some variable
|
||||
dnl tested by auth/config.m4, libiiniparser must be even before
|
||||
dnl because nsswitch depend also on it
|
||||
m4_include(../lib/iniparser_build/config.m4)
|
||||
m4_include(../nsswitch/config.m4)
|
||||
m4_include(auth/config.m4)
|
||||
m4_include(kdc/config.m4)
|
||||
m4_include(ntvfs/sysdep/config.m4)
|
||||
|
||||
#################################################
|
||||
# add *_CFLAGS only for the real build
|
||||
CFLAGS="${CFLAGS} ${DEVELOPER_CFLAGS}"
|
||||
|
||||
#################################################
|
||||
# final configure stuff
|
||||
|
||||
AC_MSG_CHECKING([configure summary])
|
||||
AC_TRY_RUN([#include "${srcdir-.}/../tests/summary.c"],
|
||||
AC_MSG_RESULT(yes),
|
||||
AC_MSG_ERROR([summary failure. Aborting config]); exit 1;,
|
||||
AC_MSG_WARN([cannot run when cross-compiling]))
|
||||
|
||||
LIBS=`echo $LIBS | sed -e 's/ *//g'`
|
||||
if test x"$LIBS" != x""; then
|
||||
echo "LIBS: $LIBS"
|
||||
AC_MSG_WARN([the global \$LIBS variable contains some libraries!])
|
||||
AC_MSG_WARN([this should not happen, please report to samba-technical@lists.samba.org!])
|
||||
AC_MSG_ERROR([only _EXT macros from aclocal.m4 should be used!])
|
||||
fi
|
||||
|
||||
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)
|
||||
|
||||
AC_SUBST(ac_default_prefix)
|
||||
|
||||
for d in build/smb_build bin include ; do
|
||||
test -d ${builddir}/$d || AS_MKDIR_P(${builddir}/$d)
|
||||
done
|
||||
|
||||
AC_SUBST(INTERN_LDFLAGS)
|
||||
AC_SUBST(INSTALL_LINK_FLAGS)
|
||||
if test $USESHARED = "true";
|
||||
then
|
||||
INTERN_LDFLAGS="-L\$(shliboutputdir) -L\${builddir}/bin/static"
|
||||
INSTALL_LINK_FLAGS="-Wl,-rpath-link,\$(shliboutputdir)";
|
||||
else
|
||||
INTERN_LDFLAGS="-L\${builddir}/bin/static -L\$(shliboutputdir)"
|
||||
fi
|
||||
|
||||
builddir_headers=""
|
||||
|
||||
if test "x$ac_abs_srcdir" != "x$ac_abs_builddir"
|
||||
then
|
||||
builddir_headers="-I\$(builddir)/include -I\$(builddir) -I\$(builddir)/lib ";
|
||||
fi
|
||||
|
||||
CPPFLAGS="$builddir_headers-I\$(srcdir)/include -I\$(srcdir) -I\$(srcdir)/lib -I\$(srcdir)/../lib/replace -I\$(srcdir)/../lib/talloc -I\$(srcdir)/.. -D_SAMBA_BUILD_=4 -DHAVE_CONFIG_H $CPPFLAGS"
|
||||
|
||||
SMB_WRITE_PERLVARS(build/smb_build/config.pm)
|
||||
|
||||
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
|
||||
|
||||
SMB_BUILD_RUN(data.mk)
|
||||
AC_OUTPUT(Makefile)
|
||||
|
||||
cmp include/config_tmp.h include/config.h >/dev/null 2>&1
|
||||
CMP_RET=$?
|
||||
if test $CMP_RET != 0; then
|
||||
cp include/config_tmp.h include/config.h
|
||||
fi
|
||||
|
||||
SMB_WRITE_MAKEVARS(mkconfig.mk)
|
||||
|
||||
if test $USESHARED = true
|
||||
then
|
||||
echo "To run binaries without installing, set the following environment variable:"
|
||||
echo "$LIB_PATH_VAR=$builddir/bin/shared"
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "To build Samba, run $MAKE"
|
@ -1,117 +0,0 @@
|
||||
# Directory Service subsystem
|
||||
|
||||
mkinclude samdb/ldb_modules/config.mk
|
||||
|
||||
################################################
|
||||
# Start SUBSYSTEM SAMDB
|
||||
[SUBSYSTEM::SAMDB]
|
||||
PUBLIC_DEPENDENCIES = HEIMDAL_KRB5
|
||||
PRIVATE_DEPENDENCIES = LIBNDR NDR_DRSUAPI NDR_DRSBLOBS NSS_WRAPPER \
|
||||
auth_system_session LDAP_ENCODE LIBCLI_AUTH LIBNDR \
|
||||
SAMDB_SCHEMA LDB_WRAP SAMDB_COMMON \
|
||||
LIBCLI_DRSUAPI LIBCLI_LDAP_NDR LIBSAMBA-UTIL
|
||||
|
||||
|
||||
SAMDB_OBJ_FILES = $(addprefix $(dsdbsrcdir)/, \
|
||||
samdb/samdb.o \
|
||||
samdb/samdb_privilege.o \
|
||||
samdb/cracknames.o \
|
||||
repl/replicated_objects.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(dsdbsrcdir)/samdb/samdb_proto.h,$(SAMDB_OBJ_FILES:.o=.c)))
|
||||
# PUBLIC_HEADERS += dsdb/samdb/samdb.h
|
||||
|
||||
[SUBSYSTEM::SAMDB_COMMON]
|
||||
PRIVATE_DEPENDENCIES = LIBLDB NDR_DRSBLOBS LIBCLI_LDAP_NDR UTIL_LDB LIBCLI_AUTH
|
||||
|
||||
SAMDB_COMMON_OBJ_FILES = $(addprefix $(dsdbsrcdir)/common/, \
|
||||
util.o \
|
||||
dsdb_dn.o \
|
||||
dsdb_access.o) \
|
||||
../libds/common/flag_mapping.o
|
||||
$(eval $(call proto_header_template,$(dsdbsrcdir)/common/proto.h,$(SAMDB_COMMON_OBJ_FILES:.o=.c)))
|
||||
|
||||
[SUBSYSTEM::SAMDB_SCHEMA]
|
||||
PRIVATE_DEPENDENCIES = SAMDB_COMMON NDR_DRSUAPI NDR_DRSBLOBS LDBSAMBA
|
||||
|
||||
SAMDB_SCHEMA_OBJ_FILES = $(addprefix $(dsdbsrcdir)/schema/, \
|
||||
schema_init.o \
|
||||
schema_set.o \
|
||||
schema_query.o \
|
||||
schema_syntax.o \
|
||||
schema_description.o \
|
||||
schema_convert_to_ol.o \
|
||||
schema_inferiors.o \
|
||||
schema_prefixmap.o \
|
||||
schema_info_attr.o \
|
||||
schema_filtered.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(dsdbsrcdir)/schema/proto.h,$(SAMDB_SCHEMA_OBJ_FILES:.o=.c)))
|
||||
# PUBLIC_HEADERS += dsdb/schema/schema.h
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM DREPL_SRV
|
||||
[MODULE::DREPL_SRV]
|
||||
INIT_FUNCTION = server_service_drepl_init
|
||||
SUBSYSTEM = service
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
SAMDB \
|
||||
process_model \
|
||||
RPC_NDR_DRSUAPI
|
||||
# End SUBSYSTEM DREPL_SRV
|
||||
#######################
|
||||
|
||||
DREPL_SRV_OBJ_FILES = $(addprefix $(dsdbsrcdir)/repl/, \
|
||||
drepl_service.o \
|
||||
drepl_periodic.o \
|
||||
drepl_partitions.o \
|
||||
drepl_out_pull.o \
|
||||
drepl_out_helpers.o \
|
||||
drepl_notify.o \
|
||||
drepl_ridalloc.o \
|
||||
drepl_fsmo.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(dsdbsrcdir)/repl/drepl_service_proto.h,$(DREPL_SRV_OBJ_FILES:.o=.c)))
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM KCC_SRV
|
||||
[MODULE::KCC_SRV]
|
||||
INIT_FUNCTION = server_service_kcc_init
|
||||
SUBSYSTEM = service
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
SAMDB \
|
||||
process_model \
|
||||
RPC_NDR_DRSUAPI
|
||||
# End SUBSYSTEM KCC_SRV
|
||||
#######################
|
||||
|
||||
KCC_SRV_OBJ_FILES = $(addprefix $(dsdbsrcdir)/kcc/, \
|
||||
kcc_service.o \
|
||||
kcc_connection.o \
|
||||
kcc_topology.o \
|
||||
kcc_deleted.o \
|
||||
kcc_periodic.o \
|
||||
kcc_drs_replica_info.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(dsdbsrcdir)/kcc/kcc_service_proto.h,$(KCC_SRV_OBJ_FILES:.o=.c)))
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM DNS_UPDATE_SRV
|
||||
[MODULE::DNS_UPDATE_SRV]
|
||||
INIT_FUNCTION = server_service_dnsupdate_init
|
||||
SUBSYSTEM = service
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
SAMDB \
|
||||
process_model \
|
||||
UTIL_RUNCMD
|
||||
# End SUBSYSTEM DNS_UPDATE_SRV
|
||||
#######################
|
||||
|
||||
DNS_UPDATE_SRV_OBJ_FILES = $(addprefix $(dsdbsrcdir)/dns/, \
|
||||
dns_update.o)
|
||||
|
||||
[PYTHON::python_dsdb]
|
||||
LIBRARY_REALNAME = samba/dsdb.$(SHLIBEXT)
|
||||
PRIVATE_DEPENDENCIES = SAMDB pyldb
|
||||
|
||||
python_dsdb_OBJ_FILES = $(dsdbsrcdir)/pydsdb.o
|
@ -1,465 +0,0 @@
|
||||
################################################
|
||||
# Start SUBSYSTEM DSDB_MODULE_HELPERS
|
||||
[SUBSYSTEM::DSDB_MODULE_HELPERS]
|
||||
PRIVATE_DEPENDENCIES = LIBLDB LIBNDR SAMDB_SCHEMA MESSAGING
|
||||
|
||||
DSDB_MODULE_HELPERS_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/util.o \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/ridalloc.o \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/acl_util.o
|
||||
|
||||
$(eval $(call proto_header_template,$(dsdbsrcdir)/samdb/ldb_modules/util_proto.h,$(DSDB_MODULE_HELPERS_OBJ_FILES:.o=.c)))
|
||||
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_samba_dsdb
|
||||
[MODULE::ldb_samba_dsdb]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBEVENTS LIBNDR DSDB_MODULE_HELPERS
|
||||
INIT_FUNCTION = LDB_MODULE(samba_dsdb)
|
||||
# End MODULE ldb_samba_dsdb
|
||||
################################################
|
||||
|
||||
ldb_samba_dsdb_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/samba_dsdb.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_samba_secrets
|
||||
[MODULE::ldb_samba_secrets]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBEVENTS LIBNDR
|
||||
INIT_FUNCTION = LDB_MODULE(samba_secrets)
|
||||
# End MODULE ldb_samba_secrets
|
||||
################################################
|
||||
|
||||
ldb_samba_secrets_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/samba_secrets.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_objectguid
|
||||
[MODULE::ldb_objectguid]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBEVENTS LIBNDR
|
||||
INIT_FUNCTION = LDB_MODULE(objectguid)
|
||||
# End MODULE ldb_objectguid
|
||||
################################################
|
||||
|
||||
ldb_objectguid_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/objectguid.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_repl_meta_data
|
||||
[MODULE::ldb_repl_meta_data]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBEVENTS \
|
||||
LIBNDR NDR_DRSUAPI \
|
||||
NDR_DRSBLOBS LIBNDR DSDB_MODULE_HELPERS
|
||||
INIT_FUNCTION = LDB_MODULE(repl_meta_data)
|
||||
# End MODULE ldb_repl_meta_data
|
||||
################################################
|
||||
|
||||
ldb_repl_meta_data_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/repl_meta_data.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_dsdb_cache
|
||||
[MODULE::ldb_dsdb_cache]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBEVENTS
|
||||
INIT_FUNCTION = LDB_MODULE(dsdb_cache)
|
||||
# End MODULE ldb_dsdb_cache
|
||||
################################################
|
||||
|
||||
ldb_dsdb_cache_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/dsdb_cache.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_schema_load
|
||||
[MODULE::ldb_schema_load]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBEVENTS DSDB_MODULE_HELPERS
|
||||
INIT_FUNCTION = LDB_MODULE(schema_load)
|
||||
# End MODULE ldb_schema_load
|
||||
################################################
|
||||
|
||||
ldb_schema_load_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/schema_load.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_schema_data
|
||||
[MODULE::ldb_schema_data]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBEVENTS DSDB_MODULE_HELPERS
|
||||
INIT_FUNCTION = LDB_MODULE(schema_data)
|
||||
# End MODULE ldb_schema_data
|
||||
################################################
|
||||
|
||||
ldb_schema_data_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/schema_data.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_naming_fsmo
|
||||
[MODULE::ldb_naming_fsmo]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBEVENTS DSDB_MODULE_HELPERS
|
||||
INIT_FUNCTION = LDB_MODULE(naming_fsmo)
|
||||
# End MODULE ldb_naming_fsmo
|
||||
################################################
|
||||
|
||||
ldb_naming_fsmo_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/naming_fsmo.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_pdc_fsmo
|
||||
[MODULE::ldb_pdc_fsmo]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBEVENTS DSDB_MODULE_HELPERS
|
||||
INIT_FUNCTION = LDB_MODULE(pdc_fsmo)
|
||||
# End MODULE ldb_pdc_fsmo
|
||||
################################################
|
||||
|
||||
ldb_pdc_fsmo_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/pdc_fsmo.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_samldb
|
||||
[MODULE::ldb_samldb]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LDAP_ENCODE SAMDB DSDB_MODULE_HELPERS
|
||||
INIT_FUNCTION = LDB_MODULE(samldb)
|
||||
#
|
||||
# End MODULE ldb_samldb
|
||||
################################################
|
||||
|
||||
ldb_samldb_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/samldb.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_samba3sam
|
||||
[MODULE::ldb_samba3sam]
|
||||
SUBSYSTEM = LIBLDB
|
||||
INIT_FUNCTION = LDB_MODULE(samba3sam)
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBLDB SMBPASSWD \
|
||||
NSS_WRAPPER LIBSECURITY NDR_SECURITY
|
||||
# End MODULE ldb_samba3sam
|
||||
################################################
|
||||
|
||||
ldb_samba3sam_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/samba3sam.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_samba3sid
|
||||
[MODULE::ldb_samba3sid]
|
||||
SUBSYSTEM = LIBLDB
|
||||
INIT_FUNCTION = LDB_MODULE(samba3sid)
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBLDB SMBPASSWD \
|
||||
NSS_WRAPPER LIBSECURITY NDR_SECURITY
|
||||
# End MODULE ldb_samba3sid
|
||||
################################################
|
||||
|
||||
ldb_samba3sid_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/samba3sid.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_simple_ldap_map
|
||||
[MODULE::ldb_simple_ldap_map]
|
||||
SUBSYSTEM = LIBLDB
|
||||
INIT_FUNCTION = LDB_MODULE(entryuuid),LDB_MODULE(nsuniqueid)
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBLDB LIBNDR
|
||||
ENABLE = YES
|
||||
ALIASES = entryuuid nsuniqueid
|
||||
# End MODULE ldb_entryuuid
|
||||
################################################
|
||||
|
||||
ldb_simple_ldap_map_OBJ_FILES = \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/simple_ldap_map.o
|
||||
|
||||
# ################################################
|
||||
# # Start MODULE ldb_proxy
|
||||
# [MODULE::ldb_proxy]
|
||||
# SUBSYSTEM = LIBLDB
|
||||
# INIT_FUNCTION = LDB_MODULE(proxy)
|
||||
# OBJ_FILES = \
|
||||
# proxy.o
|
||||
#
|
||||
# # End MODULE ldb_proxy
|
||||
# ################################################
|
||||
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_rootdse
|
||||
[MODULE::ldb_rootdse]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS SAMDB
|
||||
INIT_FUNCTION = LDB_MODULE(rootdse)
|
||||
# End MODULE ldb_rootdse
|
||||
################################################
|
||||
|
||||
ldb_rootdse_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/rootdse.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_password_hash
|
||||
[MODULE::ldb_password_hash]
|
||||
SUBSYSTEM = LIBLDB
|
||||
INIT_FUNCTION = LDB_MODULE(password_hash)
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS SAMDB LDAP_ENCODE \
|
||||
LIBCLI_AUTH NDR_DRSBLOBS KERBEROS \
|
||||
HEIMDAL_HDB_KEYS HEIMDAL_KRB5
|
||||
# End MODULE ldb_password_hash
|
||||
################################################
|
||||
|
||||
ldb_password_hash_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/password_hash.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_local_password
|
||||
[MODULE::ldb_local_password]
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBNDR SAMDB
|
||||
SUBSYSTEM = LIBLDB
|
||||
INIT_FUNCTION = LDB_MODULE(local_password)
|
||||
# End MODULE ldb_local_password
|
||||
################################################
|
||||
|
||||
ldb_local_password_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/local_password.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_extended_dn_in
|
||||
[MODULE::ldb_extended_dn_in]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSAMBA-UTIL
|
||||
INIT_FUNCTION = LDB_MODULE(extended_dn_in)
|
||||
# End MODULE ldb_extended_dn_in
|
||||
################################################
|
||||
|
||||
ldb_extended_dn_in_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/extended_dn_in.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_extended_dn_out
|
||||
[MODULE::ldb_extended_dn_out]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBNDR LIBSAMBA-UTIL SAMDB
|
||||
INIT_FUNCTION = LDB_MODULE(extended_dn_out_ldb),LDB_MODULE(extended_dn_out_openldap),LDB_MODULE(extended_dn_out_fds)
|
||||
ENABLE = YES
|
||||
ALIASES = extended_dn_out_ldb extended_dn_out_openldap extended_dn_out_fds
|
||||
# End MODULE ldb_extended_dn_out
|
||||
################################################
|
||||
|
||||
ldb_extended_dn_out_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/extended_dn_out.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_extended_dn_store
|
||||
[MODULE::ldb_extended_dn_store]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSAMBA-UTIL SAMDB DSDB_MODULE_HELPERS
|
||||
INIT_FUNCTION = LDB_MODULE(extended_dn_store)
|
||||
# End MODULE ldb_extended_dn_store
|
||||
################################################
|
||||
|
||||
ldb_extended_dn_store_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/extended_dn_store.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_show_deleted
|
||||
[MODULE::ldb_show_deleted]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSAMBA-UTIL
|
||||
INIT_FUNCTION = LDB_MODULE(show_deleted)
|
||||
# End MODULE ldb_show_deleted
|
||||
################################################
|
||||
|
||||
ldb_show_deleted_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/show_deleted.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_partition
|
||||
[MODULE::ldb_partition]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS SAMDB DSDB_MODULE_HELPERS
|
||||
INIT_FUNCTION = LDB_MODULE(partition)
|
||||
# End MODULE ldb_partition
|
||||
################################################
|
||||
|
||||
ldb_partition_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/partition.o \
|
||||
$(dsdbsrcdir)/samdb/ldb_modules/partition_init.o
|
||||
$(eval $(call proto_header_template,$(dsdbsrcdir)/samdb/ldb_modules/partition_proto.h,$(ldb_partition_OBJ_FILES:.o=.c)))
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_partition
|
||||
[MODULE::ldb_new_partition]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS SAMDB DSDB_MODULE_HELPERS
|
||||
INIT_FUNCTION = LDB_MODULE(new_partition)
|
||||
# End MODULE ldb_partition
|
||||
################################################
|
||||
|
||||
ldb_new_partition_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/new_partition.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_update_kt
|
||||
[MODULE::ldb_update_keytab]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS CREDENTIALS
|
||||
#Also depends on credentials, but that would loop
|
||||
INIT_FUNCTION = LDB_MODULE(update_keytab)
|
||||
# End MODULE ldb_update_kt
|
||||
################################################
|
||||
|
||||
ldb_update_keytab_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/update_keytab.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_objectclass
|
||||
[MODULE::ldb_objectclass]
|
||||
INIT_FUNCTION = LDB_MODULE(objectclass)
|
||||
CFLAGS = -Ilib/ldb/include
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSECURITY NDR_SECURITY SAMDB DSDB_MODULE_HELPERS LIBSAMBA-UTIL
|
||||
SUBSYSTEM = LIBLDB
|
||||
# End MODULE ldb_objectclass
|
||||
################################################
|
||||
|
||||
ldb_objectclass_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/objectclass.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_subtree_rename
|
||||
[MODULE::ldb_subtree_rename]
|
||||
INIT_FUNCTION = LDB_MODULE(subtree_rename)
|
||||
CFLAGS = -Ilib/ldb/include
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSAMBA-UTIL
|
||||
SUBSYSTEM = LIBLDB
|
||||
# End MODULE ldb_subtree_rename
|
||||
################################################
|
||||
|
||||
ldb_subtree_rename_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/subtree_rename.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_subtree_rename
|
||||
[MODULE::ldb_subtree_delete]
|
||||
INIT_FUNCTION = LDB_MODULE(subtree_delete)
|
||||
CFLAGS = -Ilib/ldb/include
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSAMBA-UTIL DSDB_MODULE_HELPERS
|
||||
SUBSYSTEM = LIBLDB
|
||||
# End MODULE ldb_subtree_rename
|
||||
################################################
|
||||
|
||||
ldb_subtree_delete_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/subtree_delete.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_linked_attributes
|
||||
[MODULE::ldb_linked_attributes]
|
||||
INIT_FUNCTION = LDB_MODULE(linked_attributes)
|
||||
CFLAGS = -Ilib/ldb/include
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS SAMDB DSDB_MODULE_HELPERS
|
||||
SUBSYSTEM = LIBLDB
|
||||
# End MODULE ldb_linked_attributes
|
||||
################################################
|
||||
|
||||
ldb_linked_attributes_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/linked_attributes.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_ranged_results
|
||||
[MODULE::ldb_ranged_results]
|
||||
INIT_FUNCTION = LDB_MODULE(ranged_results)
|
||||
CFLAGS = -Ilib/ldb/include
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSAMBA-UTIL
|
||||
SUBSYSTEM = LIBLDB
|
||||
# End MODULE ldb_ranged_results
|
||||
################################################
|
||||
|
||||
ldb_ranged_results_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/ranged_results.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_anr
|
||||
[MODULE::ldb_anr]
|
||||
INIT_FUNCTION = LDB_MODULE(anr)
|
||||
CFLAGS = -Ilib/ldb/include
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSAMBA-UTIL SAMDB
|
||||
SUBSYSTEM = LIBLDB
|
||||
# End MODULE ldb_anr
|
||||
################################################
|
||||
|
||||
ldb_anr_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/anr.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_instancetype
|
||||
[MODULE::ldb_instancetype]
|
||||
INIT_FUNCTION = LDB_MODULE(instancetype)
|
||||
CFLAGS = -Ilib/ldb/include
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSAMBA-UTIL SAMDB
|
||||
SUBSYSTEM = LIBLDB
|
||||
# End MODULE ldb_instancetype
|
||||
################################################
|
||||
|
||||
ldb_instancetype_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/instancetype.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_operational
|
||||
[MODULE::ldb_operational]
|
||||
SUBSYSTEM = LIBLDB
|
||||
CFLAGS = -Ilib/ldb/include
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBTEVENT LIBSAMBA-UTIL SAMDB_COMMON DSDB_MODULE_HELPERS auth_session auth
|
||||
INIT_FUNCTION = LDB_MODULE(operational)
|
||||
# End MODULE ldb_operational
|
||||
################################################
|
||||
|
||||
ldb_operational_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/operational.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_descriptor
|
||||
[MODULE::ldb_descriptor]
|
||||
INIT_FUNCTION = LDB_MODULE(descriptor)
|
||||
CFLAGS = -Ilib/ldb/include
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSECURITY NDR_SECURITY SAMDB \
|
||||
DSDB_MODULE_HELPERS
|
||||
SUBSYSTEM = LIBLDB
|
||||
# End MODULE ldb_descriptor
|
||||
################################################
|
||||
|
||||
ldb_descriptor_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/descriptor.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_resolve_oids
|
||||
[MODULE::ldb_resolve_oids]
|
||||
SUBSYSTEM = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBEVENTS LIBNDR
|
||||
INIT_FUNCTION = LDB_MODULE(resolve_oids)
|
||||
# End MODULE ldb_resolve_oids
|
||||
################################################
|
||||
|
||||
ldb_resolve_oids_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/resolve_oids.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_acl
|
||||
[MODULE::ldb_acl]
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSECURITY SAMDB
|
||||
SUBSYSTEM = LIBLDB
|
||||
INIT_FUNCTION = LDB_MODULE(acl)
|
||||
# End MODULE ldb_acl
|
||||
################################################
|
||||
|
||||
ldb_acl_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/acl.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_lazy_commit
|
||||
[MODULE::ldb_lazy_commit]
|
||||
PRIVATE_DEPENDENCIES = SAMDB
|
||||
SUBSYSTEM = LIBLDB
|
||||
INIT_FUNCTION = LDB_MODULE(lazy_commit)
|
||||
|
||||
# End MODULE ldb_lazy_commit
|
||||
################################################
|
||||
|
||||
ldb_lazy_commit_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/lazy_commit.o
|
||||
|
||||
# Start MODULE ldb_validate_update
|
||||
[MODULE::ldb_validate_update]
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSECURITY SAMDB
|
||||
SUBSYSTEM = LIBLDB
|
||||
INIT_FUNCTION = LDB_MODULE(validate_update)
|
||||
# End MODULE ldb_validate_update
|
||||
################################################
|
||||
|
||||
ldb_validate_update_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/validate_update.o
|
||||
|
||||
################################################
|
||||
# Start MODULE ldb_aclread
|
||||
[MODULE::ldb_aclread]
|
||||
PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS LIBSECURITY SAMDB
|
||||
SUBSYSTEM = LIBLDB
|
||||
INIT_FUNCTION = LDB_MODULE(aclread)
|
||||
# End MODULE ldb_acl
|
||||
################################################
|
||||
|
||||
ldb_acl_OBJ_FILES = $(dsdbsrcdir)/samdb/ldb_modules/acl_read.o
|
@ -1,30 +0,0 @@
|
||||
[SUBSYSTEM::DYNCONFIG]
|
||||
|
||||
DYNCONFIG_OBJ_FILES = $(dynconfigsrcdir)/dynconfig.o
|
||||
|
||||
# set these to where to find various files
|
||||
# These can be overridden by command line switches (see samba(8))
|
||||
# or in smb.conf (see smb.conf(5))
|
||||
CONFIG4FILE = $(sysconfdir)/smb.conf
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
LMHOSTSFILE4 = $(sysconfdir)/lmhosts
|
||||
|
||||
$(dynconfigsrcdir)/dynconfig.o: CFLAGS+=-DCONFIGFILE=\"$(CONFIG4FILE)\" -DBINDIR=\"$(bindir)\" \
|
||||
-DSBINDIR=\"$(sbindir)\" \
|
||||
-DLMHOSTSFILE=\"$(LMHOSTSFILE4)\" \
|
||||
-DLOCKDIR=\"$(lockdir)\" -DPIDDIR=\"$(piddir)\" -DDATADIR=\"$(datadir)\" \
|
||||
-DLOGFILEBASE=\"$(logfilebase)\" \
|
||||
-DCONFIGDIR=\"$(sysconfdir)\" -DNCALRPCDIR=\"$(ncalrpcdir)\" \
|
||||
-DSWATDIR=\"$(swatdir)\" \
|
||||
-DPRIVATE_DIR=\"$(privatedir)\" \
|
||||
-DMODULESDIR=\"$(modulesdir)\" \
|
||||
-DSETUPDIR=\"$(setupdir)\" \
|
||||
-DWINBINDD_PRIVILEGED_SOCKET_DIR=\"$(winbindd_privileged_socket_dir)\" \
|
||||
-DWINBINDD_SOCKET_DIR=\"$(winbindd_socket_dir)\" \
|
||||
-DNTP_SIGND_SOCKET_DIR=\"$(ntp_signd_socket_dir)\" \
|
||||
-DPYTHONDIR=\"$(pythondir)\" \
|
||||
-DCODEPAGEDIR=\"$(codepagedir)\" \
|
||||
-DLIBDIR=\"$(libdir)\" \
|
||||
-DSTATEDIR=\"$(localstatedir)\" \
|
||||
-DCACHEDIR=\"$(cachedir)\" \
|
||||
-DSMB_PASSWD_FILE=\"$(privatedir)/smbpasswd\"
|
@ -1,115 +0,0 @@
|
||||
# FIXME: This file should be autogenerated by the build system at some
|
||||
# point
|
||||
../lib/util/util.h: util.h
|
||||
../lib/util/debug.h: util/debug.h
|
||||
../lib/util/mutex.h: util/mutex.h
|
||||
../lib/util/attr.h: util/attr.h
|
||||
../lib/util/byteorder.h: util/byteorder.h
|
||||
../lib/util/safe_string.h: util/safe_string.h
|
||||
../lib/util/memory.h: util/memory.h
|
||||
../lib/util/talloc_stack.h: util/talloc_stack.h
|
||||
../lib/util/xfile.h: util/xfile.h
|
||||
../lib/tdr/tdr.h: tdr.h
|
||||
../lib/tsocket/tsocket.h: tsocket.h
|
||||
../lib/tsocket/tsocket_internal.h: tsocket_internal.h
|
||||
librpc/rpc/dcerpc.h: dcerpc.h
|
||||
lib/ldb/include/ldb.h: ldb.h
|
||||
lib/ldb/include/ldb_errors.h: ldb_errors.h
|
||||
auth/gensec/gensec.h: gensec.h
|
||||
../librpc/ndr/libndr.h: ndr.h
|
||||
librpc/ndr/libndr.h: ndr.h
|
||||
lib/registry/registry.h: registry.h
|
||||
../libcli/util/werror.h: core/werror.h
|
||||
../libcli/util/doserr.h: core/doserr.h
|
||||
../libcli/util/ntstatus.h: core/ntstatus.h
|
||||
libcli/util/werror.h: core/werror.h
|
||||
libcli/util/doserr.h: core/doserr.h
|
||||
libcli/util/ntstatus.h: core/ntstatus.h
|
||||
../libcli/cldap/cldap.h: cldap.h
|
||||
auth/credentials/credentials.h: credentials.h
|
||||
auth/credentials/credentials_krb5.h: credentials/krb5.h
|
||||
rpc_server/dcerpc_server.h: dcerpc_server.h
|
||||
rpc_server/common/common.h: dcerpc_server/common.h
|
||||
../libcli/auth/credentials.h: domain_credentials.h
|
||||
../lib/util/charset/charset.h: charset.h
|
||||
libcli/ldap/libcli_ldap.h: ldap-util.h
|
||||
../lib/torture/torture.h: torture.h
|
||||
libcli/libcli.h: client.h
|
||||
librpc/gen_ndr/ntp_signd.h: gen_ndr/ntp_signd.h
|
||||
lib/cmdline/popt_common.h: samba/popt.h
|
||||
../lib/util/dlinklist.h: dlinklist.h
|
||||
../lib/util/data_blob.h: util/data_blob.h
|
||||
../lib/util/time.h: util/time.h
|
||||
../lib/util/tevent_ntstatus.h: util/tevent_ntstatus.h
|
||||
../lib/util/tevent_unix.h: util/tevent_unix.h
|
||||
version.h: samba/version.h
|
||||
param/param.h: param.h
|
||||
../lib/util/asn1.h: samba/asn1.h
|
||||
../libcli/util/error.h: core/error.h
|
||||
lib/tdb_wrap.h: tdb_wrap.h
|
||||
lib/ldb_wrap.h: ldb_wrap.h
|
||||
torture/smbtorture.h: smbtorture.h
|
||||
param/share.h: share.h
|
||||
../lib/util/util_tdb.h: util_tdb.h
|
||||
../lib/util/util_ldb.h: util_ldb.h
|
||||
../lib/util/wrap_xattr.h: wrap_xattr.h
|
||||
../libcli/ldap/ldap_message.h: ldap_message.h
|
||||
../libcli/ldap/ldap_errors.h: ldap_errors.h
|
||||
../libcli/ldap/ldap_ndr.h: ldap_ndr.h
|
||||
../tevent/tevent.h: tevent.h
|
||||
../lib/tevent/tevent.h: tevent.h
|
||||
../lib/tevent/tevent_internal.h: tevent_internal.h
|
||||
auth/session.h: samba/session.h
|
||||
../talloc/talloc.h: talloc.h
|
||||
|
||||
# pidl generated files
|
||||
# we need some of them with and without '../'
|
||||
librpc/gen_ndr/dcerpc.h: gen_ndr/dcerpc.h
|
||||
librpc/gen_ndr/ndr_dcerpc.h: gen_ndr/ndr_dcerpc.h
|
||||
librpc/gen_ndr/winbind.h: gen_ndr/winbind.h
|
||||
librpc/gen_ndr/netlogon.h: gen_ndr/netlogon.h
|
||||
librpc/gen_ndr/ndr_misc.h: gen_ndr/ndr_misc.h
|
||||
librpc/gen_ndr/mgmt.h: gen_ndr/mgmt.h
|
||||
librpc/gen_ndr/ndr_mgmt.h: gen_ndr/ndr_mgmt.h
|
||||
librpc/gen_ndr/ndr_mgmt_c.h: gen_ndr/ndr_mgmt_c.h
|
||||
librpc/gen_ndr/epmapper.h: gen_ndr/epmapper.h
|
||||
librpc/gen_ndr/ndr_epmapper.h: gen_ndr/ndr_epmapper.h
|
||||
librpc/gen_ndr/ndr_epmapper_c.h: gen_ndr/ndr_epmapper_c.h
|
||||
librpc/gen_ndr/ndr_atsvc.h: gen_ndr/ndr_atsvc.h
|
||||
librpc/gen_ndr/atsvc.h: gen_ndr/atsvc.h
|
||||
librpc/gen_ndr/ndr_atsvc_c.h: gen_ndr/ndr_atsvc_c.h
|
||||
librpc/gen_ndr/misc.h: gen_ndr/misc.h
|
||||
librpc/gen_ndr/lsa.h: gen_ndr/lsa.h
|
||||
librpc/gen_ndr/samr.h: gen_ndr/samr.h
|
||||
librpc/gen_ndr/ndr_samr.h: gen_ndr/ndr_samr.h
|
||||
librpc/gen_ndr/ndr_samr_c.h: gen_ndr/ndr_samr_c.h
|
||||
librpc/gen_ndr/security.h: gen_ndr/security.h
|
||||
librpc/gen_ndr/server_id.h: gen_ndr/server_id.h
|
||||
librpc/gen_ndr/nbt.h: gen_ndr/nbt.h
|
||||
librpc/gen_ndr/svcctl.h: gen_ndr/svcctl.h
|
||||
librpc/gen_ndr/ndr_svcctl.h: gen_ndr/ndr_svcctl.h
|
||||
librpc/gen_ndr/ndr_svcctl_c.h: gen_ndr/ndr_svcctl_c.h
|
||||
../librpc/gen_ndr/dcerpc.h: gen_ndr/dcerpc.h
|
||||
../librpc/gen_ndr/ndr_dcerpc.h: gen_ndr/ndr_dcerpc.h
|
||||
../librpc/gen_ndr/netlogon.h: gen_ndr/netlogon.h
|
||||
../librpc/gen_ndr/ndr_misc.h: gen_ndr/ndr_misc.h
|
||||
../librpc/gen_ndr/mgmt.h: gen_ndr/mgmt.h
|
||||
../librpc/gen_ndr/ndr_mgmt.h: gen_ndr/ndr_mgmt.h
|
||||
../librpc/gen_ndr/ndr_mgmt_c.h: gen_ndr/ndr_mgmt_c.h
|
||||
../librpc/gen_ndr/epmapper.h: gen_ndr/epmapper.h
|
||||
../librpc/gen_ndr/ndr_epmapper.h: gen_ndr/ndr_epmapper.h
|
||||
../librpc/gen_ndr/ndr_epmapper_c.h: gen_ndr/ndr_epmapper_c.h
|
||||
../librpc/gen_ndr/ndr_atsvc.h: gen_ndr/ndr_atsvc.h
|
||||
../librpc/gen_ndr/atsvc.h: gen_ndr/atsvc.h
|
||||
../librpc/gen_ndr/ndr_atsvc_c.h: gen_ndr/ndr_atsvc_c.h
|
||||
../librpc/gen_ndr/misc.h: gen_ndr/misc.h
|
||||
../librpc/gen_ndr/lsa.h: gen_ndr/lsa.h
|
||||
../librpc/gen_ndr/samr.h: gen_ndr/samr.h
|
||||
../librpc/gen_ndr/ndr_samr.h: gen_ndr/ndr_samr.h
|
||||
../librpc/gen_ndr/ndr_samr_c.h: gen_ndr/ndr_samr_c.h
|
||||
../librpc/gen_ndr/security.h: gen_ndr/security.h
|
||||
../librpc/gen_ndr/server_id.h: gen_ndr/server_id.h
|
||||
../librpc/gen_ndr/nbt.h: gen_ndr/nbt.h
|
||||
../librpc/gen_ndr/svcctl.h: gen_ndr/svcctl.h
|
||||
../librpc/gen_ndr/ndr_svcctl.h: gen_ndr/ndr_svcctl.h
|
||||
../librpc/gen_ndr/ndr_svcctl_c.h: gen_ndr/ndr_svcctl_c.h
|
@ -1,28 +0,0 @@
|
||||
dnl $Id$
|
||||
dnl
|
||||
dnl rk_CHECK_VAR(variable, includes)
|
||||
AC_DEFUN([rk_CHECK_VAR], [
|
||||
AC_MSG_CHECKING(for $1)
|
||||
AC_CACHE_VAL(ac_cv_var_$1, [
|
||||
m4_ifval([$2],[
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2
|
||||
void * foo(void) { return &$1; }]],[[foo()]])],
|
||||
[ac_cv_var_$1=yes],[ac_cv_var_$1=no])])
|
||||
if test "$ac_cv_var_$1" != yes ; then
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2
|
||||
extern int $1;
|
||||
int foo(void) { return $1; }]],[[foo()]])],
|
||||
[ac_cv_var_$1=yes],[ac_cv_var_$1=no])
|
||||
fi
|
||||
])
|
||||
ac_foo=`eval echo \\$ac_cv_var_$1`
|
||||
AC_MSG_RESULT($ac_foo)
|
||||
if test "$ac_foo" = yes; then
|
||||
AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]$1), 1,
|
||||
[Define if you have the `]$1[' variable.])
|
||||
m4_ifval([$2], AC_CHECK_DECLS([$1],[],[],[$2]))
|
||||
fi
|
||||
])
|
||||
|
||||
AC_WARNING_ENABLE([obsolete])
|
||||
AU_DEFUN([AC_CHECK_VAR], [rk_CHECK_VAR([$2], [$1])], [foo])
|
@ -1,9 +0,0 @@
|
||||
dnl $Id$
|
||||
dnl
|
||||
dnl
|
||||
dnl Look for function in any of the specified libraries
|
||||
dnl
|
||||
|
||||
dnl AC_FIND_FUNC_NO_LIBS(func, libraries, includes, arguments, extra libs, extra args)
|
||||
AC_DEFUN([AC_FIND_FUNC_NO_LIBS], [
|
||||
AC_FIND_FUNC_NO_LIBS2([$1], ["" $2], [$3], [$4], [$5], [$6])])
|
@ -1,63 +0,0 @@
|
||||
dnl $Id$
|
||||
dnl
|
||||
dnl
|
||||
dnl Look for function in any of the specified libraries
|
||||
dnl
|
||||
|
||||
dnl AC_FIND_FUNC_NO_LIBS2(func, libraries, includes, arguments, extra libs, extra args)
|
||||
AC_DEFUN([AC_FIND_FUNC_NO_LIBS2], [
|
||||
|
||||
AC_MSG_CHECKING([for $1])
|
||||
AC_CACHE_VAL(ac_cv_funclib_$1,
|
||||
[
|
||||
if eval "test \"\$ac_cv_func_$1\" != yes" ; then
|
||||
ac_save_LIBS="$LIBS"
|
||||
for ac_lib in $2; do
|
||||
case "$ac_lib" in
|
||||
"") ;;
|
||||
yes) ac_lib="" ;;
|
||||
no) continue ;;
|
||||
-l*) ;;
|
||||
*) ac_lib="-l$ac_lib" ;;
|
||||
esac
|
||||
LIBS="$6 $ac_lib $5 $ac_save_LIBS"
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[$3]],[[$1($4)]])],[eval "if test -n \"$ac_lib\";then ac_cv_funclib_$1=$ac_lib; else ac_cv_funclib_$1=yes; fi";break])
|
||||
done
|
||||
eval "ac_cv_funclib_$1=\${ac_cv_funclib_$1-no}"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
])
|
||||
|
||||
eval "ac_res=\$ac_cv_funclib_$1"
|
||||
|
||||
if false; then
|
||||
AC_CHECK_FUNCS($1)
|
||||
dnl AC_CHECK_LIBS($2, foo)
|
||||
fi
|
||||
# $1
|
||||
eval "ac_tr_func=HAVE_[]upcase($1)"
|
||||
eval "ac_tr_lib=HAVE_LIB[]upcase($ac_res | sed -e 's/-l//')"
|
||||
eval "LIB_$1=$ac_res"
|
||||
|
||||
case "$ac_res" in
|
||||
yes)
|
||||
eval "ac_cv_func_$1=yes"
|
||||
eval "LIB_$1="
|
||||
AC_DEFINE_UNQUOTED($ac_tr_func)
|
||||
AC_MSG_RESULT([yes])
|
||||
;;
|
||||
no)
|
||||
eval "ac_cv_func_$1=no"
|
||||
eval "LIB_$1="
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
*)
|
||||
eval "ac_cv_func_$1=yes"
|
||||
eval "ac_cv_lib_`echo "$ac_res" | sed 's/-l//'`=yes"
|
||||
AC_DEFINE_UNQUOTED($ac_tr_func)
|
||||
AC_DEFINE_UNQUOTED($ac_tr_lib)
|
||||
AC_MSG_RESULT([yes, in $ac_res])
|
||||
;;
|
||||
esac
|
||||
AC_SUBST(LIB_$1)
|
||||
])
|
@ -1,9 +0,0 @@
|
||||
dnl $Id$
|
||||
dnl
|
||||
dnl AC_FIND_FUNC(func, libraries, includes, arguments)
|
||||
AC_DEFUN([AC_FIND_FUNC], [
|
||||
AC_FIND_FUNC_NO_LIBS([$1], [$2], [$3], [$4])
|
||||
if test -n "$LIB_$1"; then
|
||||
LIBS="$LIB_$1 $LIBS"
|
||||
fi
|
||||
])
|
@ -1,118 +0,0 @@
|
||||
dnl stuff used by DNS resolv code in roken
|
||||
dnl
|
||||
dnl $Id$
|
||||
dnl
|
||||
|
||||
AC_DEFUN([rk_RESOLV],[
|
||||
|
||||
AC_CHECK_HEADERS([arpa/nameser.h dns.h])
|
||||
|
||||
AC_CHECK_HEADERS(resolv.h, , , [AC_INCLUDES_DEFAULT
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef HAVE_ARPA_NAMESER_H
|
||||
#include <arpa/nameser.h>
|
||||
#endif
|
||||
])
|
||||
|
||||
AC_FIND_FUNC(res_search, resolv,
|
||||
[
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef HAVE_ARPA_NAMESER_H
|
||||
#include <arpa/nameser.h>
|
||||
#endif
|
||||
#ifdef HAVE_RESOLV_H
|
||||
#include <resolv.h>
|
||||
#endif
|
||||
],
|
||||
[0,0,0,0,0])
|
||||
|
||||
AC_FIND_FUNC(res_nsearch, resolv,
|
||||
[
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef HAVE_ARPA_NAMESER_H
|
||||
#include <arpa/nameser.h>
|
||||
#endif
|
||||
#ifdef HAVE_RESOLV_H
|
||||
#include <resolv.h>
|
||||
#endif
|
||||
],
|
||||
[0,0,0,0,0,0])
|
||||
|
||||
AC_FIND_FUNC(res_ndestroy, resolv,
|
||||
[
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef HAVE_ARPA_NAMESER_H
|
||||
#include <arpa/nameser.h>
|
||||
#endif
|
||||
#ifdef HAVE_RESOLV_H
|
||||
#include <resolv.h>
|
||||
#endif
|
||||
],
|
||||
[0])
|
||||
|
||||
AC_FIND_FUNC_NO_LIBS(dns_search,,
|
||||
[
|
||||
#ifdef HAVE_DNS_H
|
||||
#include <dns.h>
|
||||
#endif
|
||||
],
|
||||
[0,0,0,0,0,0,0,0])
|
||||
|
||||
|
||||
AC_FIND_FUNC(dn_expand, resolv,
|
||||
[
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef HAVE_ARPA_NAMESER_H
|
||||
#include <arpa/nameser.h>
|
||||
#endif
|
||||
#ifdef HAVE_RESOLV_H
|
||||
#include <resolv.h>
|
||||
#endif
|
||||
],
|
||||
[0,0,0,0,0])
|
||||
|
||||
rk_CHECK_VAR(_res,
|
||||
[#include <stdio.h>
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETINET_IN_H
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef HAVE_ARPA_NAMESER_H
|
||||
#include <arpa/nameser.h>
|
||||
#endif
|
||||
#ifdef HAVE_RESOLV_H
|
||||
#include <resolv.h>
|
||||
#endif])
|
||||
|
||||
])
|
@ -1,23 +0,0 @@
|
||||
|
||||
external_heimdal=no
|
||||
AC_MSG_CHECKING([Whether to use external heimdal libraries])
|
||||
AC_ARG_ENABLE(external-heimdal,
|
||||
[ --enable-external-heimdal Enable external heimdal libraries (experimental,default=no)],
|
||||
[ external_heimdal=$enableval ],
|
||||
[ external_heimdal=no ])
|
||||
AC_MSG_RESULT($external_heimdal)
|
||||
|
||||
if test x"$external_heimdal" = x"yes"; then
|
||||
|
||||
# external_heimdal_start
|
||||
m4_include(heimdal_build/external.m4)
|
||||
# external_heimdal_end
|
||||
|
||||
else
|
||||
|
||||
# internal_heimdal_start
|
||||
m4_include(heimdal_build/internal.m4)
|
||||
# internal_heimdal_end
|
||||
|
||||
fi
|
||||
|
@ -1,54 +0,0 @@
|
||||
# This is every experimental
|
||||
# We should really add configure checks
|
||||
# to verify the installed heimdal libraries
|
||||
# are good enough for our usage!!!
|
||||
|
||||
HEIMDAL_KRB5_LIBS="-lkrb5 -lcom_err"
|
||||
HEIMDAL_KRB5_CFLAGS=""
|
||||
HEIMDAL_KRB5_CPPFLAGS=""
|
||||
HEIMDAL_KRB5_LDFLAGS=""
|
||||
SMB_EXT_LIB(HEIMDAL_KRB5,
|
||||
[${HEIMDAL_KRB5_LIBS}],
|
||||
[${HEIMDAL_KRB5_CFLAGS}],
|
||||
[${HEIMDAL_KRB5_CPPFLAGS}],
|
||||
[${HEIMDAL_KRB5_LDFLAGS}])
|
||||
SMB_ENABLE(HEIMDAL_KRB5,YES)
|
||||
AC_DEFINE(HAVE_KRB5,1,[Whether kerberos is available])
|
||||
HAVE_KRB5=YES
|
||||
AC_DEFINE(HAVE_COM_ERR,1,[Whether com_err is available])
|
||||
HAVE_COM_ERR=YES
|
||||
|
||||
HEIMDAL_GSSAPI_LIBS="-lgssapi"
|
||||
HEIMDAL_GSSAPI_CFLAGS=""
|
||||
HEIMDAL_GSSAPI_CPPFLAGS=""
|
||||
HEIMDAL_GSSAPI_LDFLAGS=""
|
||||
SMB_EXT_LIB(HEIMDAL_GSSAPI,
|
||||
[${HEIMDAL_GSSAPI_LIBS}],
|
||||
[${HEIMDAL_GSSAPI_CFLAGS}],
|
||||
[${HEIMDAL_GSSAPI_CPPFLAGS}],
|
||||
[${HEIMDAL_GSSAPI_LDFLAGS}])
|
||||
SMB_ENABLE(HEIMDAL_GSSAPI,YES)
|
||||
AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])
|
||||
HAVE_GSSAPI=YES
|
||||
|
||||
HEIMDAL_HDB_LIBS="-lhdb"
|
||||
HEIMDAL_HDB_CFLAGS=""
|
||||
HEIMDAL_HDB_CPPFLAGS=""
|
||||
HEIMDAL_HDB_LDFLAGS=""
|
||||
SMB_EXT_LIB(HEIMDAL_HDB,
|
||||
[${HEIMDAL_HDB_LIBS}],
|
||||
[${HEIMDAL_HDB_CFLAGS}],
|
||||
[${HEIMDAL_HDB_CPPFLAGS}],
|
||||
[${HEIMDAL_HDB_LDFLAGS}])
|
||||
SMB_ENABLE(HEIMDAL_HDB,YES)
|
||||
|
||||
HEIMDAL_KDC_LIBS="-lkdc"
|
||||
HEIMDAL_KDC_CFLAGS=""
|
||||
HEIMDAL_KDC_CPPFLAGS=""
|
||||
HEIMDAL_KDC_LDFLAGS=""
|
||||
SMB_EXT_LIB(HEIMDAL_KDC,
|
||||
[${HEIMDAL_KDC_LIBS}],
|
||||
[${HEIMDAL_KDC_CFLAGS}],
|
||||
[${HEIMDAL_KDC_CPPFLAGS}],
|
||||
[${HEIMDAL_KDC_LDFLAGS}])
|
||||
SMB_ENABLE(HEIMDAL_KDC,YES)
|
@ -1,308 +0,0 @@
|
||||
m4_define([upcase],`echo $1 | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ`)dnl
|
||||
|
||||
m4_ifndef([AC_WARNING_ENABLE],[AC_DEFUN([AC_WARNING_ENABLE],[])])
|
||||
|
||||
dnl love_FIND_FUNC(func, includes, arguments)
|
||||
dnl kind of like AC_CHECK_FUNC, but with headerfiles
|
||||
AC_DEFUN([love_FIND_FUNC], [
|
||||
|
||||
AC_MSG_CHECKING([for $1])
|
||||
AC_CACHE_VAL(ac_cv_love_func_$1,
|
||||
[
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[$2]],[[$1($3)]])],
|
||||
[eval "ac_cv_love_func_$1=yes"],[eval "ac_cv_love_func_$1=no"])])
|
||||
|
||||
eval "ac_res=\$ac_cv_love_func_$1"
|
||||
|
||||
if false; then
|
||||
AC_CHECK_FUNCS($1)
|
||||
fi
|
||||
# $1
|
||||
eval "ac_tr_func=HAVE_[]upcase($1)"
|
||||
|
||||
case "$ac_res" in
|
||||
yes)
|
||||
AC_DEFINE_UNQUOTED($ac_tr_func)
|
||||
AC_MSG_RESULT([yes])
|
||||
;;
|
||||
no)
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
])
|
||||
|
||||
AC_CHECK_TYPE(u_char, uint8_t)
|
||||
AC_CHECK_TYPE(u_int32_t, uint32_t)
|
||||
|
||||
dnl Not all systems have err.h, so we provide a replacement. Heimdal
|
||||
dnl unconditionally #includes <err.h>, so we need to create an err.h,
|
||||
dnl but we can't just have a static one because we don't want to use
|
||||
dnl it on systems that have a real err.h. If the system has a real
|
||||
dnl err.h, we should use that (eg. on Darwin, the declarations get
|
||||
dnl linker attributes added, so we can't guarantee that our local
|
||||
dnl declarations will be correct). Phew!
|
||||
AC_CHECK_HEADERS([err.h], [],
|
||||
[ cp heimdal/lib/roken/err.hin heimdal_build/err.h ])
|
||||
|
||||
dnl Not all systems have ifaddrs.h, so we provide a replacement. Heimdal
|
||||
dnl unconditionally #includes <ifaddrs.h>, so we need to create an ifaddrs.h,
|
||||
dnl but we can't just have a static one because we don't want to use
|
||||
dnl it on systems that have a real ifaddrs.h. If the system has a real
|
||||
dnl ifaddrs.h. We don't use heimdal's lib/roken/ifaddrs.hin because
|
||||
dnl our libreplace would conflict with it.
|
||||
AC_CHECK_HEADERS([ifaddrs.h], [],
|
||||
[ cp heimdal_build/ifaddrs.hin heimdal_build/ifaddrs.h ])
|
||||
|
||||
AC_CHECK_HEADERS([ \
|
||||
crypt.h \
|
||||
curses.h \
|
||||
errno.h \
|
||||
inttypes.h \
|
||||
netdb.h \
|
||||
signal.h \
|
||||
sys/bswap.h \
|
||||
sys/file.h \
|
||||
sys/stropts.h \
|
||||
sys/timeb.h \
|
||||
sys/times.h \
|
||||
sys/uio.h \
|
||||
sys/un.h \
|
||||
sys/utsname.h \
|
||||
term.h \
|
||||
termcap.h \
|
||||
time.h \
|
||||
timezone.h \
|
||||
ttyname.h \
|
||||
netinet/in.h \
|
||||
netinet/in6.h \
|
||||
netinet6/in6.h \
|
||||
libintl.h
|
||||
])
|
||||
|
||||
AC_CHECK_FUNCS([ \
|
||||
atexit \
|
||||
cgetent \
|
||||
getprogname \
|
||||
setprogname \
|
||||
inet_aton \
|
||||
gethostname \
|
||||
getnameinfo \
|
||||
iruserok \
|
||||
putenv \
|
||||
rcmd \
|
||||
readv \
|
||||
sendmsg \
|
||||
setitimer \
|
||||
socket \
|
||||
strlwr \
|
||||
strncasecmp \
|
||||
strptime \
|
||||
strsep \
|
||||
strsep_copy \
|
||||
strtok_r \
|
||||
strupr \
|
||||
swab \
|
||||
umask \
|
||||
uname \
|
||||
unsetenv \
|
||||
closefrom \
|
||||
hstrerror \
|
||||
err \
|
||||
warn \
|
||||
errx \
|
||||
warnx \
|
||||
flock \
|
||||
getipnodebyname \
|
||||
getipnodebyaddr \
|
||||
freehostent \
|
||||
writev
|
||||
])
|
||||
|
||||
love_FIND_FUNC(bswap16, [#ifdef HAVE_SYS_BSWAP_H
|
||||
#include <sys/bswap.h>
|
||||
#endif], 0)
|
||||
|
||||
love_FIND_FUNC(bswap32, [#ifdef HAVE_SYS_BSWAP_H
|
||||
#include <sys/bswap.h>
|
||||
#endif], 0)
|
||||
|
||||
AC_DEFUN([AC_KRB_STRUCT_WINSIZE], [
|
||||
AC_MSG_CHECKING(for struct winsize)
|
||||
AC_CACHE_VAL(ac_cv_struct_winsize, [
|
||||
ac_cv_struct_winsize=no
|
||||
for i in sys/termios.h sys/ioctl.h; do
|
||||
AC_EGREP_HEADER(
|
||||
struct[[ ]]*winsize,dnl
|
||||
$i, ac_cv_struct_winsize=yes; break)dnl
|
||||
done
|
||||
])
|
||||
if test "$ac_cv_struct_winsize" = "yes"; then
|
||||
AC_DEFINE(HAVE_STRUCT_WINSIZE, 1, [define if struct winsize is declared in sys/termios.h])
|
||||
fi
|
||||
AC_MSG_RESULT($ac_cv_struct_winsize)
|
||||
AC_EGREP_HEADER(ws_xpixel, termios.h,
|
||||
AC_DEFINE(HAVE_WS_XPIXEL, 1, [define if struct winsize has ws_xpixel]))
|
||||
AC_EGREP_HEADER(ws_ypixel, termios.h,
|
||||
AC_DEFINE(HAVE_WS_YPIXEL, 1, [define if struct winsize has ws_ypixel]))
|
||||
])
|
||||
|
||||
AC_KRB_STRUCT_WINSIZE
|
||||
|
||||
AC_TYPE_SIGNAL
|
||||
if test "$ac_cv_type_signal" = "void" ; then
|
||||
AC_DEFINE(VOID_RETSIGTYPE, 1, [Define if signal handlers return void.])
|
||||
fi
|
||||
AC_SUBST(VOID_RETSIGTYPE)
|
||||
|
||||
|
||||
m4_include(heimdal/cf/check-var.m4)
|
||||
|
||||
rk_CHECK_VAR(h_errno,
|
||||
[#ifdef HAVE_SYS_TYPES_H
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
#ifdef HAVE_NETDB_H
|
||||
#include <netdb.h>
|
||||
#endif])
|
||||
|
||||
m4_include(heimdal/cf/find-func.m4)
|
||||
m4_include(heimdal/cf/find-func-no-libs.m4)
|
||||
m4_include(heimdal/cf/find-func-no-libs2.m4)
|
||||
m4_include(heimdal/cf/resolv.m4)
|
||||
|
||||
AC_CHECK_HEADERS([pty.h util.h libutil.h])
|
||||
|
||||
AC_CHECK_LIB_EXT(util, OPENPTY_LIBS, openpty)
|
||||
|
||||
SMB_ENABLE(OPENPTY,YES)
|
||||
|
||||
SMB_EXT_LIB(OPENPTY,[${OPENPTY_LIBS}],[${OPENPTY_CFLAGS}],[${OPENPTY_CPPFLAGS}],[${OPENPTY_LDFLAGS}])
|
||||
|
||||
AC_CHECK_LIB_EXT(intl, INTL_LIBS, gettext)
|
||||
|
||||
SMB_ENABLE(INTL,YES)
|
||||
|
||||
SMB_EXT_LIB(INTL, $INTL_LIBS)
|
||||
|
||||
smb_save_LIBS=$LIBS
|
||||
RESOLV_LIBS=""
|
||||
LIBS=""
|
||||
|
||||
dnl This fills in the global LIBS...
|
||||
rk_RESOLV
|
||||
|
||||
dnl AC_CHECK_LIB_EXT(resolv, RESOLV_LIBS, res_search)
|
||||
SMB_ENABLE(RESOLV,YES)
|
||||
|
||||
if test x"$LIBS" != "x"; then
|
||||
RESOLV_LIBS=$LIBS
|
||||
fi
|
||||
|
||||
LIBS=$smb_save_LIBS
|
||||
|
||||
SMB_EXT_LIB(RESOLV,[${RESOLV_LIBS}],[${RESOLV_CFLAGS}],[${RESOLV_CPPFLAGS}],[${RESOLV_LDFLAGS}])
|
||||
|
||||
|
||||
# these are disabled unless heimdal is found below
|
||||
SMB_ENABLE(KERBEROS_LIB, NO)
|
||||
SMB_ENABLE(asn1_compile, NO)
|
||||
SMB_ENABLE(compile_et, NO)
|
||||
|
||||
#
|
||||
# We need bison -y and flex in new versions
|
||||
# Otherwise we get random runtime failures
|
||||
#
|
||||
LEX_YACC_COMBINATIONS=""
|
||||
LEX_YACC_COMBINATIONS="$LEX_YACC_COMBINATIONS flex-2.5.33:bison-2.3"
|
||||
LEX_YACC_COMBINATIONS="$LEX_YACC_COMBINATIONS flex-2.5.34:bison-2.3"
|
||||
LEX_YACC_COMBINATIONS="$LEX_YACC_COMBINATIONS flex-2.5.35:bison-2.3"
|
||||
LEX_YACC_COMBINATIONS="$LEX_YACC_COMBINATIONS flex-2.5.35:bison-2.4.1"
|
||||
|
||||
AC_PROG_LEX
|
||||
LEX_BASENAME=`basename "$LEX"`
|
||||
if test x"$LEX_BASENAME" = x"flex"; then
|
||||
# "flex 2.5.33"
|
||||
FLEX_VERSION=`$LEX --version | cut -d ' ' -f2`
|
||||
AC_MSG_CHECKING(flex version)
|
||||
AC_MSG_RESULT($FLEX_VERSION)
|
||||
FLEX_MAJOR=`echo $FLEX_VERSION | cut -d '.' -f1`
|
||||
FLEX_MINOR=`echo $FLEX_VERSION | cut -d '.' -f2`
|
||||
FLEX_RELEASE=`echo $FLEX_VERSION | cut -d '.' -f3`
|
||||
|
||||
LEX_VERSION="flex-$FLEX_MAJOR.$FLEX_MINOR.$FLEX_RELEASE"
|
||||
fi
|
||||
|
||||
AC_PROG_YACC
|
||||
YACC_BASENAME=`basename "$YACC"`
|
||||
if test x"$YACC_BASENAME" = x"bison -y"; then
|
||||
# bison (GNU Bison) 2.3
|
||||
# or
|
||||
# bison (GNU Bison) 2.4.1
|
||||
BISON_VERSION=`$YACC --version | head -1 | cut -d ' ' -f4`
|
||||
AC_MSG_CHECKING(bison version)
|
||||
AC_MSG_RESULT($BISON_VERSION)
|
||||
BISON_MAJOR=`echo $BISON_VERSION | cut -d '.' -f1`
|
||||
BISON_MINOR=`echo $BISON_VERSION | cut -d '.' -f2`
|
||||
BISON_RELEASE=`echo $BISON_VERSION | cut -d '.' -f3`
|
||||
|
||||
if test x"$BISON_RELEASE" != x""; then
|
||||
YACC_VERSION="bison-$BISON_MAJOR.$BISON_MINOR.$BISON_RELEASE"
|
||||
else
|
||||
YACC_VERSION="bison-$BISON_MAJOR.$BISON_MINOR"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(working LEX YACC combination)
|
||||
LEX_YACC="no"
|
||||
if test x"$LEX_VERSION" != x"" -a x"$YACC_VERSION" != x""; then
|
||||
V="$LEX_VERSION:$YACC_VERSION"
|
||||
for C in $LEX_YACC_COMBINATIONS; do
|
||||
if test x"$V" = x"$C"; then
|
||||
LEX_YACC=$V
|
||||
break;
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test x"$LEX_YACC" = x"no"; then
|
||||
LEX=false
|
||||
YACC=false
|
||||
fi
|
||||
AC_MSG_RESULT($LEX_YACC)
|
||||
|
||||
# Portions of heimdal kerberos are unpacked into source/heimdal
|
||||
# of the samba source tree.
|
||||
|
||||
# if we ever get to using a host kerberos, we might add conditionals here
|
||||
AC_DEFINE(HAVE_COM_ERR,1,[Whether com_err is available])
|
||||
HAVE_COM_ERR=YES
|
||||
AC_DEFINE(HAVE_KRB5,1,[Whether kerberos is available])
|
||||
HAVE_KRB5=YES
|
||||
AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])
|
||||
HAVE_GSSAPI=YES
|
||||
SMB_ENABLE(KERBEROS_LIB, YES)
|
||||
SMB_ENABLE(asn1_compile, YES)
|
||||
SMB_ENABLE(compile_et, YES)
|
||||
|
||||
# only add closefrom if needed
|
||||
SMB_ENABLE(HEIMDAL_ROKEN_CLOSEFROM, NO)
|
||||
SMB_ENABLE(HEIMDAL_ROKEN_CLOSEFROM_H, NO)
|
||||
if test t$ac_cv_func_closefrom != tyes; then
|
||||
SMB_ENABLE(HEIMDAL_ROKEN_CLOSEFROM, YES)
|
||||
SMB_ENABLE(HEIMDAL_ROKEN_CLOSEFROM_H, YES)
|
||||
fi
|
||||
|
||||
# only add getprogname if needed
|
||||
SMB_ENABLE(HEIMDAL_ROKEN_PROGNAME, NO)
|
||||
SMB_ENABLE(HEIMDAL_ROKEN_PROGNAME_H, NO)
|
||||
if test t$ac_cv_func_getprogname != tyes; then
|
||||
SMB_ENABLE(HEIMDAL_ROKEN_PROGNAME, YES)
|
||||
SMB_ENABLE(HEIMDAL_ROKEN_PROGNAME_H, YES)
|
||||
fi
|
||||
|
||||
VPATH="$VPATH:\$(HEIMDAL_VPATH)"
|
||||
|
||||
AC_DEFINE(SAMBA4_INTERNAL_HEIMDAL,1,[Whether we use in internal heimdal build])
|
||||
|
||||
SMB_INCLUDE_MK(heimdal_build/internal.mk)
|
@ -1,812 +0,0 @@
|
||||
heimdalbuildsrcdir = $(heimdalsrcdir)/../heimdal_build
|
||||
|
||||
HEIMDAL_VPATH = $(heimdalbuildsrcdir):$(heimdalsrcdir)/lib/asn1:$(heimdalsrcdir)/lib/krb5:$(heimdalsrcdir)/lib/gssapi:$(heimdalsrcdir)/lib/hdb:$(heimdalsrcdir)/lib/roken:$(heimdalsrcdir)/lib/des
|
||||
|
||||
# Create a prototype header
|
||||
# Arguments: header file, arguments, c files, deps
|
||||
define heimdal_proto_header_template
|
||||
|
||||
proto:: $(1)
|
||||
|
||||
clean:: ;
|
||||
rm -f $(1)
|
||||
|
||||
$(4):: $(1)
|
||||
|
||||
$(1): $(3) ;
|
||||
@echo "Creating $$@"
|
||||
@$$(PERL) $$(heimdalsrcdir)/cf/make-proto.pl $(2) $(1) $(3)
|
||||
|
||||
endef
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HEIMDAL_KDC
|
||||
[SUBSYSTEM::HEIMDAL_KDC]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/kdc
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_KRB5 HEIMDAL_HDB HEIMDAL_HEIM_ASN1 \
|
||||
HEIMDAL_DIGEST_ASN1 HEIMDAL_KX509_ASN1 HEIMDAL_NTLM HEIMDAL_HCRYPTO
|
||||
# End SUBSYSTEM HEIMDAL_KDC
|
||||
#######################
|
||||
|
||||
|
||||
HEIMDAL_KDC_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/kdc/default_config.o \
|
||||
$(heimdalsrcdir)/kdc/kerberos5.o \
|
||||
$(heimdalsrcdir)/kdc/krb5tgs.o \
|
||||
$(heimdalsrcdir)/kdc/pkinit.o \
|
||||
$(heimdalsrcdir)/kdc/log.o \
|
||||
$(heimdalsrcdir)/kdc/misc.o \
|
||||
$(heimdalsrcdir)/kdc/kaserver.o \
|
||||
$(heimdalsrcdir)/kdc/digest.o \
|
||||
$(heimdalsrcdir)/kdc/process.o \
|
||||
$(heimdalsrcdir)/kdc/windc.o \
|
||||
$(heimdalsrcdir)/kdc/kx509.o
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/kdc/kdc-protos.h, \
|
||||
-q -P comment -o, \
|
||||
$(HEIMDAL_KDC_OBJ_FILES:.o=.c), \
|
||||
$(HEIMDAL_KDC_OBJ_FILES) $(HEIMDAL_KDC_OBJ_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/kdc/kdc-private.h, \
|
||||
-q -P comment -p, \
|
||||
$(HEIMDAL_KDC_OBJ_FILES:.o=.c), \
|
||||
$(HEIMDAL_KDC_OBJ_FILES) $(HEIMDAL_KDC_OBJ_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
[SUBSYSTEM::HEIMDAL_NTLM]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/ntlm
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5
|
||||
|
||||
HEIMDAL_NTLM_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/ntlm/ntlm.o
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/ntlm/heimntlm-protos.h, \
|
||||
-q -P comment -o, \
|
||||
$(HEIMDAL_NTLM_OBJ_FILES:.o=.c), \
|
||||
$(HEIMDAL_NTLM_OBJ_FILES) $(HEIMDAL_NTLM_OBJ_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
[SUBSYSTEM::HEIMDAL_HDB_KEYS]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/hdb
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5 \
|
||||
HEIMDAL_HDB_ASN1
|
||||
|
||||
HEIMDAL_HDB_KEYS_OBJ_FILES = $(heimdalsrcdir)/lib/hdb/keys.o
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HEIMDAL_HDB
|
||||
[SUBSYSTEM::HEIMDAL_HDB]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/hdb
|
||||
PRIVATE_DEPENDENCIES = HDB_LDB HEIMDAL_KRB5 HEIMDAL_HDB_KEYS HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_COM_ERR HEIMDAL_HDB_ASN1
|
||||
# End SUBSYSTEM HEIMDAL_HDB
|
||||
#######################
|
||||
|
||||
HEIMDAL_HDB_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/hdb/db.o \
|
||||
$(heimdalsrcdir)/lib/hdb/dbinfo.o \
|
||||
$(heimdalsrcdir)/lib/hdb/hdb.o \
|
||||
$(heimdalsrcdir)/lib/hdb/ext.o \
|
||||
$(heimdalsrcdir)/lib/hdb/keytab.o \
|
||||
$(heimdalsrcdir)/lib/hdb/hdb-keytab.o \
|
||||
$(heimdalsrcdir)/lib/hdb/mkey.o \
|
||||
$(heimdalsrcdir)/lib/hdb/ndbm.o \
|
||||
$(heimdalsrcdir)/lib/hdb/hdb_err.o \
|
||||
$(heimdalbuildsrcdir)/hdb-glue.o
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/hdb/hdb-protos.h, \
|
||||
-q -P comment -o, \
|
||||
$(HEIMDAL_HDB_OBJ_FILES:.o=.c), \
|
||||
$(HEIMDAL_HDB_OBJ_FILES) $(HEIMDAL_HDB_OBJ_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/hdb/hdb-private.h, \
|
||||
-q -P comment -p, \
|
||||
$(HEIMDAL_HDB_OBJ_FILES:.o=.c), \
|
||||
$(HEIMDAL_HDB_OBJ_FILES) $(HEIMDAL_HDB_OBJ_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
basics:: $(heimdalsrcdir)/lib/hdb/hdb-protos.h $(heimdalsrcdir)/lib/hdb/hdb-private.h
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HEIMDAL_GSSAPI
|
||||
[SUBSYSTEM::HEIMDAL_GSSAPI]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/gssapi -I$(heimdalsrcdir)/lib/gssapi/gssapi -I$(heimdalsrcdir)/lib/gssapi/spnego -I$(heimdalsrcdir)/lib/gssapi/krb5 -I$(heimdalsrcdir)/lib/gssapi/mech
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_HCRYPTO HEIMDAL_HEIM_ASN1 HEIMDAL_SPNEGO_ASN1 HEIMDAL_GSSAPI_ASN1 HEIMDAL_ROKEN HEIMDAL_KRB5
|
||||
# End SUBSYSTEM HEIMDAL_GSSAPI
|
||||
#######################
|
||||
|
||||
HEIMDAL_GSSAPI_SPNEGO_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/gssapi/spnego/init_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/spnego/external.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/spnego/compat.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/spnego/context_stubs.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/spnego/cred_stubs.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/spnego/accept_sec_context.o \
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/gssapi/spnego/spnego-private.h, \
|
||||
-q -P comment -p, \
|
||||
$(HEIMDAL_GSSAPI_SPNEGO_OBJ_FILES:.o=.c), \
|
||||
$(HEIMDAL_GSSAPI_SPNEGO_OBJ_FILES) $(HEIMDAL_GSSAPI_SPNEGO_OBJ_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
HEIMDAL_GSSAPI_KRB5_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/copy_ccache.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/delete_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/init_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/context_time.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/init.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/address_to_krb5addr.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/get_mic.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/inquire_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/add_cred.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/inquire_cred.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/inquire_cred_by_oid.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/inquire_cred_by_mech.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/inquire_mechs_for_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/inquire_names_for_mech.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/indicate_mechs.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/inquire_sec_context_by_oid.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/export_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/import_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/duplicate_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/import_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/compare_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/export_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/canonicalize_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/unwrap.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/wrap.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/release_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/cfx.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/8003.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/arcfour.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/encapsulate.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/display_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/sequence.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/display_status.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/release_buffer.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/external.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/compat.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/creds.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/acquire_cred.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/release_cred.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/store_cred.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/set_cred_option.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/decapsulate.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/verify_mic.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/accept_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/set_sec_context_option.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/process_context_token.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/prf.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/aeap.o
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/gssapi/krb5/gsskrb5-private.h, \
|
||||
-q -P comment -p, \
|
||||
$(HEIMDAL_GSSAPI_KRB5_OBJ_FILES:.o=.c), \
|
||||
$(HEIMDAL_GSSAPI_KRB5_OBJ_FILES) $(HEIMDAL_GSSAPI_KRB5_OBJ_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
HEIMDAL_GSSAPI_OBJ_FILES = \
|
||||
$(HEIMDAL_GSSAPI_SPNEGO_OBJ_FILES) \
|
||||
$(HEIMDAL_GSSAPI_KRB5_OBJ_FILES) \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_krb5.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_mech_switch.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_process_context_token.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_buffer_set.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_aeap.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_add_cred.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_cred.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_add_oid_set_member.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_compare_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_release_oid_set.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_create_empty_oid_set.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_decapsulate_token.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_inquire_cred_by_oid.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_canonicalize_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_inquire_sec_context_by_oid.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_inquire_names_for_mech.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_inquire_mechs_for_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_wrap_size_limit.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_names.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_verify.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_display_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_duplicate_oid.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_display_status.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_release_buffer.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_release_oid.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_test_oid_set_member.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_release_cred.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_set_sec_context_option.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_export_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_seal.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_acquire_cred.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_unseal.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_verify_mic.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_accept_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_inquire_cred_by_mech.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_indicate_mechs.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_delete_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_sign.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_utils.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_init_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_oid_equal.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_oid_to_str.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_context_time.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_encapsulate_token.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_get_mic.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_import_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_inquire_cred.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_wrap.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_import_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_duplicate_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_unwrap.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_export_sec_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_inquire_context.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_release_name.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_set_cred_option.o \
|
||||
$(heimdalsrcdir)/lib/gssapi/mech/gss_pseudo_random.o \
|
||||
$(heimdalbuildsrcdir)/gssapi-glue.o
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HEIMDAL_KRB5
|
||||
[SUBSYSTEM::HEIMDAL_KRB5]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/krb5 -I$(heimdalsrcdir)/lib/asn1 -I$(heimdalsrcdir)/lib/com_err
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_PKINIT_ASN1 HEIMDAL_WIND \
|
||||
HEIMDAL_KRB5_ASN1 HEIMDAL_HX509 HEIMDAL_HCRYPTO \
|
||||
LIBNETIF LIBSAMBA-HOSTCONFIG INTL
|
||||
PUBLIC_DEPENDENCIES = HEIMDAL_COM_ERR
|
||||
# End SUBSYSTEM HEIMDAL_KRB5
|
||||
#######################
|
||||
|
||||
HEIMDAL_KRB5_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/krb5/acache.o \
|
||||
$(heimdalsrcdir)/lib/krb5/add_et_list.o \
|
||||
$(heimdalsrcdir)/lib/krb5/addr_families.o \
|
||||
$(heimdalsrcdir)/lib/krb5/appdefault.o \
|
||||
$(heimdalsrcdir)/lib/krb5/asn1_glue.o \
|
||||
$(heimdalsrcdir)/lib/krb5/auth_context.o \
|
||||
$(heimdalsrcdir)/lib/krb5/build_ap_req.o \
|
||||
$(heimdalsrcdir)/lib/krb5/build_auth.o \
|
||||
$(heimdalsrcdir)/lib/krb5/cache.o \
|
||||
$(heimdalsrcdir)/lib/krb5/changepw.o \
|
||||
$(heimdalsrcdir)/lib/krb5/codec.o \
|
||||
$(heimdalsrcdir)/lib/krb5/config_file.o \
|
||||
$(heimdalsrcdir)/lib/krb5/constants.o \
|
||||
$(heimdalsrcdir)/lib/krb5/context.o \
|
||||
$(heimdalsrcdir)/lib/krb5/convert_creds.o \
|
||||
$(heimdalsrcdir)/lib/krb5/copy_host_realm.o \
|
||||
$(heimdalsrcdir)/lib/krb5/crc.o \
|
||||
$(heimdalsrcdir)/lib/krb5/creds.o \
|
||||
$(heimdalsrcdir)/lib/krb5/crypto.o \
|
||||
$(heimdalsrcdir)/lib/krb5/data.o \
|
||||
$(heimdalsrcdir)/lib/krb5/eai_to_heim_errno.o \
|
||||
$(heimdalsrcdir)/lib/krb5/error_string.o \
|
||||
$(heimdalsrcdir)/lib/krb5/expand_hostname.o \
|
||||
$(heimdalsrcdir)/lib/krb5/fcache.o \
|
||||
$(heimdalsrcdir)/lib/krb5/free.o \
|
||||
$(heimdalsrcdir)/lib/krb5/free_host_realm.o \
|
||||
$(heimdalsrcdir)/lib/krb5/generate_seq_number.o \
|
||||
$(heimdalsrcdir)/lib/krb5/generate_subkey.o \
|
||||
$(heimdalsrcdir)/lib/krb5/get_addrs.o \
|
||||
$(heimdalsrcdir)/lib/krb5/get_cred.o \
|
||||
$(heimdalsrcdir)/lib/krb5/get_default_principal.o \
|
||||
$(heimdalsrcdir)/lib/krb5/get_default_realm.o \
|
||||
$(heimdalsrcdir)/lib/krb5/get_for_creds.o \
|
||||
$(heimdalsrcdir)/lib/krb5/get_host_realm.o \
|
||||
$(heimdalsrcdir)/lib/krb5/get_in_tkt.o \
|
||||
$(heimdalsrcdir)/lib/krb5/get_port.o \
|
||||
$(heimdalsrcdir)/lib/krb5/init_creds.o \
|
||||
$(heimdalsrcdir)/lib/krb5/init_creds_pw.o \
|
||||
$(heimdalsrcdir)/lib/krb5/kcm.o \
|
||||
$(heimdalsrcdir)/lib/krb5/keyblock.o \
|
||||
$(heimdalsrcdir)/lib/krb5/keytab.o \
|
||||
$(heimdalsrcdir)/lib/krb5/keytab_any.o \
|
||||
$(heimdalsrcdir)/lib/krb5/keytab_file.o \
|
||||
$(heimdalsrcdir)/lib/krb5/keytab_memory.o \
|
||||
$(heimdalsrcdir)/lib/krb5/keytab_keyfile.o \
|
||||
$(heimdalsrcdir)/lib/krb5/krbhst.o \
|
||||
$(heimdalsrcdir)/lib/krb5/log.o \
|
||||
$(heimdalsrcdir)/lib/krb5/mcache.o \
|
||||
$(heimdalsrcdir)/lib/krb5/misc.o \
|
||||
$(heimdalsrcdir)/lib/krb5/mk_error.o \
|
||||
$(heimdalsrcdir)/lib/krb5/mk_priv.o \
|
||||
$(heimdalsrcdir)/lib/krb5/mk_rep.o \
|
||||
$(heimdalsrcdir)/lib/krb5/mk_req.o \
|
||||
$(heimdalsrcdir)/lib/krb5/mk_req_ext.o \
|
||||
$(heimdalsrcdir)/lib/krb5/mit_glue.o \
|
||||
$(heimdalsrcdir)/lib/krb5/n-fold.o \
|
||||
$(heimdalsrcdir)/lib/krb5/padata.o \
|
||||
$(heimdalsrcdir)/lib/krb5/pkinit.o \
|
||||
$(heimdalsrcdir)/lib/krb5/plugin.o \
|
||||
$(heimdalsrcdir)/lib/krb5/principal.o \
|
||||
$(heimdalsrcdir)/lib/krb5/prog_setup.o \
|
||||
$(heimdalsrcdir)/lib/krb5/pac.o \
|
||||
$(heimdalsrcdir)/lib/krb5/prompter_posix.o \
|
||||
$(heimdalsrcdir)/lib/krb5/rd_cred.o \
|
||||
$(heimdalsrcdir)/lib/krb5/rd_error.o \
|
||||
$(heimdalsrcdir)/lib/krb5/rd_priv.o \
|
||||
$(heimdalsrcdir)/lib/krb5/rd_rep.o \
|
||||
$(heimdalsrcdir)/lib/krb5/rd_req.o \
|
||||
$(heimdalsrcdir)/lib/krb5/replay.o \
|
||||
$(heimdalsrcdir)/lib/krb5/send_to_kdc.o \
|
||||
$(heimdalsrcdir)/lib/krb5/set_default_realm.o \
|
||||
$(heimdalsrcdir)/lib/krb5/store.o \
|
||||
$(heimdalsrcdir)/lib/krb5/store_emem.o \
|
||||
$(heimdalsrcdir)/lib/krb5/store_fd.o \
|
||||
$(heimdalsrcdir)/lib/krb5/store_mem.o \
|
||||
$(heimdalsrcdir)/lib/krb5/ticket.o \
|
||||
$(heimdalsrcdir)/lib/krb5/time.o \
|
||||
$(heimdalsrcdir)/lib/krb5/transited.o \
|
||||
$(heimdalsrcdir)/lib/krb5/v4_glue.o \
|
||||
$(heimdalsrcdir)/lib/krb5/version.o \
|
||||
$(heimdalsrcdir)/lib/krb5/warn.o \
|
||||
$(heimdalsrcdir)/lib/krb5/krb5_err.o \
|
||||
$(heimdalsrcdir)/lib/krb5/heim_err.o \
|
||||
$(heimdalsrcdir)/lib/krb5/k524_err.o \
|
||||
$(heimdalsrcdir)/lib/krb5/krb_err.o \
|
||||
$(heimdalbuildsrcdir)/krb5-glue.o
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/krb5/krb5-protos.h, \
|
||||
-E KRB5_LIB -q -P comment -o, \
|
||||
$(HEIMDAL_KRB5_OBJ_FILES:.o=.c), \
|
||||
$(HEIMDAL_KRB5_OBJ_FILES) $(HEIMDAL_KRB5_OBJ_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/krb5/krb5-private.h, \
|
||||
-q -P comment -p, \
|
||||
$(HEIMDAL_KRB5_OBJ_FILES:.o=.c), \
|
||||
$(HEIMDAL_KRB5_OBJ_FILES) $(HEIMDAL_KRB5_OBJ_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HEIMDAL_HEIM_ASN1
|
||||
[SUBSYSTEM::HEIMDAL_HEIM_ASN1]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/asn1
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_COM_ERR
|
||||
# End SUBSYSTEM HEIMDAL_KRB5
|
||||
#######################
|
||||
|
||||
HEIMDAL_HEIM_ASN1_DER_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/asn1/der_get.o \
|
||||
$(heimdalsrcdir)/lib/asn1/der_put.o \
|
||||
$(heimdalsrcdir)/lib/asn1/der_free.o \
|
||||
$(heimdalsrcdir)/lib/asn1/der_format.o \
|
||||
$(heimdalsrcdir)/lib/asn1/der_length.o \
|
||||
$(heimdalsrcdir)/lib/asn1/der_copy.o \
|
||||
$(heimdalsrcdir)/lib/asn1/der_cmp.o \
|
||||
|
||||
HEIMDAL_HEIM_ASN1_OBJ_FILES = \
|
||||
$(HEIMDAL_HEIM_ASN1_DER_OBJ_FILES) \
|
||||
$(heimdalsrcdir)/lib/asn1/extra.o \
|
||||
$(heimdalsrcdir)/lib/asn1/timegm.o \
|
||||
$(heimdalsrcdir)/lib/asn1/asn1_err.o
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HEIMDAL_HCRYPTO_IMATH
|
||||
[SUBSYSTEM::HEIMDAL_HCRYPTO_IMATH]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/hcrypto/imath
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN
|
||||
# End SUBSYSTEM HEIMDAL_HCRYPTO_IMATH
|
||||
#######################
|
||||
|
||||
HEIMDAL_HCRYPTO_IMATH_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/hcrypto/imath/imath.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/imath/iprime.o
|
||||
|
||||
[SUBSYSTEM::HEIMDAL_HCRYPTO]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/hcrypto -I$(heimdalsrcdir)/lib
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HEIM_ASN1 HEIMDAL_HCRYPTO_IMATH HEIMDAL_RFC2459_ASN1
|
||||
# End SUBSYSTEM HEIMDAL_HCRYPTO
|
||||
#######################
|
||||
|
||||
HEIMDAL_HCRYPTO_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/hcrypto/aes.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/bn.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/dh.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/dh-imath.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/des.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/dsa.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/engine.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/md2.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/md4.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/md5.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rsa.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rsa-imath.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rc2.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rc4.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rijndael-alg-fst.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rnd_keys.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/sha.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/sha256.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/ui.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/evp.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/evp-hcrypto.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/pkcs5.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/pkcs12.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rand.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rand-egd.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rand-unix.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rand-fortuna.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/rand-timer.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/hmac.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/camellia.o \
|
||||
$(heimdalsrcdir)/lib/hcrypto/camellia-ntt.o
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HEIMDAL_HX509
|
||||
[SUBSYSTEM::HEIMDAL_HX509]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/hx509
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
HEIMDAL_ROKEN HEIMDAL_COM_ERR \
|
||||
HEIMDAL_HEIM_ASN1 HEIMDAL_HCRYPTO \
|
||||
HEIMDAL_CMS_ASN1 HEIMDAL_RFC2459_ASN1 \
|
||||
HEIMDAL_OCSP_ASN1 HEIMDAL_PKCS8_ASN1 \
|
||||
HEIMDAL_PKCS9_ASN1 HEIMDAL_PKCS12_ASN1 \
|
||||
HEIMDAL_PKINIT_ASN1 HEIMDAL_PKCS10_ASN1 \
|
||||
HEIMDAL_WIND
|
||||
# End SUBSYSTEM HEIMDAL_HX509
|
||||
#######################
|
||||
|
||||
HEIMDAL_HX509_OBJH_FILES = \
|
||||
$(heimdalsrcdir)/lib/hx509/ca.o \
|
||||
$(heimdalsrcdir)/lib/hx509/cert.o \
|
||||
$(heimdalsrcdir)/lib/hx509/cms.o \
|
||||
$(heimdalsrcdir)/lib/hx509/collector.o \
|
||||
$(heimdalsrcdir)/lib/hx509/crypto.o \
|
||||
$(heimdalsrcdir)/lib/hx509/error.o \
|
||||
$(heimdalsrcdir)/lib/hx509/env.o \
|
||||
$(heimdalsrcdir)/lib/hx509/file.o \
|
||||
$(heimdalsrcdir)/lib/hx509/keyset.o \
|
||||
$(heimdalsrcdir)/lib/hx509/ks_dir.o \
|
||||
$(heimdalsrcdir)/lib/hx509/ks_file.o \
|
||||
$(heimdalsrcdir)/lib/hx509/ks_keychain.o \
|
||||
$(heimdalsrcdir)/lib/hx509/ks_mem.o \
|
||||
$(heimdalsrcdir)/lib/hx509/ks_null.o \
|
||||
$(heimdalsrcdir)/lib/hx509/ks_p11.o \
|
||||
$(heimdalsrcdir)/lib/hx509/ks_p12.o \
|
||||
$(heimdalsrcdir)/lib/hx509/lock.o \
|
||||
$(heimdalsrcdir)/lib/hx509/name.o \
|
||||
$(heimdalsrcdir)/lib/hx509/peer.o \
|
||||
$(heimdalsrcdir)/lib/hx509/print.o \
|
||||
$(heimdalsrcdir)/lib/hx509/req.o \
|
||||
$(heimdalsrcdir)/lib/hx509/revoke.o \
|
||||
$(heimdalsrcdir)/lib/hx509/sel.o \
|
||||
$(heimdalsrcdir)/lib/hx509/hx509_err.o
|
||||
|
||||
HEIMDAL_HX509_OBJG_FILES = \
|
||||
$(heimdalsrcdir)/lib/hx509/sel-lex.o \
|
||||
$(heimdalsrcdir)/lib/hx509/sel-gram.o
|
||||
|
||||
$(heimdalsrcdir)/lib/hx509/sel-lex.c:: $(heimdalsrcdir)/lib/hx509/sel-gram.c
|
||||
dist:: $(heimdalsrcdir)/lib/hx509/sel-lex.c
|
||||
|
||||
HEIMDAL_HX509_OBJ_FILES = $(HEIMDAL_HX509_OBJH_FILES) $(HEIMDAL_HX509_OBJG_FILES)
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/hx509/hx509-protos.h, \
|
||||
-R '^(_|^C)' -E HX509_LIB -q -P comment -o, \
|
||||
$(HEIMDAL_HX509_OBJH_FILES:.o=.c), \
|
||||
$(HEIMDAL_HX509_OBJH_FILES) $(HEIMDAL_HX509_OBJH_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/hx509/hx509-private.h, \
|
||||
-q -P comment -p, \
|
||||
$(HEIMDAL_HX509_OBJH_FILES:.o=.c), \
|
||||
$(HEIMDAL_HX509_OBJH_FILES) $(HEIMDAL_HX509_OBJH_FILES:.o=.d) \
|
||||
))
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HEIMDAL_WIND
|
||||
[SUBSYSTEM::HEIMDAL_WIND]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/wind
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
HEIMDAL_ROKEN HEIMDAL_COM_ERR
|
||||
|
||||
HEIMDAL_WIND_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/wind/wind_err.o \
|
||||
$(heimdalsrcdir)/lib/wind/stringprep.o \
|
||||
$(heimdalsrcdir)/lib/wind/errorlist.o \
|
||||
$(heimdalsrcdir)/lib/wind/errorlist_table.o \
|
||||
$(heimdalsrcdir)/lib/wind/normalize.o \
|
||||
$(heimdalsrcdir)/lib/wind/normalize_table.o \
|
||||
$(heimdalsrcdir)/lib/wind/combining.o \
|
||||
$(heimdalsrcdir)/lib/wind/combining_table.o \
|
||||
$(heimdalsrcdir)/lib/wind/utf8.o \
|
||||
$(heimdalsrcdir)/lib/wind/bidi.o \
|
||||
$(heimdalsrcdir)/lib/wind/bidi_table.o \
|
||||
$(heimdalsrcdir)/lib/wind/ldap.o \
|
||||
$(heimdalsrcdir)/lib/wind/map.o \
|
||||
$(heimdalsrcdir)/lib/wind/map_table.o
|
||||
# End SUBSYSTEM HEIMDAL_WIND
|
||||
#######################
|
||||
|
||||
$(HEIMDAL_WIND_OBJ_FILES) $(HEIMDAL_WIND_OBJ_FILES:.o=.d):: $(heimdalsrcdir)/lib/wind/map_table.h
|
||||
|
||||
$(heimdalsrcdir)/lib/wind/map_table.h $(heimdalsrcdir)/lib/wind/map_table.c: $(heimdalsrcdir)/lib/wind/rfc3454.txt $(heimdalsrcdir)/lib/wind/gen-map.py $(heimdalsrcdir)/lib/wind/stringprep.py
|
||||
$(PYTHON) $(heimdalsrcdir)/lib/wind/gen-map.py $(heimdalsrcdir)/lib/wind/rfc3454.txt $(heimdalsrcdir)/lib/wind/
|
||||
|
||||
clean::
|
||||
@rm -f $(heimdalsrcdir)/lib/wind/map_table.h $(heimdalsrcdir)/lib/wind/map_table.c
|
||||
|
||||
$(HEIMDAL_WIND_OBJ_FILES) $(HEIMDAL_WIND_OBJ_FILES:.o=.d):: $(heimdalsrcdir)/lib/wind/errorlist_table.h
|
||||
|
||||
$(heimdalsrcdir)/lib/wind/errorlist_table.h $(heimdalsrcdir)/lib/wind/errorlist_table.c: $(heimdalsrcdir)/lib/wind/rfc3454.txt $(heimdalsrcdir)/lib/wind/gen-errorlist.py $(heimdalsrcdir)/lib/wind/stringprep.py
|
||||
$(PYTHON) $(heimdalsrcdir)/lib/wind/gen-errorlist.py $(heimdalsrcdir)/lib/wind/rfc3454.txt $(heimdalsrcdir)/lib/wind/
|
||||
|
||||
clean::
|
||||
@rm -f $(heimdalsrcdir)/lib/wind/errorlist_table.h $(heimdalsrcdir)/lib/wind/errorlist_table.c
|
||||
|
||||
$(HEIMDAL_WIND_OBJ_FILES) $(HEIMDAL_WIND_OBJ_FILES:.o=.d):: $(heimdalsrcdir)/lib/wind/normalize_table.h
|
||||
|
||||
$(heimdalsrcdir)/lib/wind/normalize_table.h $(heimdalsrcdir)/lib/wind/normalize_table.c: $(heimdalsrcdir)/lib/wind/UnicodeData.txt $(heimdalsrcdir)/lib/wind/CompositionExclusions-3.2.0.txt $(heimdalsrcdir)/lib/wind/gen-normalize.py
|
||||
$(PYTHON) $(heimdalsrcdir)/lib/wind/gen-normalize.py $(heimdalsrcdir)/lib/wind/UnicodeData.txt $(heimdalsrcdir)/lib/wind/CompositionExclusions-3.2.0.txt $(heimdalsrcdir)/lib/wind/
|
||||
|
||||
clean::
|
||||
@rm -f $(heimdalsrcdir)/lib/wind/normalize_table.h $(heimdalsrcdir)/lib/wind/normalize_table.c
|
||||
|
||||
$(HEIMDAL_WIND_OBJ_FILES) $(HEIMDAL_WIND_OBJ_FILES:.o=.d):: $(heimdalsrcdir)/lib/wind/combining_table.h
|
||||
|
||||
$(heimdalsrcdir)/lib/wind/combining_table.h $(heimdalsrcdir)/lib/wind/combining_table.c: $(heimdalsrcdir)/lib/wind/UnicodeData.txt $(heimdalsrcdir)/lib/wind/gen-combining.py
|
||||
$(PYTHON) $(heimdalsrcdir)/lib/wind/gen-combining.py $(heimdalsrcdir)/lib/wind/UnicodeData.txt $(heimdalsrcdir)/lib/wind/
|
||||
|
||||
clean::
|
||||
@rm -f $(heimdalsrcdir)/lib/wind/combining_table.h $(heimdalsrcdir)/lib/wind/combining_table.c
|
||||
|
||||
$(HEIMDAL_WIND_OBJ_FILES) $(HEIMDAL_WIND_OBJ_FILES:.o=.d):: $(heimdalsrcdir)/lib/wind/bidi_table.h
|
||||
|
||||
$(heimdalsrcdir)/lib/wind/bidi_table.h $(heimdalsrcdir)/lib/wind/bidi_table.c: $(heimdalsrcdir)/lib/wind/rfc3454.txt $(heimdalsrcdir)/lib/wind/gen-bidi.py
|
||||
$(PYTHON) $(heimdalsrcdir)/lib/wind/gen-bidi.py $(heimdalsrcdir)/lib/wind/rfc3454.txt $(heimdalsrcdir)/lib/wind/
|
||||
|
||||
clean::
|
||||
@rm -f $(heimdalsrcdir)/lib/wind/bidi_table.h $(heimdalsrcdir)/lib/wind/bidi_table.c
|
||||
|
||||
[SUBSYSTEM::HEIMDAL_ROKEN_PROGNAME]
|
||||
|
||||
HEIMDAL_ROKEN_PROGNAME_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/roken/getprogname.o \
|
||||
$(heimdalsrcdir)/lib/roken/setprogname.o
|
||||
$(HEIMDAL_ROKEN_PROGNAME_OBJ_FILES): CFLAGS+=-I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/roken -I$(socketwrappersrcdir)
|
||||
|
||||
[SUBSYSTEM::HEIMDAL_ROKEN_CLOSEFROM]
|
||||
|
||||
HEIMDAL_ROKEN_CLOSEFROM_OBJ_FILES = $(heimdalsrcdir)/lib/roken/closefrom.o
|
||||
$(HEIMDAL_ROKEN_CLOSEFROM_OBJ_FILES): CFLAGS+=-I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/roken -I$(socketwrappersrcdir)
|
||||
|
||||
[SUBSYSTEM::HEIMDAL_ROKEN_PROGNAME_H]
|
||||
|
||||
HEIMDAL_ROKEN_PROGNAME_H_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/roken/getprogname.ho \
|
||||
$(heimdalsrcdir)/lib/roken/setprogname.ho
|
||||
$(HEIMDAL_ROKEN_PROGNAME_H_OBJ_FILES): CFLAGS+=-I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/roken -DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1
|
||||
|
||||
[SUBSYSTEM::HEIMDAL_ROKEN_CLOSEFROM_H]
|
||||
|
||||
HEIMDAL_ROKEN_CLOSEFROM_H_OBJ_FILES = $(heimdalsrcdir)/lib/roken/closefrom.ho
|
||||
$(HEIMDAL_ROKEN_CLOSEFROM_H_OBJ_FILES): CFLAGS+=-I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/roken -DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HEIMDAL_ROKEN
|
||||
[SUBSYSTEM::HEIMDAL_ROKEN]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/roken -I$(heimdalsrcdir)/include -I$(socketwrappersrcdir)
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
HEIMDAL_ROKEN_PROGNAME \
|
||||
HEIMDAL_ROKEN_CLOSEFROM \
|
||||
RESOLV \
|
||||
LIBREPLACE_NETWORK \
|
||||
UID_WRAPPER
|
||||
# End SUBSYSTEM HEIMDAL_ROKEN
|
||||
#######################
|
||||
|
||||
HEIMDAL_ROKEN_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/roken/base64.o \
|
||||
$(heimdalsrcdir)/lib/roken/ct.o \
|
||||
$(heimdalsrcdir)/lib/roken/hex.o \
|
||||
$(heimdalsrcdir)/lib/roken/bswap.o \
|
||||
$(heimdalsrcdir)/lib/roken/dumpdata.o \
|
||||
$(heimdalsrcdir)/lib/roken/emalloc.o \
|
||||
$(heimdalsrcdir)/lib/roken/ecalloc.o \
|
||||
$(heimdalsrcdir)/lib/roken/getarg.o \
|
||||
$(heimdalsrcdir)/lib/roken/get_window_size.o \
|
||||
$(heimdalsrcdir)/lib/roken/getdtablesize.o \
|
||||
$(heimdalsrcdir)/lib/roken/h_errno.o \
|
||||
$(heimdalsrcdir)/lib/roken/issuid.o \
|
||||
$(heimdalsrcdir)/lib/roken/net_read.o \
|
||||
$(heimdalsrcdir)/lib/roken/net_write.o \
|
||||
$(heimdalsrcdir)/lib/roken/socket.o \
|
||||
$(heimdalsrcdir)/lib/roken/parse_time.o \
|
||||
$(heimdalsrcdir)/lib/roken/parse_units.o \
|
||||
$(heimdalsrcdir)/lib/roken/resolve.o \
|
||||
$(heimdalsrcdir)/lib/roken/roken_gethostby.o \
|
||||
$(heimdalsrcdir)/lib/roken/signal.o \
|
||||
$(heimdalsrcdir)/lib/roken/vis.o \
|
||||
$(heimdalsrcdir)/lib/roken/strlwr.o \
|
||||
$(heimdalsrcdir)/lib/roken/strsep_copy.o \
|
||||
$(heimdalsrcdir)/lib/roken/strsep.o \
|
||||
$(heimdalsrcdir)/lib/roken/strupr.o \
|
||||
$(heimdalsrcdir)/lib/roken/strpool.o \
|
||||
$(heimdalsrcdir)/lib/roken/estrdup.o \
|
||||
$(heimdalsrcdir)/lib/roken/erealloc.o \
|
||||
$(heimdalsrcdir)/lib/roken/simple_exec.o \
|
||||
$(heimdalsrcdir)/lib/roken/strcollect.o \
|
||||
$(heimdalsrcdir)/lib/roken/rtbl.o \
|
||||
$(heimdalsrcdir)/lib/roken/cloexec.o \
|
||||
$(heimdalsrcdir)/lib/roken/xfree.o \
|
||||
$(heimdalbuildsrcdir)/replace.o
|
||||
|
||||
$(HEIMDAL_ROKEN_OBJ_FILES) $(HEIMDAL_ROKEN_OBJ_FILES:.o=.d):: $(heimdalsrcdir)/lib/roken/roken.h
|
||||
|
||||
[SUBSYSTEM::HEIMDAL_ROKEN_H]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/roken -DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
HEIMDAL_ROKEN_PROGNAME_H \
|
||||
HEIMDAL_ROKEN_CLOSEFROM_H \
|
||||
RESOLV \
|
||||
LIBREPLACE_NETWORK
|
||||
|
||||
HEIMDAL_ROKEN_H_OBJ_FILES = $(HEIMDAL_ROKEN_OBJ_FILES:.o=.ho)
|
||||
$(HEIMDAL_ROKEN_H_OBJ_FILES:.ho=.hd):: $(heimdalsrcdir)/lib/roken/roken.h
|
||||
|
||||
$(heimdalsrcdir)/lib/roken/roken.h:
|
||||
@echo 'Creating $(heimdalsrcdir)/lib/roken/roken.h'
|
||||
@echo '#include "heimdal_build/roken.h"' > $(heimdalsrcdir)/lib/roken/roken.h
|
||||
|
||||
clean::
|
||||
@rm -f $(heimdalsrcdir)/lib/roken/roken.h
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HEIMDAL_COM_ERR
|
||||
[SUBSYSTEM::HEIMDAL_COM_ERR]
|
||||
CFLAGS = -I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/com_err
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN
|
||||
# End SUBSYSTEM HEIMDAL_COM_ERR
|
||||
#######################
|
||||
|
||||
HEIMDAL_COM_ERR_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/com_err/com_err.o \
|
||||
$(heimdalsrcdir)/lib/com_err/error.o
|
||||
|
||||
#######################
|
||||
# Start BINARY asn1_compile
|
||||
[BINARY::asn1_compile]
|
||||
USE_HOSTCC = YES
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN_H
|
||||
|
||||
ASN1C = $(builddir)/bin/asn1_compile
|
||||
|
||||
asn1_compile_ASN1_OBJ_FILES = \
|
||||
$(heimdalsrcdir)/lib/asn1/main.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/gen.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/gen_copy.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/gen_decode.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/gen_encode.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/gen_free.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/gen_glue.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/gen_length.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/gen_seq.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/gen_template.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/hash.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/symbol.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/asn1parse.ho \
|
||||
$(heimdalsrcdir)/lib/asn1/lex.ho
|
||||
|
||||
$(heimdalsrcdir)/lib/asn1/lex.c:: $(heimdalsrcdir)/lib/asn1/asn1parse.c
|
||||
dist:: $(heimdalsrcdir)/lib/asn1/lex.c
|
||||
|
||||
asn1_compile_OBJ_FILES = \
|
||||
$(asn1_compile_ASN1_OBJ_FILES) \
|
||||
$(heimdalsrcdir)/lib/vers/print_version.ho
|
||||
|
||||
$(asn1_compile_OBJ_FILES): CFLAGS+=-I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/asn1 -I$(heimdalsrcdir)/lib/roken -DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1
|
||||
basics:: $(heimdalsrcdir)/lib/asn1/der-protos.h $(heimdalsrcdir)/lib/asn1/der-private.h
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/asn1/der-protos.h, \
|
||||
-q -P comment -o, \
|
||||
$(HEIMDAL_HEIM_ASN1_DER_OBJ_FILES:.o=.c), \
|
||||
$(asn1_compile_ASN1_OBJ_FILES) $(asn1_compile_ASN1_OBJ_FILES:.ho=.hd) \
|
||||
))
|
||||
|
||||
$(eval $(call heimdal_proto_header_template, \
|
||||
$(heimdalsrcdir)/lib/asn1/der-private.h, \
|
||||
-q -P comment -p, \
|
||||
$(HEIMDAL_HEIM_ASN1_DER_OBJ_FILES:.o=.c), \
|
||||
$(asn1_compile_ASN1_OBJ_FILES) $(asn1_compile_ASN1_OBJ_FILES:.ho=.hd) \
|
||||
))
|
||||
|
||||
# End BINARY asn1_compile
|
||||
#######################
|
||||
|
||||
#######################
|
||||
# Start BINARY compile_et
|
||||
[BINARY::compile_et]
|
||||
USE_HOSTCC = YES
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN_H
|
||||
# End BINARY compile_et
|
||||
#######################
|
||||
|
||||
ET_COMPILER = $(builddir)/bin/compile_et
|
||||
|
||||
compile_et_OBJ_FILES = $(heimdalsrcdir)/lib/vers/print_version.ho \
|
||||
$(heimdalsrcdir)/lib/com_err/parse.ho \
|
||||
$(heimdalsrcdir)/lib/com_err/lex.ho \
|
||||
$(heimdalsrcdir)/lib/com_err/compile_et.ho
|
||||
|
||||
$(compile_et_OBJ_FILES): CFLAGS+=-I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/com_err -I$(heimdalsrcdir)/lib/roken -DSOCKET_WRAPPER_DISABLE=1 -DNSS_WRAPPER_DISABLE=1
|
||||
|
||||
$(heimdalsrcdir)/lib/com_err/lex.c:: $(heimdalsrcdir)/lib/com_err/parse.c
|
||||
dist:: $(heimdalsrcdir)/lib/com_err/lex.c
|
||||
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/hdb/hdb.asn1 hdb_asn1 \$\(heimdalsrcdir\)/lib/hdb |
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/gssapi/spnego/spnego.asn1 spnego_asn1 \$\(heimdalsrcdir\)/lib/gssapi --sequence=MechTypeList |
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/gssapi/mech/gssapi.asn1 gssapi_asn1 \$\(heimdalsrcdir\)/lib/gssapi|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/asn1/krb5.asn1 krb5_asn1 \$\(heimdalsrcdir\)/lib/asn1 --option-file=krb5.opt|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/asn1/digest.asn1 digest_asn1 \$\(heimdalsrcdir\)/lib/asn1|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/asn1/pkcs8.asn1 pkcs8_asn1 \$\(heimdalsrcdir\)/lib/asn1|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/asn1/pkcs9.asn1 pkcs9_asn1 \$\(heimdalsrcdir\)/lib/asn1|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/asn1/pkcs12.asn1 pkcs12_asn1 \$\(heimdalsrcdir\)/lib/asn1|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/asn1/rfc2459.asn1 rfc2459_asn1 \$\(heimdalsrcdir\)/lib/asn1 --preserve-binary=TBSCertificate --preserve-binary=TBSCRLCertList --preserve-binary=Name --sequence=GeneralNames --sequence=Extensions --sequence=CRLDistributionPoints|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/asn1/pkinit.asn1 pkinit_asn1 \$\(heimdalsrcdir\)/lib/asn1|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/asn1/cms.asn1 cms_asn1 \$\(heimdalsrcdir\)/lib/asn1 --option-file=cms.opt|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/hx509/ocsp.asn1 ocsp_asn1 \$\(heimdalsrcdir\)/lib/hx509 --preserve-binary=OCSPTBSRequest --preserve-binary=OCSPResponseData|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/asn1/kx509.asn1 kx509_asn1 \$\(heimdalsrcdir\)/lib/asn1|
|
||||
mkinclude perl_path_wrapper.sh asn1_deps.pl lib/hx509/pkcs10.asn1 pkcs10_asn1 \$\(heimdalsrcdir\)/lib/hx509 --preserve-binary=CertificationRequestInfo|
|
||||
|
||||
mkinclude perl_path_wrapper.sh et_deps.pl lib/asn1/asn1_err.et \$\(heimdalsrcdir\)/lib/asn1|
|
||||
mkinclude perl_path_wrapper.sh et_deps.pl lib/hdb/hdb_err.et \$\(heimdalsrcdir\)/lib/hdb|
|
||||
mkinclude perl_path_wrapper.sh et_deps.pl lib/krb5/heim_err.et \$\(heimdalsrcdir\)/lib/krb5|
|
||||
mkinclude perl_path_wrapper.sh et_deps.pl lib/krb5/k524_err.et \$\(heimdalsrcdir\)/lib/krb5|
|
||||
mkinclude perl_path_wrapper.sh et_deps.pl lib/krb5/krb_err.et \$\(heimdalsrcdir\)/lib/krb5|
|
||||
mkinclude perl_path_wrapper.sh et_deps.pl lib/krb5/krb5_err.et \$\(heimdalsrcdir\)/lib/krb5|
|
||||
mkinclude perl_path_wrapper.sh et_deps.pl lib/gssapi/krb5/gkrb5_err.et \$\(heimdalsrcdir\)/lib/gssapi|
|
||||
mkinclude perl_path_wrapper.sh et_deps.pl lib/hx509/hx509_err.et \$\(heimdalsrcdir\)/lib/hx509|
|
||||
mkinclude perl_path_wrapper.sh et_deps.pl lib/wind/wind_err.et \$\(heimdalsrcdir\)/lib/wind|
|
||||
|
||||
clean::
|
||||
@-rm -f bin/compile_et bin/asn1_compile
|
||||
|
||||
#######################
|
||||
# Start BINARY compile_et
|
||||
[BINARY::samba4kinit]
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_KRB5 HEIMDAL_NTLM
|
||||
# End BINARY compile_et
|
||||
#######################
|
||||
|
||||
samba4kinit_OBJ_FILES = $(heimdalsrcdir)/kuser/kinit.o \
|
||||
$(heimdalsrcdir)/lib/vers/print_version.o
|
||||
|
||||
$(samba4kinit_OBJ_FILES): CFLAGS+=-I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/roken
|
||||
|
||||
#######################
|
||||
# Start BINARY compile_et
|
||||
[BINARY::samba4kpasswd]
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_KRB5 HEIMDAL_NTLM
|
||||
# End BINARY compile_et
|
||||
#######################
|
||||
|
||||
samba4kpasswd_OBJ_FILES = $(heimdalsrcdir)/kpasswd/kpasswd.o \
|
||||
$(heimdalsrcdir)/lib/vers/print_version.o
|
||||
|
||||
$(samba4kpasswd_OBJ_FILES): CFLAGS+=-I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/roken
|
||||
|
||||
#######################
|
||||
# Start BINARY compile_et
|
||||
[BINARY::rkpty]
|
||||
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN OPENPTY
|
||||
# End BINARY compile_et
|
||||
#######################
|
||||
|
||||
rkpty_OBJ_FILES = $(heimdalsrcdir)/lib/roken/rkpty.o \
|
||||
$(socketwrappersrcdir)/socket_wrapper.o
|
||||
|
||||
$(rkpty_OBJ_FILES): CFLAGS+=-I$(heimdalbuildsrcdir) -I$(heimdalsrcdir)/lib/roken -DPACKAGE=\"Samba\"
|
@ -1,238 +0,0 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# install - install a program, script, or datafile
|
||||
# This comes from X11R5.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
#
|
||||
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
|
||||
|
||||
# put in absolute paths if you don't have them in your path; or use env. vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
transformbasename=""
|
||||
transform_arg=""
|
||||
instcmd="$mvprog"
|
||||
chmodcmd="$chmodprog 0755"
|
||||
chowncmd=""
|
||||
chgrpcmd=""
|
||||
stripcmd=""
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=""
|
||||
dst=""
|
||||
dir_arg=""
|
||||
|
||||
while [ x"$1" != x ]; do
|
||||
case $1 in
|
||||
-c) instcmd="$cpprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-m) chmodcmd="$chmodprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd="$stripprog"
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
|
||||
shift
|
||||
continue;;
|
||||
|
||||
*) if [ x"$src" = x ]
|
||||
then
|
||||
src=$1
|
||||
else
|
||||
# this colon is to work around a 386BSD /bin/sh bug
|
||||
:
|
||||
dst=$1
|
||||
fi
|
||||
shift
|
||||
continue;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ x"$src" = x ]
|
||||
then
|
||||
echo "install: no input file specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]; then
|
||||
dst=$src
|
||||
src=""
|
||||
|
||||
if [ -d $dst ]; then
|
||||
instcmd=:
|
||||
else
|
||||
instcmd=mkdir
|
||||
fi
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
|
||||
if [ -f $src -o -d $src ]
|
||||
then
|
||||
true
|
||||
else
|
||||
echo "install: $src does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ x"$dst" = x ]
|
||||
then
|
||||
echo "install: no destination specified"
|
||||
exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# If destination is a directory, append the input filename; if your system
|
||||
# does not like double slashes in filenames, you may need to add some logic
|
||||
|
||||
if [ -d $dst ]
|
||||
then
|
||||
dst="$dst"/`basename $src`
|
||||
else
|
||||
true
|
||||
fi
|
||||
fi
|
||||
|
||||
## this sed command emulates the dirname command
|
||||
dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
|
||||
|
||||
# Make sure that the destination directory exists.
|
||||
# this part is taken from Noah Friedman's mkinstalldirs script
|
||||
|
||||
# Skip lots of stat calls in the usual case.
|
||||
if [ ! -d "$dstdir" ]; then
|
||||
defaultIFS='
|
||||
'
|
||||
IFS="${IFS-${defaultIFS}}"
|
||||
|
||||
oIFS="${IFS}"
|
||||
# Some sh's can't handle IFS=/ for some reason.
|
||||
IFS='%'
|
||||
set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
|
||||
IFS="${oIFS}"
|
||||
|
||||
pathcomp=''
|
||||
|
||||
while [ $# -ne 0 ] ; do
|
||||
pathcomp="${pathcomp}${1}"
|
||||
shift
|
||||
|
||||
if [ ! -d "${pathcomp}" ] ;
|
||||
then
|
||||
$mkdirprog "${pathcomp}"
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
pathcomp="${pathcomp}/"
|
||||
done
|
||||
fi
|
||||
|
||||
if [ x"$dir_arg" != x ]
|
||||
then
|
||||
$doit $instcmd $dst &&
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
|
||||
else
|
||||
|
||||
# If we're going to rename the final executable, determine the name now.
|
||||
|
||||
if [ x"$transformarg" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
dstfile=`basename $dst $transformbasename |
|
||||
sed $transformarg`$transformbasename
|
||||
fi
|
||||
|
||||
# don't allow the sed command to completely eliminate the filename
|
||||
|
||||
if [ x"$dstfile" = x ]
|
||||
then
|
||||
dstfile=`basename $dst`
|
||||
else
|
||||
true
|
||||
fi
|
||||
|
||||
# Make a temp file name in the proper directory.
|
||||
|
||||
dsttmp=$dstdir/#inst.$$#
|
||||
|
||||
# Move or copy the file name to the temp name
|
||||
|
||||
$doit $instcmd $src $dsttmp &&
|
||||
|
||||
trap "rm -f ${dsttmp}" 0 &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits
|
||||
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $instcmd $src $dsttmp" command.
|
||||
|
||||
if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
|
||||
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
|
||||
if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
|
||||
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
|
||||
$doit $rmcmd -f $dstdir/$dstfile &&
|
||||
$doit $mvcmd $dsttmp $dstdir/$dstfile
|
||||
|
||||
fi &&
|
||||
|
||||
|
||||
exit 0
|
@ -1 +0,0 @@
|
||||
SMB_ENABLE(server_service_kdc, $HAVE_KRB5)
|
@ -1,87 +0,0 @@
|
||||
# KDC server subsystem
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM KDC
|
||||
[MODULE::KDC]
|
||||
INIT_FUNCTION = server_service_kdc_init
|
||||
SUBSYSTEM = service
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
HEIMDAL_KDC HDB_SAMBA4 WDC_SAMBA4 LIBSAMBA-HOSTCONFIG \
|
||||
LIBTSOCKET LIBSAMBA_TSOCKET
|
||||
# End SUBSYSTEM KDC
|
||||
#######################
|
||||
|
||||
KDC_OBJ_FILES = $(addprefix $(kdcsrcdir)/, kdc.o kpasswdd.o)
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM HDB
|
||||
[SUBSYSTEM::HDB_SAMBA4]
|
||||
CFLAGS = -Iheimdal/kdc -Iheimdal/lib/hdb
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBLDB auth_sam auth_sam_reply CREDENTIALS \
|
||||
HEIMDAL_HDB DB_GLUE LIBSAMBA-HOSTCONFIG
|
||||
# End SUBSYSTEM HDB
|
||||
#######################
|
||||
|
||||
HDB_SAMBA4_OBJ_FILES = $(addprefix $(kdcsrcdir)/, hdb-samba4.o)
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM WDC
|
||||
[SUBSYSTEM::WDC_SAMBA4]
|
||||
CFLAGS = -Iheimdal/kdc -Iheimdal/lib/hdb
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBLDB auth_sam auth_sam_reply CREDENTIALS \
|
||||
HEIMDAL_HDB PAC_GLUE LIBSAMBA-HOSTCONFIG
|
||||
# End SUBSYSTEM WDC
|
||||
#######################
|
||||
|
||||
WDC_SAMBA4_OBJ_FILES = $(addprefix $(kdcsrcdir)/, wdc-samba4.o)
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM KDC
|
||||
[SUBSYSTEM::PAC_GLUE]
|
||||
CFLAGS = -Iheimdal/kdc -Iheimdal/lib/hdb
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBLDB auth_sam auth_sam_reply CREDENTIALS \
|
||||
HEIMDAL_HDB LIBSAMBA-HOSTCONFIG
|
||||
# End SUBSYSTEM KDC
|
||||
#######################
|
||||
|
||||
PAC_GLUE_OBJ_FILES = $(addprefix $(kdcsrcdir)/, pac-glue.o)
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM KDC
|
||||
[SUBSYSTEM::DB_GLUE]
|
||||
CFLAGS = -Iheimdal/kdc -Iheimdal/lib/hdb
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBLDB auth_sam auth_sam_reply CREDENTIALS \
|
||||
HEIMDAL_HDB LIBSAMBA-HOSTCONFIG
|
||||
# End SUBSYSTEM KDC
|
||||
#######################
|
||||
|
||||
DB_GLUE_OBJ_FILES = $(addprefix $(kdcsrcdir)/, db-glue.o)
|
||||
|
||||
###############################################################
|
||||
# MIT KDC Plugin
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM MIT plugin
|
||||
[SUBSYSTEM::MIT_SAMBA]
|
||||
PRIVATE_DEPENDENCIES = \
|
||||
LIBLDB auth_sam auth_sam_reply CREDENTIALS \
|
||||
HEIMDAL_HDB DB_GLUE PAC_GLUE LIBSAMBA-HOSTCONFIG
|
||||
# End SUBSYSTEM MIT plugin
|
||||
#######################
|
||||
|
||||
MIT_SAMBA_OBJ_FILES = $(addprefix $(kdcsrcdir)/, mit_samba.o)
|
||||
|
||||
###################################
|
||||
# Start Library mit_samba
|
||||
[LIBRARY::mit_samba]
|
||||
PRIVATE_DEPENDENCIES = MIT_SAMBA
|
||||
LIBRARY_REALNAME = mit_samba.$(SHLIBEXT)
|
||||
OUTPUT_TYPE = SHARED_LIBRARY
|
||||
ENABLE = YES
|
||||
# End Library mit_samba
|
||||
###################################
|
||||
|
@ -1,22 +0,0 @@
|
||||
# LDAP server subsystem
|
||||
|
||||
#######################
|
||||
# Start SUBSYSTEM LDAP
|
||||
[MODULE::LDAP]
|
||||
INIT_FUNCTION = server_service_ldap_init
|
||||
SUBSYSTEM = service
|
||||
PRIVATE_DEPENDENCIES = CREDENTIALS \
|
||||
LIBCLI_LDAP SAMDB \
|
||||
process_model \
|
||||
gensec \
|
||||
LIBSAMBA-HOSTCONFIG
|
||||
# End SUBSYSTEM SMB
|
||||
#######################
|
||||
|
||||
LDAP_OBJ_FILES = $(addprefix $(ldap_serversrcdir)/, \
|
||||
ldap_server.o \
|
||||
ldap_backend.o \
|
||||
ldap_bind.o \
|
||||
ldap_extended.o)
|
||||
|
||||
$(eval $(call proto_header_template,$(ldap_serversrcdir)/proto.h,$(LDAP_OBJ_FILES:.o=.c)))
|
@ -1,26 +0,0 @@
|
||||
[SUBSYSTEM::LZXPRESS]
|
||||
|
||||
LZXPRESS_OBJ_FILES = $(libcompressionsrcdir)/lzxpress.o
|
||||
|
||||
[SUBSYSTEM::GENCACHE]
|
||||
PRIVATE_DEPENDENCIES = TDB_WRAP
|
||||
|
||||
GENCACHE_OBJ_FILES = $(libgencachesrcdir)/gencache.o
|
||||
|
||||
# PUBLIC_HEADERS += $(libgencachesrcdir)/gencache.h
|
||||
|
||||
[SUBSYSTEM::LDB_WRAP]
|
||||
PUBLIC_DEPENDENCIES = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LDBSAMBA
|
||||
|
||||
LDB_WRAP_OBJ_FILES = $(libsrcdir)/ldb_wrap.o
|
||||
PUBLIC_HEADERS += $(libsrcdir)/ldb_wrap.h
|
||||
|
||||
[SUBSYSTEM::TDB_WRAP]
|
||||
PUBLIC_DEPENDENCIES = LIBTDB
|
||||
|
||||
TDB_WRAP_OBJ_FILES = $(libsrcdir)/tdb_wrap.o
|
||||
PUBLIC_HEADERS += $(libsrcdir)/tdb_wrap.h
|
||||
|
||||
SMBREADLINE_OBJ_LIST = $(SMBREADLINE_OBJ_FILES)
|
||||
|
@ -1,21 +0,0 @@
|
||||
[SUBSYSTEM::LIBCMDLINE_CREDENTIALS]
|
||||
PUBLIC_DEPENDENCIES = CREDENTIALS LIBPOPT
|
||||
|
||||
LIBCMDLINE_CREDENTIALS_OBJ_FILES = $(libcmdlinesrcdir)/credentials.o
|
||||
|
||||
$(eval $(call proto_header_template,$(libcmdlinesrcdir)/credentials.h,$(LIBCMDLINE_CREDENTIALS_OBJ_FILES:.o=.c)))
|
||||
|
||||
[SUBSYSTEM::POPT_SAMBA]
|
||||
PUBLIC_DEPENDENCIES = LIBPOPT
|
||||
|
||||
POPT_SAMBA_OBJ_FILES = $(libcmdlinesrcdir)/popt_common.o
|
||||
|
||||
PUBLIC_HEADERS += $(libcmdlinesrcdir)/popt_common.h
|
||||
|
||||
[SUBSYSTEM::POPT_CREDENTIALS]
|
||||
PUBLIC_DEPENDENCIES = CREDENTIALS LIBCMDLINE_CREDENTIALS LIBPOPT
|
||||
PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
|
||||
|
||||
POPT_CREDENTIALS_OBJ_FILES = $(libcmdlinesrcdir)/popt_credentials.o
|
||||
|
||||
$(eval $(call proto_header_template,$(libcmdlinesrcdir)/popt_credentials.h,$(POPT_CREDENTIALS_OBJ_FILES:.o=.c)))
|
@ -1,22 +0,0 @@
|
||||
[SUBSYSTEM::COM]
|
||||
PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL LIBSAMBA-HOSTCONFIG LIBEVENTS LIBNDR
|
||||
|
||||
COM_OBJ_FILES = $(addprefix $(comsrcdir)/, tables.o rot.o main.o)
|
||||
|
||||
[SUBSYSTEM::DCOM]
|
||||
PUBLIC_DEPENDENCIES = COM DCOM_PROXY_DCOM RPC_NDR_REMACT \
|
||||
RPC_NDR_OXIDRESOLVER
|
||||
|
||||
DCOM_OBJ_FILES = $(addprefix $(comsrcdir)/dcom/, main.o tables.o)
|
||||
|
||||
[MODULE::com_simple]
|
||||
SUBSYSTEM = COM
|
||||
INIT_FUNCTION = com_simple_init
|
||||
|
||||
com_simple_OBJ_FILES = $(comsrcdir)/classes/simple.o
|
||||
|
||||
[PYTHON::pycom]
|
||||
LIBRARY_REALNAME = samba/com.$(SHLIBEXT)
|
||||
PRIVATE_DEPENDENCIES = COM
|
||||
|
||||
pycom_OBJ_FILES = $(comsrcdir)/pycom.o
|
@ -1,5 +0,0 @@
|
||||
[SUBSYSTEM::LIBEVENTS]
|
||||
PUBLIC_DEPENDENCIES = LIBTEVENT
|
||||
CFLAGS = -Ilib/events
|
||||
|
||||
LIBEVENTS_OBJ_FILES = $(addprefix $(libeventssrcdir)/, tevent_s4.o)
|
@ -1,17 +0,0 @@
|
||||
################################################
|
||||
# Start SUBSYSTEM LDBSAMBA
|
||||
[SUBSYSTEM::LDBSAMBA]
|
||||
PUBLIC_DEPENDENCIES = LIBLDB
|
||||
PRIVATE_DEPENDENCIES = LIBSECURITY SAMDB_SCHEMA LIBNDR NDR_DRSBLOBS NDR_DNSP
|
||||
# End SUBSYSTEM LDBSAMBA
|
||||
################################################
|
||||
|
||||
LDBSAMBA_OBJ_FILES = $(ldb_sambasrcdir)/ldif_handlers.o
|
||||
$(eval $(call proto_header_template,$(ldb_sambasrcdir)/ldif_handlers_proto.h,$(LDBSAMBA_OBJ_FILES:.o=.c)))
|
||||
|
||||
|
||||
[PYTHON::python_samba__ldb]
|
||||
LIBRARY_REALNAME = samba/_ldb.$(SHLIBEXT)
|
||||
PRIVATE_DEPENDENCIES = LDBSAMBA pyparam_util
|
||||
|
||||
python_samba__ldb_OBJ_FILES = $(ldb_sambasrcdir)/pyldb.o
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user