1
0
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:
Jelmer Vernooij 2010-10-31 02:17:29 +01:00
parent 9401189d54
commit 3deece5591
162 changed files with 0 additions and 15208 deletions

View File

@ -1,4 +0,0 @@
[SUBSYSTEM::LIBASYNC_REQ]
PUBLIC_DEPENDENCIES = LIBREPLACE_NETWORK LIBTALLOC LIBTEVENT
LIBASYNC_REQ_OBJ_FILES = $(addprefix ../lib/async_req/, async_sock.o)

View File

@ -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)))

View File

@ -1,7 +0,0 @@
##############################
# Start SUBSYSTEM NSS_WRAPPER
[SUBSYSTEM::NSS_WRAPPER]
# End SUBSYSTEM NSS_WRAPPER
##############################
NSS_WRAPPER_OBJ_FILES = $(nsswrappersrcdir)/nss_wrapper.o

View File

@ -1,5 +0,0 @@
[SUBSYSTEM::LIBPOPT]
CFLAGS = -I$(poptsrcdir)
LIBPOPT_OBJ_FILES = $(addprefix $(poptsrcdir)/, findme.o popt.o poptconfig.o popthelp.o poptparse.o)

View File

@ -1,3 +0,0 @@
[SUBSYSTEM::LIBSMBCONF]
LIBSMBCONF_OBJ_FILES = $(addprefix ../lib/smbconf/, smbconf.o smbconf_txt.o smbconf_util.o)

View File

@ -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

View File

@ -1,7 +0,0 @@
[LIBRARY::LIBTALLOC]
OUTPUT_TYPE = MERGED_OBJ
CFLAGS = -I$(tallocsrcdir)
LIBTALLOC_OBJ_FILES = $(tallocsrcdir)/talloc.o
MANPAGES += $(tallocdir)/talloc.3

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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}])

View File

@ -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

View File

@ -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

View File

@ -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}])

View File

@ -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

View File

@ -1 +0,0 @@
AC_CHECK_FUNCS(sigprocmask sigblock sigaction)

View File

@ -1 +0,0 @@
AC_CHECK_FUNCS(setsid)

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -1,6 +0,0 @@
[SUBSYSTEM::LIBCLI_DRSUAPI]
PUBLIC_DEPENDENCIES = \
LIBCLI_AUTH
LIBCLI_DRSUAPI_OBJ_FILES = $(addprefix $(libclicommonsrcdir)/drsuapi/, \
repl_decrypt.o)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,6 +0,0 @@
[SUBSYSTEM::LIBCLI_SAMSYNC]
PUBLIC_DEPENDENCIES = \
LIBCLI_AUTH
LIBCLI_SAMSYNC_OBJ_FILES = $(addprefix $(libclicommonsrcdir)/samsync/, \
decrypt.o)

View File

@ -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)

View File

@ -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)))

View File

@ -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

View File

@ -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

View File

@ -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
#####

View File

@ -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)\"

View File

@ -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 )

View File

@ -1,8 +0,0 @@
case "$host_os" in
*linux*)
SMB_ENABLE(nsstest,YES)
;;
*)
SMB_ENABLE(nsstest,NO)
;;
esac

View File

@ -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)

View File

@ -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

View File

@ -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
View File

@ -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)

View File

@ -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}])

View File

@ -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

View File

@ -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

View File

@ -1,2 +0,0 @@
SMB_ENABLE(gensec_krb5, $HAVE_KRB5)
SMB_ENABLE(gensec_gssapi, $HAVE_KRB5)

View File

@ -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

View File

@ -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}])

View File

@ -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)))

View File

@ -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

View File

@ -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)))

View File

@ -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

View File

@ -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($@)])])

View File

@ -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($@)])])

View File

@ -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)

View File

@ -1 +0,0 @@
AC_PATH_PROG(XSLTPROC, xsltproc)

View File

@ -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])

View File

@ -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 ])

View File

@ -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)

View File

@ -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
])
])

View File

@ -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

View File

@ -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 $< $@

View File

@ -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"`

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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)))

View File

@ -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)

View File

@ -1,4 +0,0 @@
[SUBSYSTEM::CLUSTER]
PRIVATE_DEPENDENCIES = TDB_WRAP
CLUSTER_OBJ_FILES = $(addprefix $(clustersrcdir)/, cluster.o local.o)

1561
source4/config.guess vendored

File diff suppressed because it is too large Load Diff

1686
source4/config.sub vendored

File diff suppressed because it is too large Load Diff

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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\"

View File

@ -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

View File

@ -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])

View File

@ -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])])

View File

@ -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)
])

View File

@ -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
])

View File

@ -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])
])

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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\"

View File

@ -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

View File

@ -1 +0,0 @@
SMB_ENABLE(server_service_kdc, $HAVE_KRB5)

View File

@ -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
###################################

View File

@ -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)))

View File

@ -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)

View File

@ -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)))

View File

@ -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

View File

@ -1,5 +0,0 @@
[SUBSYSTEM::LIBEVENTS]
PUBLIC_DEPENDENCIES = LIBTEVENT
CFLAGS = -Ilib/events
LIBEVENTS_OBJ_FILES = $(addprefix $(libeventssrcdir)/, tevent_s4.o)

View File

@ -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