summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/Makefile33
-rw-r--r--source4/auth/auth.c6
-rw-r--r--source4/auth/config.mk6
-rw-r--r--source4/auth/credentials/config.mk2
-rw-r--r--source4/auth/gensec/config.mk2
-rw-r--r--source4/auth/gensec/gensec.c7
-rw-r--r--source4/build/m4/check_make.m429
-rw-r--r--source4/build/smb_build/README.txt4
-rwxr-xr-xsource4/build/smb_build/cflags.pm69
-rw-r--r--source4/build/smb_build/config_mk.pm4
-rw-r--r--source4/build/smb_build/env.pm57
-rw-r--r--source4/build/smb_build/header.pm92
-rw-r--r--source4/build/smb_build/main.pl34
-rw-r--r--source4/build/smb_build/makefile.pm319
-rw-r--r--source4/build/smb_build/output.pm43
-rw-r--r--source4/configure.ac9
-rw-r--r--source4/dsdb/config.mk6
-rw-r--r--source4/dsdb/samdb/ldb_modules/config.mk54
-rw-r--r--source4/dynconfig.mk3
-rw-r--r--source4/heimdal_build/config.mk694
-rw-r--r--source4/lib/charset/config.mk2
-rw-r--r--source4/lib/events/events.c6
-rw-r--r--source4/lib/ldb/common/ldb_modules.c13
-rw-r--r--source4/lib/ldb/config.mk14
-rw-r--r--source4/lib/ldb/include/ldb_private.h8
-rw-r--r--source4/lib/registry/interface.c1
-rw-r--r--source4/lib/registry/local.c1
-rw-r--r--source4/lib/tdr/config.mk2
-rw-r--r--source4/lib/util/config.mk8
-rw-r--r--source4/libcli/config.mk2
-rw-r--r--source4/libcli/ldap/config.mk4
-rw-r--r--source4/librpc/config.mk18
-rw-r--r--source4/nbt_server/config.mk2
-rw-r--r--source4/param/config.mk4
-rw-r--r--source4/rpc_server/config.mk4
-rw-r--r--source4/rules.mk79
-rwxr-xr-xsource4/script/cflags.pl42
-rwxr-xr-xsource4/script/mkproto.pl4
-rw-r--r--source4/scripting/ejs/smbcalls.c27
-rw-r--r--source4/scripting/python/config.mk4
-rw-r--r--source4/torture/config.mk2
41 files changed, 728 insertions, 992 deletions
diff --git a/source4/Makefile b/source4/Makefile
index 1fddfefce3..4bd5042f3c 100644
--- a/source4/Makefile
+++ b/source4/Makefile
@@ -19,15 +19,44 @@ BNLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
HOSTCC_FLAGS = -D_SAMBA_HOSTCC_ $(CFLAGS)
HOSTLD_FLAGS = $(LDFLAGS) $(SYS_LDFLAGS)
-default: all
+.DEFAULT_GOAL := all
+
+ifneq ($(automatic_deps),yes)
+ALL_PREDEP = proto
+.NOTPARALLEL:
+endif
include rules.mk
include data.mk
+include extra_cflags.txt
+
+DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \
+ include/includes.d
+
+ifeq ($(automatic_deps),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
DEFAULT_HEADERS = $(srcdir)/lib/util/dlinklist.h \
$(srcdir)/version.h
-binaries::
+binaries:: $(BIN_PROGS) $(SBIN_PROGS)
libraries:: $(STATIC_LIBS) $(SHARED_LIBS)
modules:: $(PLUGINS)
headers:: $(PUBLIC_HEADERS) $(DEFAULT_HEADERS)
diff --git a/source4/auth/auth.c b/source4/auth/auth.c
index ed590f2ced..4aecc8dfee 100644
--- a/source4/auth/auth.c
+++ b/source4/auth/auth.c
@@ -22,7 +22,6 @@
#include "lib/util/dlinklist.h"
#include "auth/auth.h"
#include "lib/events/events.h"
-#include "build.h"
#include "param/param.h"
/***************************************************************************
@@ -515,6 +514,11 @@ const struct auth_critical_sizes *auth_interface_version(void)
NTSTATUS auth_init(void)
{
static bool initialized = false;
+ extern NTSTATUS auth_developer_init(void);
+ extern NTSTATUS auth_winbind_init(void);
+ extern NTSTATUS auth_anonymous_init(void);
+ extern NTSTATUS auth_unix_init(void);
+ extern NTSTATUS auth_sam_init(void);
init_module_fn static_init[] = { STATIC_auth_MODULES };
diff --git a/source4/auth/config.mk b/source4/auth/config.mk
index 5b320bcf36..4263a10df7 100644
--- a/source4/auth/config.mk
+++ b/source4/auth/config.mk
@@ -7,12 +7,12 @@ mkinclude credentials/config.mk
[SUBSYSTEM::auth_session]
OBJ_FILES = session.o
PUBLIC_HEADERS = session.h
-PUBLIC_PROTO_HEADER = session_proto.h
+PRIVATE_PROTO_HEADER = session_proto.h
PUBLIC_DEPENDENCIES = CREDENTIALS
[SUBSYSTEM::auth_system_session]
OBJ_FILES = system_session.o
-PUBLIC_PROTO_HEADER = system_session_proto.h
+PRIVATE_PROTO_HEADER = system_session_proto.h
PUBLIC_DEPENDENCIES = CREDENTIALS
PRIVATE_DEPENDENCIES = auth_session LIBSAMBA-UTIL LIBSECURITY
@@ -82,7 +82,7 @@ OBJ_FILES = pam_errors.o
#VERSION = 0.0.1
#SO_VERSION = 0
PUBLIC_HEADERS = auth.h
-PUBLIC_PROTO_HEADER = auth_proto.h
+PRIVATE_PROTO_HEADER = auth_proto.h
OBJ_FILES = \
auth.o \
auth_util.o \
diff --git a/source4/auth/credentials/config.mk b/source4/auth/credentials/config.mk
index fee9519ae5..a81a5184f6 100644
--- a/source4/auth/credentials/config.mk
+++ b/source4/auth/credentials/config.mk
@@ -1,7 +1,7 @@
#################################
# Start SUBSYSTEM CREDENTIALS
[SUBSYSTEM::CREDENTIALS]
-PUBLIC_PROTO_HEADER = credentials_proto.h
+PRIVATE_PROTO_HEADER = credentials_proto.h
PUBLIC_HEADERS = credentials.h credentials_krb5.h
OBJ_FILES = credentials.o \
credentials_files.o \
diff --git a/source4/auth/gensec/config.mk b/source4/auth/gensec/config.mk
index 9aab2c704e..814ffbc1c0 100644
--- a/source4/auth/gensec/config.mk
+++ b/source4/auth/gensec/config.mk
@@ -5,7 +5,7 @@ PC_FILE = gensec.pc
VERSION = 0.0.1
SO_VERSION = 0
PUBLIC_HEADERS = gensec.h spnego.h
-PUBLIC_PROTO_HEADER = gensec_proto.h
+PRIVATE_PROTO_HEADER = gensec_proto.h
OBJ_FILES = gensec.o socket.o
PUBLIC_DEPENDENCIES = \
CREDENTIALS LIBSAMBA-UTIL LIBCRYPTO ASN1_UTIL samba-socket LIBPACKET
diff --git a/source4/auth/gensec/gensec.c b/source4/auth/gensec/gensec.c
index cd2066d9fd..b07a92d4d1 100644
--- a/source4/auth/gensec/gensec.c
+++ b/source4/auth/gensec/gensec.c
@@ -23,7 +23,6 @@
#include "includes.h"
#include "auth/auth.h"
#include "lib/events/events.h"
-#include "build.h"
#include "librpc/rpc/dcerpc.h"
#include "auth/credentials/credentials.h"
#include "auth/gensec/gensec.h"
@@ -1267,6 +1266,12 @@ static int sort_gensec(struct gensec_security_ops **gs1, struct gensec_security_
NTSTATUS gensec_init(struct loadparm_context *lp_ctx)
{
static bool initialized = false;
+ extern NTSTATUS gensec_sasl_init(void);
+ extern NTSTATUS gensec_krb5_init(void);
+ extern NTSTATUS gensec_schannel_init(void);
+ extern NTSTATUS gensec_spnego_init(void);
+ extern NTSTATUS gensec_gssapi_init(void);
+ extern NTSTATUS gensec_ntlmssp_init(void);
init_module_fn static_init[] = { STATIC_gensec_MODULES };
init_module_fn *shared_init;
diff --git a/source4/build/m4/check_make.m4 b/source4/build/m4/check_make.m4
index d7799649a7..f497684453 100644
--- a/source4/build/m4/check_make.m4
+++ b/source4/build/m4/check_make.m4
@@ -6,35 +6,26 @@ dnl Released under the GNU GPL
dnl -------------------------------------------------------
dnl
-AC_PATH_PROG(MAKE,make)
+AC_PATH_PROGS(MAKE,gmake make)
AC_CACHE_CHECK([whether we have GNU make], samba_cv_gnu_make, [
-if $ac_cv_path_MAKE --version | head -1 | grep GNU 2>/dev/null >/dev/null
+if ! $ac_cv_path_MAKE --version | head -1 | grep GNU 2>/dev/null >/dev/null
then
- samba_cv_gnu_make=yes
-else
- samba_cv_gnu_make=no
+ AC_MSG_ERROR([Unable to find GNU make])
fi
])
-GNU_MAKE=$samba_cv_gnu_make
-AC_SUBST(GNU_MAKE)
-
-if test "x$GNU_MAKE" = x"yes"; then
- AC_CACHE_CHECK([GNU make version], samba_cv_gnu_make_version,[
+AC_CACHE_CHECK([GNU make version], samba_cv_gnu_make_version,[
samba_cv_gnu_make_version=`$ac_cv_path_MAKE --version | head -1 | cut -d " " -f 3 2>/dev/null`
])
GNU_MAKE_VERSION=$samba_cv_gnu_make_version
AC_SUBST(GNU_MAKE_VERSION)
-fi
new_make=no
AC_MSG_CHECKING([for GNU make >= 3.81])
-if test x$GNU_MAKE = x"yes"; then
- if $PERL -e " \$_ = '$GNU_MAKE_VERSION'; s/@<:@^\d\.@:>@.*//g; exit (\$_ < 3.81);"; then
- new_make=yes
- fi
+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
@@ -46,11 +37,3 @@ AC_ARG_ENABLE(automatic-dependencies,
[ automatic_dependencies=no ])
AC_MSG_RESULT($automatic_dependencies)
AC_SUBST(automatic_dependencies)
-
-FIRST_PREREQ="\$*.c"
-AC_SUBST(FIRST_PREREQ)
-
-if test x$GNU_MAKE = xyes; then
- FIRST_PREREQ="\$<"
-fi
-
diff --git a/source4/build/smb_build/README.txt b/source4/build/smb_build/README.txt
index a5e4db99e0..5974db998f 100644
--- a/source4/build/smb_build/README.txt
+++ b/source4/build/smb_build/README.txt
@@ -29,7 +29,7 @@ EXT_LIB:
BINARY:
a BINARY means a executable binary file.
(e.g. 'smbtorture' or 'ldbedit')
- a BINARY typicly has only commandline handling and basic
+ a BINARY typically has only commandline handling and basic
functionality code in it and depends on the functions of
SUBSYSTEM's (REQUIRED_SUBSYSTEMS).
@@ -50,8 +50,6 @@ input.pm - Input validation
main.pm - Main
makefile.pm - Makefile generation
output.pm - Dependency calculation
-header.pm - build.h generation
-cflags.pm - Generates cflags.txt for file-specific cflags
Layout
-------
diff --git a/source4/build/smb_build/cflags.pm b/source4/build/smb_build/cflags.pm
deleted file mode 100755
index a4ab90a8cd..0000000000
--- a/source4/build/smb_build/cflags.pm
+++ /dev/null
@@ -1,69 +0,0 @@
-# SMB Build System
-#
-# Copyright (C) Jelmer Vernooij 2006
-# Released under the GNU GPL
-
-package cflags;
-use strict;
-
-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 create_cflags($$$$) {
- my $CTX = shift;
- my $srcdir = shift;
- my $builddir = shift;
- my $file = shift;
-
- open(CFLAGS_TXT,">$file") || die ("Can't open `$file'\n");
-
- print CFLAGS_TXT "include mkconfig.mk\n";
-
- my $src_ne_build = ($srcdir ne $builddir) ? 1 : 0;
-
- foreach my $key (values %{$CTX}) {
- next unless defined ($key->{OBJ_LIST});
- next unless defined ($key->{FINAL_CFLAGS});
- next 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;
- $dir =~ s#^\$\((?:src|build)dir\)/?##;
- push(@cflags, "-I$builddir/$dir", "-I$srcdir/$dir");
- next;
- }
- }
- push(@cflags, $flag);
- }
-
- my $cflags = join(' ', @cflags);
-
- foreach (@{$key->{OBJ_LIST}}) {
- my $ofile = $_;
- my $dfile = $_;
- $dfile =~ s/\.o$/.d/;
- $dfile =~ s/\.ho$/.d/;
- print CFLAGS_TXT "$ofile $dfile: CFLAGS+= $cflags\n";
- }
- }
- close(CFLAGS_TXT);
-
- print __FILE__.": creating $file\n";
-}
-1;
diff --git a/source4/build/smb_build/config_mk.pm b/source4/build/smb_build/config_mk.pm
index 4d8db8a04e..bb8a5f9650 100644
--- a/source4/build/smb_build/config_mk.pm
+++ b/source4/build/smb_build/config_mk.pm
@@ -38,7 +38,6 @@ my $section_types = {
"MANPAGE" => "string",
- "PUBLIC_PROTO_HEADER" => "string",
"PRIVATE_PROTO_HEADER" => "string",
"PUBLIC_HEADERS" => "list",
@@ -106,7 +105,6 @@ my $section_types = {
"PUBLIC_HEADERS" => "list",
- "PUBLIC_PROTO_HEADER" => "string",
"PRIVATE_PROTO_HEADER" => "string",
"CFLAGS" => "list",
@@ -245,6 +243,7 @@ sub run_config_mk($$$$)
$subdir =~ s/^\.$//g;
$subdir =~ s/^\.\///g;
$subdir .= "/" if ($subdir ne "");
+ $makefile .= "basedir := $subdir\n";
$makefile .= run_config_mk($input, $srcdir, $builddir, $subdir.$subfile);
next;
}
@@ -263,7 +262,6 @@ sub run_config_mk($$$$)
$infragment = 1;
next;
}
-
# Assignment
if ($line =~ /^([a-zA-Z0-9_]+)[\t ]*=(.*)$/) {
diff --git a/source4/build/smb_build/env.pm b/source4/build/smb_build/env.pm
deleted file mode 100644
index 76cd8d1a26..0000000000
--- a/source4/build/smb_build/env.pm
+++ /dev/null
@@ -1,57 +0,0 @@
-# Environment class
-#
-# Samba Build Environment
-#
-# (C) 2005 Jelmer Vernooij <jelmer@samba.org>
-#
-# Published under the GNU GPL
-
-package smb_build::env;
-use smb_build::input;
-use File::Path;
-use File::Basename;
-
-use strict;
-
-sub new($$)
-{
- my ($name, $config) = @_;
- my $self = { };
- bless $self, $name;
-
- $self->{items} = {};
- $self->{info} = {};
-
- $self->_set_config($config);
-
- 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};
- }
-
- $self->{developer} = ($self->{config}->{developer} eq "yes");
- $self->{gnu_make} = ($self->{config}->{GNU_MAKE} eq "yes");
- $self->{automatic_deps} = ($self->{config}->{automatic_dependencies} eq "yes");
-}
-
-1;
diff --git a/source4/build/smb_build/header.pm b/source4/build/smb_build/header.pm
deleted file mode 100644
index c2bdbaf4c8..0000000000
--- a/source4/build/smb_build/header.pm
+++ /dev/null
@@ -1,92 +0,0 @@
-# SMB Build System
-# - create output for build.h
-#
-# Copyright (C) Stefan (metze) Metzmacher 2004
-# Copyright (C) Jelmer Vernooij 2005
-# Released under the GNU GPL
-
-package header;
-use strict;
-
-sub _add_define_section($)
-{
- my $DEFINE = shift;
- my $output = "";
-
- $output .= "
-/* $DEFINE->{COMMENT} */
-#define $DEFINE->{KEY} $DEFINE->{VAL}
-";
-
- return $output;
-}
-
-sub _prepare_build_h($)
-{
- my $depend = shift;
- my @defines = ();
- my $output = "";
-
- foreach my $key (values %$depend) {
- my $DEFINE = ();
- next if ($key->{TYPE} ne "LIBRARY" and
- $key->{TYPE} ne "MODULE" and
- $key->{TYPE} ne "SUBSYSTEM" and
- $key->{TYPE} ne "BINARY");
- next unless defined($key->{INIT_FUNCTIONS});
-
- my $name = $key->{NAME};
- $name =~ s/-/_/g;
- $DEFINE->{COMMENT} = "$key->{TYPE} $key->{NAME} INIT";
- $DEFINE->{KEY} = "STATIC_$name\_MODULES";
- $DEFINE->{VAL} = "\\\n";
- foreach (@{$key->{INIT_FUNCTIONS}}) {
- $DEFINE->{VAL} .= "\t$_, \\\n";
- unless (/{/) {
- my $fn = $key->{INIT_FUNCTION_TYPE};
- my $n = $_;
- if ($fn =~ /\(\*\)/) {
- $fn =~ s/\(\*\)/$n/;
- $output .= "$fn;\n";
- } else {
- $n =~ s/\&//;
- $output .= "$fn $n;\n";
- }
- }
- }
-
- $DEFINE->{VAL} .= "\t$key->{INIT_FUNCTION_SENTINEL} \n";
-
- push(@defines,$DEFINE);
- }
-
- #
- # loop over all BUILD_H define sections
- #
- foreach (@defines) { $output .= _add_define_section($_); }
-
- return $output;
-}
-
-###########################################################
-# This function creates include/build.h from the SMB_BUILD
-# context
-#
-# create_build_h($SMB_BUILD_CTX)
-#
-# $SMB_BUILD_CTX - the global SMB_BUILD context
-#
-# $output - the resulting output buffer
-sub create_smb_build_h($$)
-{
- my ($CTX, $file) = @_;
-
- open(BUILD_H,">$file") || die ("Can't open `$file'\n");
- print BUILD_H "/* autogenerated by build/smb_build/main.pl */\n";
- print BUILD_H _prepare_build_h($CTX);
- close(BUILD_H);
-
- print __FILE__.": creating $file\n";
-}
-
-1;
diff --git a/source4/build/smb_build/main.pl b/source4/build/smb_build/main.pl
index 3ed0327d6d..73055eb87f 100644
--- a/source4/build/smb_build/main.pl
+++ b/source4/build/smb_build/main.pl
@@ -6,12 +6,9 @@
# Released under the GNU GPL
use smb_build::makefile;
-use smb_build::header;
use smb_build::input;
use smb_build::config_mk;
use smb_build::output;
-use smb_build::env;
-use smb_build::cflags;
use smb_build::summary;
use smb_build::config;
use strict;
@@ -53,10 +50,10 @@ foreach my $key (values %$OUTPUT) {
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->StaticLibrary($key) if grep(/STATIC_LIBRARY/, @{$key->{OUTPUT_TYPE}});
if (defined($key->{PC_FILE})) {
- push(@{$mkenv->{pc_files}}, "$key->{BASEDIR}/$key->{PC_FILE}");
+ $mkenv->output("PC_FILES += $key->{BASEDIR}/$key->{PC_FILE}\n");
}
$mkenv->SharedLibraryPrimitives($key) if ($key->{TYPE} eq "LIBRARY") and
grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}});
@@ -70,34 +67,35 @@ foreach my $key (values %$OUTPUT) {
$mkenv->PythonFiles($key) if defined($key->{PYTHON_FILES});
$mkenv->Manpage($key) if defined($key->{MANPAGE});
$mkenv->Header($key) if defined($key->{PUBLIC_HEADERS});
- $mkenv->ProtoHeader($key) if defined($key->{PRIVATE_PROTO_HEADER}) or
- defined($key->{PUBLIC_PROTO_HEADER});
+ 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" or
$key->{TYPE} eq "PYTHON") and
grep(/SHARED_LIBRARY/, @{$key->{OUTPUT_TYPE}});
$mkenv->Binary($key) if grep(/BINARY/, @{$key->{OUTPUT_TYPE}});
+ $mkenv->ProtoHeader($key) if defined($key->{PRIVATE_PROTO_HEADER}) or
+ defined($key->{PUBLIC_PROTO_HEADER});
+ $mkenv->InitFunctions($key) if defined($key->{INIT_FUNCTIONS});
}
$mkenv->write("data.mk");
-header::create_smb_build_h($OUTPUT, "include/build.h");
-
-cflags::create_cflags($OUTPUT, $config::config{srcdir},
- $config::config{builddir}, "extra_cflags.txt");
summary::show($OUTPUT, \%config::config);
-if ($shared_libs_used) {
- print <<EOF;
-To run binaries without installing, set the following environment variable:
- $config::config{LIB_PATH_VAR}=$config::config{builddir}/bin/shared
-EOF
-}
-
1;
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index 17474db00e..13c28de697 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -6,32 +6,21 @@
# Released under the GNU GPL
package smb_build::makefile;
-use smb_build::env;
use smb_build::output;
use File::Basename;
use strict;
-use base 'smb_build::env';
use Cwd 'abs_path';
sub new($$$)
{
my ($myname, $config, $mkfile) = @_;
- my $self = new smb_build::env($config);
-
+ my $self = {};
+
bless($self, $myname);
- $self->{manpages} = [];
- $self->{sbin_progs} = [];
- $self->{bin_progs} = [];
- $self->{static_libs} = [];
- $self->{python_dsos} = [];
- $self->{python_pys} = [];
- $self->{shared_libs} = [];
- $self->{headers} = [];
- $self->{plugins} = [];
- $self->{pc_files} = [];
- $self->{proto_headers} = [];
+ $self->_set_config($config);
+
$self->{output} = "";
$self->{mkfile} = $mkfile;
@@ -41,12 +30,30 @@ sub new($$$)
$self->output("################################################\n");
$self->output("\n");
- if (!$self->{automatic_deps}) {
- $self->output("ALL_PREDEP = proto\n");
- $self->output(".NOTPARALLEL:\n");
+ return $self;
+}
+
+sub _set_config($$)
+{
+ my ($self, $config) = @_;
+
+ $self->{config} = $config;
+
+ if (not defined($self->{config}->{srcdir})) {
+ $self->{config}->{srcdir} = '.';
}
- return $self;
+ 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($$)
@@ -66,23 +73,17 @@ sub _prepare_mk_files($)
push (@tmp, $_);
}
- if ($self->{gnu_make}) {
- $self->output("
+ $self->output("
ifneq (\$(MAKECMDGOALS),clean)
ifneq (\$(MAKECMDGOALS),distclean)
ifneq (\$(MAKECMDGOALS),realdistclean)
");
- }
-
$self->output("MK_FILES = " . array2oneperline(\@tmp) . "\n");
-
- if ($self->{gnu_make}) {
- $self->output("
+ $self->output("
endif
endif
endif
");
- }
}
sub array2oneperline($)
@@ -123,23 +124,19 @@ sub SharedModule($$)
{
my ($self,$ctx) = @_;
- my $init_obj = "";
-
my $sane_subsystem = lc($ctx->{SUBSYSTEM});
$sane_subsystem =~ s/^lib//;
if ($ctx->{TYPE} eq "PYTHON") {
- push (@{$self->{python_dsos}},
- "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}");
+ $self->output("PYTHON_DSOS += $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
} else {
- push (@{$self->{plugins}}, "$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}");
+ $self->output("PLUGINS += $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
$self->output("installplugins:: $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}\n");
$self->output("\t\@echo Installing $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME} as \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
$self->output("\t\@mkdir -p \$(DESTDIR)\$(modulesdir)/$sane_subsystem/\n");
$self->output("\t\@cp $ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME} \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$ctx->{LIBRARY_REALNAME}\n");
if (defined($ctx->{ALIASES})) {
foreach (@{$ctx->{ALIASES}}) {
- $self->output("\t\@rm -f \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$_.\$(SHLIBEXT)\n");
$self->output("\t\@ln -fs $ctx->{LIBRARY_REALNAME} \$(DESTDIR)\$(modulesdir)/$sane_subsystem/$_.\$(SHLIBEXT)\n");
}
}
@@ -160,43 +157,24 @@ sub SharedModule($$)
$self->_prepare_list($ctx, "DEPEND_LIST");
$self->_prepare_list($ctx, "LINK_FLAGS");
- if (defined($ctx->{INIT_FUNCTION}) and $ctx->{TYPE} ne "PYTHON" and
+ if (defined($ctx->{INIT_FUNCTION}) and $ctx->{TYPE} ne "PYTHON" and
$ctx->{INIT_FUNCTION_TYPE} =~ /\(\*\)/) {
- my $init_fn = $ctx->{INIT_FUNCTION_TYPE};
- $init_fn =~ s/\(\*\)/init_module/;
- my $proto_fn = $ctx->{INIT_FUNCTION_TYPE};
- $proto_fn =~ s/\(\*\)/$ctx->{INIT_FUNCTION}/;
-
- $self->output(<< "__EOD__"
-bin/$ctx->{NAME}_init_module.c:
- \@echo Creating \$\@
- \@echo \"#include \\\"includes.h\\\"\" > \$\@
- \@echo \"$proto_fn;\" >> \$\@
- \@echo \"_PUBLIC_ $init_fn\" >> \$\@
- \@echo \"{\" >> \$\@
- \@echo \" return $ctx->{INIT_FUNCTION}();\" >> \$\@
- \@echo \"}\" >> \$\@
- \@echo \"\" >> \$\@
-__EOD__
-);
- $init_obj = "bin/$ctx->{NAME}_init_module.o";
+ $self->output("\$($ctx->{NAME}_OBJ_LIST): CFLAGS+=-D$ctx->{INIT_FUNCTION}=init_module\n");
}
$self->output(<< "__EOD__"
-#
-$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}: \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST) $init_obj
+$ctx->{SHAREDDIR}/$ctx->{LIBRARY_REALNAME}: \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST)
\@echo Linking \$\@
- \@mkdir -p $ctx->{SHAREDDIR}
+ \@mkdir -p \$(\@D)
\@\$(MDLD) \$(LDFLAGS) \$(MDLD_FLAGS) \$(INTERN_LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
- \$($ctx->{NAME}\_FULL_OBJ_LIST) $init_obj \\
+ \$($ctx->{NAME}\_FULL_OBJ_LIST) \\
\$($ctx->{NAME}_LINK_FLAGS)
__EOD__
);
if (defined($ctx->{ALIASES})) {
foreach (@{$ctx->{ALIASES}}) {
- $self->output("\t\@rm -f $ctx->{SHAREDDIR}/$_.\$(SHLIBEXT)\n");
$self->output("\t\@ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$_.\$(SHLIBEXT)\n");
}
}
@@ -220,36 +198,27 @@ sub SharedLibrary($$)
{
my ($self,$ctx) = @_;
- push (@{$self->{shared_libs}}, $ctx->{RESULT_SHARED_LIBRARY}) if (defined($ctx->{SO_VERSION}));
+ $self->output("SHARED_LIBS += $ctx->{RESULT_SHARED_LIBRARY}\n") if (defined($ctx->{SO_VERSION}));
$self->_prepare_list($ctx, "DEPEND_LIST");
$self->_prepare_list($ctx, "LINK_FLAGS");
- my $soarg = "";
- my $lns = "";
- if ($self->{config}->{SONAMEFLAG} ne "#" and defined($ctx->{LIBRARY_SONAME})) {
- $soarg = "$self->{config}->{SONAMEFLAG}$ctx->{LIBRARY_SONAME}";
- if ($ctx->{LIBRARY_REALNAME} ne $ctx->{LIBRARY_SONAME}) {
- $lns .= "\n\t\@test \$($ctx->{NAME}_VERSION) = \$($ctx->{NAME}_SOVERSION) || ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_SONAME}";
- }
- }
-
- if (defined($ctx->{LIBRARY_SONAME})) {
- $lns .= "\n\t\@ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_DEBUGNAME}";
- }
-
$self->output(<< "__EOD__"
-#
$ctx->{RESULT_SHARED_LIBRARY}: \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST)
\@echo Linking \$\@
- \@mkdir -p $ctx->{SHAREDDIR}
+ \@mkdir -p \$(\@D)
\@\$(SHLD) \$(LDFLAGS) \$(SHLD_FLAGS) \$(INTERN_LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
\$($ctx->{NAME}\_FULL_OBJ_LIST) \\
\$($ctx->{NAME}_LINK_FLAGS) \\
- $soarg$lns
+ \$(if \$(SONAMEFLAG), \$(SONAMEFLAG)$ctx->{LIBRARY_SONAME})
+ifneq ($ctx->{LIBRARY_REALNAME}, $ctx->{LIBRARY_SONAME})
+ \@test \$($ctx->{NAME}_VERSION) = \$($ctx->{NAME}_SOVERSION) || ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_SONAME}
+endif
+ifdef $ctx->{NAME}_SOVERSION
+ \@ln -fs $ctx->{LIBRARY_REALNAME} $ctx->{SHAREDDIR}/$ctx->{LIBRARY_DEBUGNAME}
+endif
__EOD__
);
- $self->output("\n");
}
sub MergedObj($$)
@@ -259,87 +228,65 @@ sub MergedObj($$)
return unless defined($ctx->{OUTPUT});
$self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
- $self->output(<< "__EOD__"
-#
-$ctx->{RESULT_MERGED_OBJ}: \$($ctx->{NAME}_OBJ_LIST)
- \@echo Partially linking \$@
- \@mkdir -p bin/mergedobj
- \$(PARTLINK) -o \$@ \$($ctx->{NAME}_OBJ_LIST)
-
-__EOD__
-);
+ $self->output("\$(call partial_link_template, \$($ctx->{NAME}_OUTPUT), \$($ctx->{NAME}_OBJ_LIST))\n");
}
-sub StaticLibrary($$)
+sub StaticLibraryPrimitives($$)
{
my ($self,$ctx) = @_;
return unless (defined($ctx->{OBJ_FILES}));
- push (@{$self->{static_libs}}, $ctx->{RESULT_STATIC_LIBRARY}) if ($ctx->{TYPE} eq "LIBRARY");
-
$self->output("$ctx->{NAME}_OUTPUT = $ctx->{OUTPUT}\n");
$self->_prepare_list($ctx, "FULL_OBJ_LIST");
+}
- $self->output(<< "__EOD__"
-#
-$ctx->{RESULT_STATIC_LIBRARY}: \$($ctx->{NAME}_FULL_OBJ_LIST)
- \@echo Linking \$@
- \@rm -f \$@
- \@mkdir -p $ctx->{STATICDIR}
- \@\$(STLD) \$(STLD_FLAGS) \$@ \$($ctx->{NAME}_FULL_OBJ_LIST)
+sub InitFunctions($$)
+{
+ my ($self, $ctx) = @_;
+ $self->output("\$($ctx->{NAME}_OBJ_LIST): CFLAGS+=-DSTATIC_$ctx->{NAME}_MODULES=\"\$($ctx->{NAME}_INIT_FUNCTIONS)$ctx->{INIT_FUNCTION_SENTINEL}\"\n");
+}
-__EOD__
-);
+sub StaticLibrary($$)
+{
+ my ($self,$ctx) = @_;
+
+ return unless (defined($ctx->{OBJ_FILES}));
+
+ $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 Header($$)
{
my ($self,$ctx) = @_;
- foreach (@{$ctx->{PUBLIC_HEADERS}}) {
- push (@{$self->{headers}}, output::add_dir_str($ctx->{BASEDIR}, $_));
- }
+ return if ($#{$ctx->{PUBLIC_HEADERS}} == -1);
+
+ $self->output("PUBLIC_HEADERS += \$(addprefix $ctx->{BASEDIR}/, " . join(" ", @{$ctx->{PUBLIC_HEADERS}}) . ")\n");
}
sub Binary($$)
{
my ($self,$ctx) = @_;
- my $extradir = "";
-
unless (defined($ctx->{INSTALLDIR})) {
+ $self->output("binaries:: $ctx->{TARGET_BINARY}\n");
} elsif ($ctx->{INSTALLDIR} eq "SBINDIR") {
- push (@{$self->{sbin_progs}}, $ctx->{RESULT_BINARY});
+ $self->output("SBIN_PROGS += $ctx->{RESULT_BINARY}\n");
} elsif ($ctx->{INSTALLDIR} eq "BINDIR") {
- push (@{$self->{bin_progs}}, $ctx->{RESULT_BINARY});
+ $self->output("BIN_PROGS += $ctx->{RESULT_BINARY}\n");
}
- $self->output("binaries:: $ctx->{TARGET_BINARY}\n");
-
$self->_prepare_list($ctx, "FULL_OBJ_LIST");
$self->_prepare_list($ctx, "DEPEND_LIST");
$self->_prepare_list($ctx, "LINK_FLAGS");
-$self->output(<< "__EOD__"
-$ctx->{RESULT_BINARY}: \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST)
- \@echo Linking \$\@
-__EOD__
- );
-
if (defined($ctx->{USE_HOSTCC}) && $ctx->{USE_HOSTCC} eq "YES") {
- $self->output(<< "__EOD__"
- \@\$(HOSTLD) \$(HOSTLD_FLAGS) -L\${builddir}/bin/static -o \$\@ \$(INSTALL_LINK_FLAGS) \\
- \$\($ctx->{NAME}_LINK_FLAGS)
-__EOD__
- );
+$self->output("\$(call host_binary_link_template, $ctx->{RESULT_BINARY}, \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST), \$($ctx->{NAME}_LINK_FLAGS))\n");
} else {
- $self->output(<< "__EOD__"
- \@\$(BNLD) \$(BNLD_FLAGS) \$(INTERN_LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\
- \$\($ctx->{NAME}_LINK_FLAGS)
-
-__EOD__
- );
+$self->output("\$(call binary_link_template, $ctx->{RESULT_BINARY}, \$($ctx->{NAME}_DEPEND_LIST) \$($ctx->{NAME}_FULL_OBJ_LIST), \$($ctx->{NAME}_LINK_FLAGS))\n");
}
}
@@ -349,11 +296,8 @@ sub PythonFiles($$)
foreach (@{$ctx->{PYTHON_FILES}}) {
my $target = "bin/python/".basename($_);
- my $source = output::add_dir_str($ctx->{BASEDIR}, $_);
- $self->output("$target: $source\n" .
- "\tmkdir -p \$(builddir)/bin/python\n" .
- "\tcp $source \$@\n\n");
- push (@{$self->{python_pys}}, $target);
+ $self->output("$target: \$(addprefix $ctx->{BASEDIR}/, $_)\n\n");
+ $self->output("PYTHON_PYS += $target\n");
}
}
@@ -361,92 +305,27 @@ sub Manpage($$)
{
my ($self,$ctx) = @_;
- my $path = output::add_dir_str($ctx->{BASEDIR}, $ctx->{MANPAGE});
- push (@{$self->{manpages}}, $path);
+ $self->output("MANPAGES += \$(addprefix $ctx->{BASEDIR}/, $ctx->{MANPAGE})\n");
}
sub ProtoHeader($$)
{
my ($self,$ctx) = @_;
- my $target = "";
- my $comment = "Creating ";
+ my $target = "\$(addprefix $ctx->{BASEDIR}/, $ctx->{PRIVATE_PROTO_HEADER})";
+ $self->output("PROTO_HEADERS += $target\n");
- my $priv = undef;
- my $pub = undef;
-
- if (defined($ctx->{PRIVATE_PROTO_HEADER})) {
- $priv = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PRIVATE_PROTO_HEADER});
- $target .= $priv;
- $comment .= $priv;
- if (defined($ctx->{PUBLIC_PROTO_HEADER})) {
- $comment .= " and ";
- $target.= " ";
- }
- push (@{$self->{proto_headers}}, $priv);
- } else {
- $ctx->{PRIVATE_PROTO_HEADER} = $ctx->{PUBLIC_PROTO_HEADER};
- $priv = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PRIVATE_PROTO_HEADER});
- }
-
- if (defined($ctx->{PUBLIC_PROTO_HEADER})) {
- $pub = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PUBLIC_PROTO_HEADER});
- $comment .= $pub;
- $target .= $pub;
- push (@{$self->{proto_headers}}, $pub);
- } else {
- $ctx->{PUBLIC_PROTO_HEADER} = $ctx->{PRIVATE_PROTO_HEADER};
- $pub = output::add_dir_str($ctx->{BASEDIR}, $ctx->{PUBLIC_PROTO_HEADER});
- }
-
- $self->output("$pub: $ctx->{MK_FILE} \$($ctx->{NAME}_OBJ_LIST:.o=.c) \$(srcdir)/script/mkproto.pl\n");
- $self->output("\t\@echo \"$comment\"\n");
- $self->output("\t\@\$(PERL) \$(srcdir)/script/mkproto.pl --srcdir=\$(srcdir) --builddir=\$(builddir) --private=$priv --public=$pub \$($ctx->{NAME}_OBJ_LIST)\n\n");
+ $self->output("\$(call proto_header_template, $target, \$($ctx->{NAME}_OBJ_LIST:.o=.c))\n");
}
sub write($$)
{
my ($self, $file) = @_;
- $self->output("MANPAGES = " . array2oneperline($self->{manpages})."\n");
- $self->output("BIN_PROGS = " . array2oneperline($self->{bin_progs}) . "\n");
- $self->output("SBIN_PROGS = " . array2oneperline($self->{sbin_progs}) . "\n");
- $self->output("STATIC_LIBS = " . array2oneperline($self->{static_libs}) . "\n");
- $self->output("SHARED_LIBS = " . array2oneperline($self->{shared_libs}) . "\n");
- $self->output("PYTHON_DSOS = " . array2oneperline($self->{python_dsos}) . "\n");
- $self->output("PYTHON_PYS = " . array2oneperline($self->{python_pys}) . "\n");
- $self->output("PUBLIC_HEADERS = " . array2oneperline($self->{headers}) . "\n");
- $self->output("PC_FILES = " . array2oneperline($self->{pc_files}) . "\n");
- $self->output("ALL_OBJS = " . array2oneperline($self->{all_objs}) . "\n");
- $self->output("PROTO_HEADERS = " . array2oneperline($self->{proto_headers}) . "\n");
- $self->output("PLUGINS = " . array2oneperline($self->{plugins}) . "\n");
-
$self->_prepare_mk_files();
$self->output($self->{mkfile});
- if ($self->{automatic_deps}) {
- $self->output("
-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 {
- $self->output("include \$(srcdir)/static_deps.mk\n");
- }
-
open(MAKEFILE,">$file") || die ("Can't open $file\n");
print MAKEFILE $self->{output};
close(MAKEFILE);
@@ -454,4 +333,52 @@ endif
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->{OBJ_LIST});
+ 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;
+ $dir =~ s#^\$\((?:src|build)dir\)/?##;
+ push(@cflags, "-I$builddir/$dir", "-I$srcdir/$dir");
+ next;
+ }
+ }
+ push(@cflags, $flag);
+ }
+
+ my $cflags = join(' ', @cflags);
+
+ my $ext = "o";
+ $self->output("\$($key->{NAME}_OBJ_LIST) \$(patsubst %.ho,%.d,\$($key->{NAME}_OBJ_LIST:.o=.d)): CFLAGS+=$cflags\n");
+}
+
1;
diff --git a/source4/build/smb_build/output.pm b/source4/build/smb_build/output.pm
index ff9afe8e8c..eec438b108 100644
--- a/source4/build/smb_build/output.pm
+++ b/source4/build/smb_build/output.pm
@@ -9,38 +9,6 @@ package output;
use strict;
use smb_build::config;
-sub add_dir_str($$)
-{
- my ($dir,$file) = @_;
- my $dirsep = "/";
-
- $dir =~ s/^\.$//g;
- $dir =~ s/^\.\///g;
-
- $dirsep = "" if ($dir eq "");
-
- my $ret = $file;
- if (substr($ret, 0, 1) ne "\$") {
- $ret = "$dir$dirsep$file";
- $ret =~ s/([^\/\.]+)\/\.\.\///g;
- $ret =~ s/([^\/\.]+)\/\.\.\///g;
- }
-
- return $ret;
-}
-
-sub add_dir_array($$)
-{
- my ($dir,$files) = @_;
- my @ret = ();
-
- foreach (@{$files}) {
- push (@ret, add_dir_str($dir, $_));
- }
-
- return @ret;
-}
-
sub generate_shared_library($)
{
my $lib = shift;
@@ -168,8 +136,15 @@ sub create_output($$)
next unless(defined($part->{OUTPUT_TYPE}));
# Combine object lists
- my @list = add_dir_array($part->{BASEDIR}, $part->{OBJ_FILES});
- push(@{$part->{OBJ_LIST}}, @list) if defined($part->{OBJ_FILES});
+ if (defined($part->{OBJ_FILES})) {
+ my $list;
+
+ $list = join(" ", @{$part->{OBJ_FILES}});
+ unless ($list =~ /^\.\//) {
+ $list = "\$(addprefix $part->{BASEDIR}/, $list)"
+ }
+ push(@{$part->{OBJ_LIST}}, $list);
+ }
generate_binary($part) if grep(/BINARY/, @{$part->{OUTPUT_TYPE}});
generate_shared_library($part) if grep(/SHARED_LIBRARY/, @{$part->{OUTPUT_TYPE}});
diff --git a/source4/configure.ac b/source4/configure.ac
index b609b4f52c..66556ad641 100644
--- a/source4/configure.ac
+++ b/source4/configure.ac
@@ -226,3 +226,12 @@ AC_FOREACH([AC_Var], m4_defn([_AC_SUBST_VARS]), [
AC_Var = $AC_Var])
$MAKE_SETTINGS
CEOF
+
+if test $USESHARED = true
+then
+ echo "To run binaries without installing, set the following environment variable:"
+ echo "$ac_cv_LIB_PATH_VAR=$builddir/bin/shared"
+fi
+
+echo
+echo "To build Samba, run $ac_cv_path_MAKE"
diff --git a/source4/dsdb/config.mk b/source4/dsdb/config.mk
index 17752fbbbd..bd5d92c652 100644
--- a/source4/dsdb/config.mk
+++ b/source4/dsdb/config.mk
@@ -5,7 +5,7 @@ mkinclude samdb/ldb_modules/config.mk
################################################
# Start SUBSYSTEM SAMDB
[SUBSYSTEM::SAMDB]
-PUBLIC_PROTO_HEADER = samdb/samdb_proto.h
+PRIVATE_PROTO_HEADER = samdb/samdb_proto.h
PUBLIC_HEADERS = samdb/samdb.h
PUBLIC_DEPENDENCIES = HEIMDAL_KRB5
PRIVATE_DEPENDENCIES = LIBNDR NDR_MISC NDR_DRSUAPI NDR_DRSBLOBS NSS_WRAPPER \
@@ -18,7 +18,7 @@ OBJ_FILES = \
repl/replicated_objects.o
[SUBSYSTEM::SAMDB_COMMON]
-PUBLIC_PROTO_HEADER = common/proto.h
+PRIVATE_PROTO_HEADER = common/proto.h
PRIVATE_DEPENDENCIES = LIBLDB
OBJ_FILES = \
common/sidmap.o \
@@ -26,7 +26,7 @@ OBJ_FILES = \
common/util.o
[SUBSYSTEM::SAMDB_SCHEMA]
-PUBLIC_PROTO_HEADER = schema/proto.h
+PRIVATE_PROTO_HEADER = schema/proto.h
PUBLIC_HEADERS = schema/schema.h
PRIVATE_DEPENDENCIES = SAMDB_COMMON NDR_DRSUAPI NDR_DRSBLOBS
OBJ_FILES = \
diff --git a/source4/dsdb/samdb/ldb_modules/config.mk b/source4/dsdb/samdb/ldb_modules/config.mk
index de93b5638d..62fbe75c80 100644
--- a/source4/dsdb/samdb/ldb_modules/config.mk
+++ b/source4/dsdb/samdb/ldb_modules/config.mk
@@ -4,7 +4,7 @@
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR NDR_MISC
-INIT_FUNCTION = objectguid_module_module_ops
+INIT_FUNCTION = LDB_MODULE(objectguid)
OBJ_FILES = \
objectguid.o
# End MODULE ldb_objectguid
@@ -17,7 +17,7 @@ SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC LIBNDR NDR_MISC NDR_DRSUAPI \
NDR_DRSBLOBS LIBNDR
-INIT_FUNCTION = repl_meta_data_module_module_ops
+INIT_FUNCTION = LDB_MODULE(repl_meta_data)
OBJ_FILES = \
repl_meta_data.o
# End MODULE ldb_repl_meta_data
@@ -29,7 +29,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
-INIT_FUNCTION = dsdb_cache_module_module_ops
+INIT_FUNCTION = LDB_MODULE(dsdb_cache)
OBJ_FILES = \
dsdb_cache.o
# End MODULE ldb_dsdb_cache
@@ -41,7 +41,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
-INIT_FUNCTION = schema_fsmo_module_module_ops
+INIT_FUNCTION = LDB_MODULE(schema_fsmo)
OBJ_FILES = \
schema_fsmo.o
# End MODULE ldb_schema_fsmo
@@ -53,7 +53,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
-INIT_FUNCTION = naming_fsmo_module_module_ops
+INIT_FUNCTION = LDB_MODULE(naming_fsmo)
OBJ_FILES = \
naming_fsmo.o
# End MODULE ldb_naming_fsmo
@@ -65,7 +65,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC
-INIT_FUNCTION = pdc_fsmo_module_module_ops
+INIT_FUNCTION = LDB_MODULE(pdc_fsmo)
OBJ_FILES = \
pdc_fsmo.o
# End MODULE ldb_pdc_fsmo
@@ -77,7 +77,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC LDAP_ENCODE NDR_MISC SAMDB
-INIT_FUNCTION = samldb_module_module_ops
+INIT_FUNCTION = LDB_MODULE(samldb)
OBJ_FILES = \
samldb.o
#
@@ -89,7 +89,7 @@ OBJ_FILES = \
[MODULE::ldb_samba3sam]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = &ldb_samba3sam_module_module_ops
+INIT_FUNCTION = LDB_MODULE(samba3sam)
PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map SMBPASSWD NSS_WRAPPER LIBSECURITY \
NDR_SECURITY
OBJ_FILES = \
@@ -103,7 +103,7 @@ OBJ_FILES = \
[MODULE::ldb_simple_ldap_map]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = &ldb_simple_ldap_map_module_module_ops
+INIT_FUNCTION = LDB_MODULE(simple_ldap_map)
PRIVATE_DEPENDENCIES = LIBTALLOC ldb_map LIBNDR NDR_MISC
ENABLE = YES
ALIASES = entryuuid nsuniqueid
@@ -117,7 +117,7 @@ OBJ_FILES = \
# # Start MODULE ldb_proxy
# [MODULE::ldb_proxy]
# SUBSYSTEM = LIBLDB
-# INIT_FUNCTION = proxy_module_module_ops
+# INIT_FUNCTION = LDB_MODULE(proxy)
# OBJ_FILES = \
# proxy.o
#
@@ -131,7 +131,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB
OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = rootdse_module_module_ops
+INIT_FUNCTION = LDB_MODULE(rootdse)
OBJ_FILES = \
rootdse.o
#
@@ -143,7 +143,7 @@ OBJ_FILES = \
[MODULE::ldb_password_hash]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = password_hash_module_module_ops
+INIT_FUNCTION = LDB_MODULE(password_hash)
OBJ_FILES = password_hash.o
PRIVATE_DEPENDENCIES = HEIMDAL_HDB_KEYS LIBTALLOC HEIMDAL_KRB5 LDAP_ENCODE \
LIBCLI_AUTH NDR_DRSBLOBS KERBEROS SAMDB
@@ -157,7 +157,7 @@ PRIVATE_DEPENDENCIES = HEIMDAL_HDB_KEYS LIBTALLOC HEIMDAL_KRB5 LDAP_ENCODE \
PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR SAMDB
OUTPUT_TYPE = SHARED_LIBRARY
SUBSYSTEM = LIBLDB
-INIT_FUNCTION = local_password_module_module_ops
+INIT_FUNCTION = LDB_MODULE(local_password)
OBJ_FILES = local_password.o
#
# End MODULE ldb_local_password
@@ -169,7 +169,7 @@ OBJ_FILES = local_password.o
PRIVATE_DEPENDENCIES = LIBTALLOC LIBSECURITY SAMDB
OUTPUT_TYPE = SHARED_LIBRARY
SUBSYSTEM = LIBLDB
-INIT_FUNCTION = &ldb_kludge_acl_module_ops
+INIT_FUNCTION = LDB_MODULE(kludge_acl)
OBJ_FILES = \
kludge_acl.o
#
@@ -182,7 +182,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC LIBNDR LIBSECURITY SAMDB
-INIT_FUNCTION = &ldb_extended_dn_module_ops
+INIT_FUNCTION = LDB_MODULE(extended_dn)
OBJ_FILES = \
extended_dn.o
#
@@ -195,7 +195,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC
-INIT_FUNCTION = &ldb_show_deleted_module_ops
+INIT_FUNCTION = LDB_MODULE(show_deleted)
OBJ_FILES = \
show_deleted.o
#
@@ -208,7 +208,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB
-INIT_FUNCTION = &ldb_partition_module_ops
+INIT_FUNCTION = LDB_MODULE(partition)
OBJ_FILES = \
partition.o
#
@@ -221,7 +221,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC LIBLDB
-INIT_FUNCTION = &ldb_schema_module_ops
+INIT_FUNCTION = LDB_MODULE(schema)
OBJ_FILES = \
schema.o schema_syntax.o
#
@@ -235,7 +235,7 @@ SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC CREDENTIALS
#Also depends on credentials, but that would loop
-INIT_FUNCTION = &ldb_update_kt_module_ops
+INIT_FUNCTION = LDB_MODULE(update_kt)
OBJ_FILES = \
update_keytab.o
#
@@ -245,7 +245,7 @@ OBJ_FILES = \
################################################
# Start MODULE ldb_objectclass
[MODULE::ldb_objectclass]
-INIT_FUNCTION = &ldb_objectclass_module_ops
+INIT_FUNCTION = LDB_MODULE(objectclass)
OUTPUT_TYPE = SHARED_LIBRARY
CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC LIBSECURITY NDR_SECURITY SAMDB
@@ -258,7 +258,7 @@ OBJ_FILES = \
################################################
# Start MODULE ldb_subtree_rename
[MODULE::ldb_subtree_rename]
-INIT_FUNCTION = &ldb_subtree_rename_module_ops
+INIT_FUNCTION = LDB_MODULE(subtree_rename)
CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC
SUBSYSTEM = LIBLDB
@@ -270,7 +270,7 @@ OBJ_FILES = \
################################################
# Start MODULE ldb_subtree_rename
[MODULE::ldb_subtree_delete]
-INIT_FUNCTION = &ldb_subtree_delete_module_ops
+INIT_FUNCTION = LDB_MODULE(subtree_delete)
CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC
SUBSYSTEM = LIBLDB
@@ -282,7 +282,7 @@ OBJ_FILES = \
################################################
# Start MODULE ldb_linked_attributes
[MODULE::ldb_linked_attributes]
-INIT_FUNCTION = &ldb_linked_attributes_module_ops
+INIT_FUNCTION = LDB_MODULE(linked_attributes)
CFLAGS = -Ilib/ldb/include
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC SAMDB
@@ -295,7 +295,7 @@ OBJ_FILES = \
################################################
# Start MODULE ldb_ranged_results
[MODULE::ldb_ranged_results]
-INIT_FUNCTION = &ldb_ranged_results_module_ops
+INIT_FUNCTION = LDB_MODULE(ranged_results)
CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC
SUBSYSTEM = LIBLDB
@@ -307,7 +307,7 @@ OBJ_FILES = \
################################################
# Start MODULE ldb_anr
[MODULE::ldb_anr]
-INIT_FUNCTION = &ldb_anr_module_ops
+INIT_FUNCTION = LDB_MODULE(anr)
CFLAGS = -Ilib/ldb/include
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL SAMDB
@@ -320,7 +320,7 @@ OBJ_FILES = \
################################################
# Start MODULE ldb_normalise
[MODULE::ldb_normalise]
-INIT_FUNCTION = &ldb_normalise_module_ops
+INIT_FUNCTION = LDB_MODULE(normalise)
CFLAGS = -Ilib/ldb/include
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL SAMDB
@@ -333,7 +333,7 @@ OBJ_FILES = \
################################################
# Start MODULE ldb_instancetype
[MODULE::ldb_instancetype]
-INIT_FUNCTION = &ldb_instancetype_module_ops
+INIT_FUNCTION = LDB_MODULE(instancetype)
CFLAGS = -Ilib/ldb/include
OUTPUT_TYPE = SHARED_LIBRARY
PRIVATE_DEPENDENCIES = LIBTALLOC
diff --git a/source4/dynconfig.mk b/source4/dynconfig.mk
index e970d4cd4c..ba9c5467ba 100644
--- a/source4/dynconfig.mk
+++ b/source4/dynconfig.mk
@@ -21,5 +21,4 @@ PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" \
dynconfig.o: dynconfig.c Makefile
@echo Compiling $<
- @$(CC) $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` $(CPPFLAGS) $(PICFLAG) \
- $(PATH_FLAGS) -c $(FIRST_PREREQ) -o $@
+ @$(CC) $(CFLAGS) $(CPPFLAGS) $(PICFLAG) $(PATH_FLAGS) -c $< -o $@
diff --git a/source4/heimdal_build/config.mk b/source4/heimdal_build/config.mk
index 45bfd8e81f..b3e510da14 100644
--- a/source4/heimdal_build/config.mk
+++ b/source4/heimdal_build/config.mk
@@ -3,19 +3,19 @@
[SUBSYSTEM::HEIMDAL_KDC]
CFLAGS = -Iheimdal_build -Iheimdal/kdc
OBJ_FILES = \
- ../heimdal/kdc/default_config.o \
- ../heimdal/kdc/kerberos5.o \
- ../heimdal/kdc/krb5tgs.o \
- ../heimdal/kdc/pkinit.o \
- ../heimdal/kdc/log.o \
- ../heimdal/kdc/misc.o \
- ../heimdal/kdc/524.o \
- ../heimdal/kdc/kerberos4.o \
- ../heimdal/kdc/kaserver.o \
- ../heimdal/kdc/digest.o \
- ../heimdal/kdc/process.o \
- ../heimdal/kdc/windc.o \
- ../heimdal/kdc/kx509.o
+ ./heimdal/kdc/default_config.o \
+ ./heimdal/kdc/kerberos5.o \
+ ./heimdal/kdc/krb5tgs.o \
+ ./heimdal/kdc/pkinit.o \
+ ./heimdal/kdc/log.o \
+ ./heimdal/kdc/misc.o \
+ ./heimdal/kdc/524.o \
+ ./heimdal/kdc/kerberos4.o \
+ ./heimdal/kdc/kaserver.o \
+ ./heimdal/kdc/digest.o \
+ ./heimdal/kdc/process.o \
+ ./heimdal/kdc/windc.o \
+ ./heimdal/kdc/kx509.o
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_KRB5 HEIMDAL_HDB HEIMDAL_HEIM_ASN1 HEIMDAL_DIGEST_ASN1 HEIMDAL_KX509_ASN1
PUBLIC_DEPENDENCIES = HEIMDAL_NTLM HEIMDAL_HCRYPTO
# End SUBSYSTEM HEIMDAL_KDC
@@ -24,13 +24,13 @@ PUBLIC_DEPENDENCIES = HEIMDAL_NTLM HEIMDAL_HCRYPTO
[SUBSYSTEM::HEIMDAL_NTLM]
CFLAGS = -Iheimdal_build -Iheimdal/lib/ntlm
OBJ_FILES = \
- ../heimdal/lib/ntlm/ntlm.o
+ ./heimdal/lib/ntlm/ntlm.o
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5
[SUBSYSTEM::HEIMDAL_HDB_KEYS]
CFLAGS = -Iheimdal_build -Iheimdal/lib/hdb
OBJ_FILES = \
- ../heimdal/lib/hdb/keys.o
+ ./heimdal/lib/hdb/keys.o
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5 \
HEIMDAL_HDB_ASN1
@@ -39,13 +39,13 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_KRB5 \
[SUBSYSTEM::HEIMDAL_HDB]
CFLAGS = -Iheimdal_build -Iheimdal/lib/hdb
OBJ_FILES = \
- ../heimdal/lib/hdb/db.o \
- ../heimdal/lib/hdb/hdb.o \
- ../heimdal/lib/hdb/ext.o \
- ../heimdal/lib/hdb/keytab.o \
- ../heimdal/lib/hdb/mkey.o \
- ../heimdal/lib/hdb/ndbm.o \
- ../heimdal/lib/hdb/hdb_err.o
+ ./heimdal/lib/hdb/db.o \
+ ./heimdal/lib/hdb/hdb.o \
+ ./heimdal/lib/hdb/ext.o \
+ ./heimdal/lib/hdb/keytab.o \
+ ./heimdal/lib/hdb/mkey.o \
+ ./heimdal/lib/hdb/ndbm.o \
+ ./heimdal/lib/hdb/hdb_err.o
PRIVATE_DEPENDENCIES = HDB_LDB HEIMDAL_KRB5 HEIMDAL_HDB_KEYS HEIMDAL_ROKEN HEIMDAL_HCRYPTO HEIMDAL_COM_ERR HEIMDAL_HDB_ASN1
# End SUBSYSTEM HEIMDAL_HDB
#######################
@@ -55,112 +55,112 @@ PRIVATE_DEPENDENCIES = HDB_LDB HEIMDAL_KRB5 HEIMDAL_HDB_KEYS HEIMDAL_ROKEN HEIMD
[SUBSYSTEM::HEIMDAL_GSSAPI]
CFLAGS = -Iheimdal_build -Iheimdal/lib/gssapi -Iheimdal/lib/gssapi/gssapi -Iheimdal/lib/gssapi/spnego -Iheimdal/lib/gssapi/krb5 -Iheimdal/lib/gssapi/mech
OBJ_FILES = \
- ../heimdal/lib/gssapi/mech/context.o \
- ../heimdal/lib/gssapi/mech/gss_krb5.o \
- ../heimdal/lib/gssapi/mech/gss_mech_switch.o \
- ../heimdal/lib/gssapi/mech/gss_process_context_token.o \
- ../heimdal/lib/gssapi/mech/gss_buffer_set.o \
- ../heimdal/lib/gssapi/mech/gss_add_cred.o \
- ../heimdal/lib/gssapi/mech/gss_add_oid_set_member.o \
- ../heimdal/lib/gssapi/mech/gss_compare_name.o \
- ../heimdal/lib/gssapi/mech/gss_release_oid_set.o \
- ../heimdal/lib/gssapi/mech/gss_create_empty_oid_set.o \
- ../heimdal/lib/gssapi/mech/gss_decapsulate_token.o \
- ../heimdal/lib/gssapi/mech/gss_inquire_cred_by_oid.o \
- ../heimdal/lib/gssapi/mech/gss_canonicalize_name.o \
- ../heimdal/lib/gssapi/mech/gss_inquire_sec_context_by_oid.o \
- ../heimdal/lib/gssapi/mech/gss_inquire_names_for_mech.o \
- ../heimdal/lib/gssapi/mech/gss_inquire_mechs_for_name.o \
- ../heimdal/lib/gssapi/mech/gss_wrap_size_limit.o \
- ../heimdal/lib/gssapi/mech/gss_names.o \
- ../heimdal/lib/gssapi/mech/gss_verify.o \
- ../heimdal/lib/gssapi/mech/gss_display_name.o \
- ../heimdal/lib/gssapi/mech/gss_duplicate_oid.o \
- ../heimdal/lib/gssapi/mech/gss_display_status.o \
- ../heimdal/lib/gssapi/mech/gss_release_buffer.o \
- ../heimdal/lib/gssapi/mech/gss_release_oid.o \
- ../heimdal/lib/gssapi/mech/gss_test_oid_set_member.o \
- ../heimdal/lib/gssapi/mech/gss_release_cred.o \
- ../heimdal/lib/gssapi/mech/gss_set_sec_context_option.o \
- ../heimdal/lib/gssapi/mech/gss_export_name.o \
- ../heimdal/lib/gssapi/mech/gss_seal.o \
- ../heimdal/lib/gssapi/mech/gss_acquire_cred.o \
- ../heimdal/lib/gssapi/mech/gss_unseal.o \
- ../heimdal/lib/gssapi/mech/gss_verify_mic.o \
- ../heimdal/lib/gssapi/mech/gss_accept_sec_context.o \
- ../heimdal/lib/gssapi/mech/gss_inquire_cred_by_mech.o \
- ../heimdal/lib/gssapi/mech/gss_indicate_mechs.o \
- ../heimdal/lib/gssapi/mech/gss_delete_sec_context.o \
- ../heimdal/lib/gssapi/mech/gss_sign.o \
- ../heimdal/lib/gssapi/mech/gss_utils.o \
- ../heimdal/lib/gssapi/mech/gss_init_sec_context.o \
- ../heimdal/lib/gssapi/mech/gss_oid_equal.o \
- ../heimdal/lib/gssapi/mech/gss_oid_to_str.o \
- ../heimdal/lib/gssapi/mech/gss_context_time.o \
- ../heimdal/lib/gssapi/mech/gss_encapsulate_token.o \
- ../heimdal/lib/gssapi/mech/gss_get_mic.o \
- ../heimdal/lib/gssapi/mech/gss_import_sec_context.o \
- ../heimdal/lib/gssapi/mech/gss_inquire_cred.o \
- ../heimdal/lib/gssapi/mech/gss_wrap.o \
- ../heimdal/lib/gssapi/mech/gss_import_name.o \
- ../heimdal/lib/gssapi/mech/gss_duplicate_name.o \
- ../heimdal/lib/gssapi/mech/gss_unwrap.o \
- ../heimdal/lib/gssapi/mech/gss_export_sec_context.o \
- ../heimdal/lib/gssapi/mech/gss_inquire_context.o \
- ../heimdal/lib/gssapi/mech/gss_release_name.o \
- ../heimdal/lib/gssapi/mech/gss_set_cred_option.o \
- ../heimdal/lib/gssapi/asn1_GSSAPIContextToken.o \
- ../heimdal/lib/gssapi/spnego/init_sec_context.o \
- ../heimdal/lib/gssapi/spnego/external.o \
- ../heimdal/lib/gssapi/spnego/compat.o \
- ../heimdal/lib/gssapi/spnego/context_stubs.o \
- ../heimdal/lib/gssapi/spnego/cred_stubs.o \
- ../heimdal/lib/gssapi/spnego/accept_sec_context.o \
- ../heimdal/lib/gssapi/krb5/copy_ccache.o \
- ../heimdal/lib/gssapi/krb5/delete_sec_context.o \
- ../heimdal/lib/gssapi/krb5/init_sec_context.o \
- ../heimdal/lib/gssapi/krb5/context_time.o \
- ../heimdal/lib/gssapi/krb5/init.o \
- ../heimdal/lib/gssapi/krb5/address_to_krb5addr.o \
- ../heimdal/lib/gssapi/krb5/get_mic.o \
- ../heimdal/lib/gssapi/krb5/inquire_context.o \
- ../heimdal/lib/gssapi/krb5/add_cred.o \
- ../heimdal/lib/gssapi/krb5/inquire_cred.o \
- ../heimdal/lib/gssapi/krb5/inquire_cred_by_oid.o \
- ../heimdal/lib/gssapi/krb5/inquire_cred_by_mech.o \
- ../heimdal/lib/gssapi/krb5/inquire_mechs_for_name.o \
- ../heimdal/lib/gssapi/krb5/inquire_names_for_mech.o \
- ../heimdal/lib/gssapi/krb5/indicate_mechs.o \
- ../heimdal/lib/gssapi/krb5/inquire_sec_context_by_oid.o \
- ../heimdal/lib/gssapi/krb5/export_sec_context.o \
- ../heimdal/lib/gssapi/krb5/import_sec_context.o \
- ../heimdal/lib/gssapi/krb5/duplicate_name.o \
- ../heimdal/lib/gssapi/krb5/import_name.o \
- ../heimdal/lib/gssapi/krb5/compare_name.o \
- ../heimdal/lib/gssapi/krb5/export_name.o \
- ../heimdal/lib/gssapi/krb5/canonicalize_name.o \
- ../heimdal/lib/gssapi/krb5/unwrap.o \
- ../heimdal/lib/gssapi/krb5/wrap.o \
- ../heimdal/lib/gssapi/krb5/release_name.o \
- ../heimdal/lib/gssapi/krb5/cfx.o \
- ../heimdal/lib/gssapi/krb5/8003.o \
- ../heimdal/lib/gssapi/krb5/arcfour.o \
- ../heimdal/lib/gssapi/krb5/encapsulate.o \
- ../heimdal/lib/gssapi/krb5/display_name.o \
- ../heimdal/lib/gssapi/krb5/sequence.o \
- ../heimdal/lib/gssapi/krb5/display_status.o \
- ../heimdal/lib/gssapi/krb5/release_buffer.o \
- ../heimdal/lib/gssapi/krb5/external.o \
- ../heimdal/lib/gssapi/krb5/compat.o \
- ../heimdal/lib/gssapi/krb5/acquire_cred.o \
- ../heimdal/lib/gssapi/krb5/release_cred.o \
- ../heimdal/lib/gssapi/krb5/set_cred_option.o \
- ../heimdal/lib/gssapi/krb5/decapsulate.o \
- ../heimdal/lib/gssapi/krb5/verify_mic.o \
- ../heimdal/lib/gssapi/krb5/accept_sec_context.o \
- ../heimdal/lib/gssapi/krb5/set_sec_context_option.o \
- ../heimdal/lib/gssapi/krb5/process_context_token.o \
- ../heimdal/lib/gssapi/krb5/prf.o
+ ./heimdal/lib/gssapi/mech/context.o \
+ ./heimdal/lib/gssapi/mech/gss_krb5.o \
+ ./heimdal/lib/gssapi/mech/gss_mech_switch.o \
+ ./heimdal/lib/gssapi/mech/gss_process_context_token.o \
+ ./heimdal/lib/gssapi/mech/gss_buffer_set.o \
+ ./heimdal/lib/gssapi/mech/gss_add_cred.o \
+ ./heimdal/lib/gssapi/mech/gss_add_oid_set_member.o \
+ ./heimdal/lib/gssapi/mech/gss_compare_name.o \
+ ./heimdal/lib/gssapi/mech/gss_release_oid_set.o \
+ ./heimdal/lib/gssapi/mech/gss_create_empty_oid_set.o \
+ ./heimdal/lib/gssapi/mech/gss_decapsulate_token.o \
+ ./heimdal/lib/gssapi/mech/gss_inquire_cred_by_oid.o \
+ ./heimdal/lib/gssapi/mech/gss_canonicalize_name.o \
+ ./heimdal/lib/gssapi/mech/gss_inquire_sec_context_by_oid.o \
+ ./heimdal/lib/gssapi/mech/gss_inquire_names_for_mech.o \
+ ./heimdal/lib/gssapi/mech/gss_inquire_mechs_for_name.o \
+ ./heimdal/lib/gssapi/mech/gss_wrap_size_limit.o \
+ ./heimdal/lib/gssapi/mech/gss_names.o \
+ ./heimdal/lib/gssapi/mech/gss_verify.o \
+ ./heimdal/lib/gssapi/mech/gss_display_name.o \
+ ./heimdal/lib/gssapi/mech/gss_duplicate_oid.o \
+ ./heimdal/lib/gssapi/mech/gss_display_status.o \
+ ./heimdal/lib/gssapi/mech/gss_release_buffer.o \
+ ./heimdal/lib/gssapi/mech/gss_release_oid.o \
+ ./heimdal/lib/gssapi/mech/gss_test_oid_set_member.o \
+ ./heimdal/lib/gssapi/mech/gss_release_cred.o \
+ ./heimdal/lib/gssapi/mech/gss_set_sec_context_option.o \
+ ./heimdal/lib/gssapi/mech/gss_export_name.o \
+ ./heimdal/lib/gssapi/mech/gss_seal.o \
+ ./heimdal/lib/gssapi/mech/gss_acquire_cred.o \
+ ./heimdal/lib/gssapi/mech/gss_unseal.o \
+ ./heimdal/lib/gssapi/mech/gss_verify_mic.o \
+ ./heimdal/lib/gssapi/mech/gss_accept_sec_context.o \
+ ./heimdal/lib/gssapi/mech/gss_inquire_cred_by_mech.o \
+ ./heimdal/lib/gssapi/mech/gss_indicate_mechs.o \
+ ./heimdal/lib/gssapi/mech/gss_delete_sec_context.o \
+ ./heimdal/lib/gssapi/mech/gss_sign.o \
+ ./heimdal/lib/gssapi/mech/gss_utils.o \
+ ./heimdal/lib/gssapi/mech/gss_init_sec_context.o \
+ ./heimdal/lib/gssapi/mech/gss_oid_equal.o \
+ ./heimdal/lib/gssapi/mech/gss_oid_to_str.o \
+ ./heimdal/lib/gssapi/mech/gss_context_time.o \
+ ./heimdal/lib/gssapi/mech/gss_encapsulate_token.o \
+ ./heimdal/lib/gssapi/mech/gss_get_mic.o \
+ ./heimdal/lib/gssapi/mech/gss_import_sec_context.o \
+ ./heimdal/lib/gssapi/mech/gss_inquire_cred.o \
+ ./heimdal/lib/gssapi/mech/gss_wrap.o \
+ ./heimdal/lib/gssapi/mech/gss_import_name.o \
+ ./heimdal/lib/gssapi/mech/gss_duplicate_name.o \
+ ./heimdal/lib/gssapi/mech/gss_unwrap.o \
+ ./heimdal/lib/gssapi/mech/gss_export_sec_context.o \
+ ./heimdal/lib/gssapi/mech/gss_inquire_context.o \
+ ./heimdal/lib/gssapi/mech/gss_release_name.o \
+ ./heimdal/lib/gssapi/mech/gss_set_cred_option.o \
+ ./heimdal/lib/gssapi/asn1_GSSAPIContextToken.o \
+ ./heimdal/lib/gssapi/spnego/init_sec_context.o \
+ ./heimdal/lib/gssapi/spnego/external.o \
+ ./heimdal/lib/gssapi/spnego/compat.o \
+ ./heimdal/lib/gssapi/spnego/context_stubs.o \
+ ./heimdal/lib/gssapi/spnego/cred_stubs.o \
+ ./heimdal/lib/gssapi/spnego/accept_sec_context.o \
+ ./heimdal/lib/gssapi/krb5/copy_ccache.o \
+ ./heimdal/lib/gssapi/krb5/delete_sec_context.o \
+ ./heimdal/lib/gssapi/krb5/init_sec_context.o \
+ ./heimdal/lib/gssapi/krb5/context_time.o \
+ ./heimdal/lib/gssapi/krb5/init.o \
+ ./heimdal/lib/gssapi/krb5/address_to_krb5addr.o \
+ ./heimdal/lib/gssapi/krb5/get_mic.o \
+ ./heimdal/lib/gssapi/krb5/inquire_context.o \
+ ./heimdal/lib/gssapi/krb5/add_cred.o \
+ ./heimdal/lib/gssapi/krb5/inquire_cred.o \
+ ./heimdal/lib/gssapi/krb5/inquire_cred_by_oid.o \
+ ./heimdal/lib/gssapi/krb5/inquire_cred_by_mech.o \
+ ./heimdal/lib/gssapi/krb5/inquire_mechs_for_name.o \
+ ./heimdal/lib/gssapi/krb5/inquire_names_for_mech.o \
+ ./heimdal/lib/gssapi/krb5/indicate_mechs.o \
+ ./heimdal/lib/gssapi/krb5/inquire_sec_context_by_oid.o \
+ ./heimdal/lib/gssapi/krb5/export_sec_context.o \
+ ./heimdal/lib/gssapi/krb5/import_sec_context.o \
+ ./heimdal/lib/gssapi/krb5/duplicate_name.o \
+ ./heimdal/lib/gssapi/krb5/import_name.o \
+ ./heimdal/lib/gssapi/krb5/compare_name.o \
+ ./heimdal/lib/gssapi/krb5/export_name.o \
+ ./heimdal/lib/gssapi/krb5/canonicalize_name.o \
+ ./heimdal/lib/gssapi/krb5/unwrap.o \
+ ./heimdal/lib/gssapi/krb5/wrap.o \
+ ./heimdal/lib/gssapi/krb5/release_name.o \
+ ./heimdal/lib/gssapi/krb5/cfx.o \
+ ./heimdal/lib/gssapi/krb5/8003.o \
+ ./heimdal/lib/gssapi/krb5/arcfour.o \
+ ./heimdal/lib/gssapi/krb5/encapsulate.o \
+ ./heimdal/lib/gssapi/krb5/display_name.o \
+ ./heimdal/lib/gssapi/krb5/sequence.o \
+ ./heimdal/lib/gssapi/krb5/display_status.o \
+ ./heimdal/lib/gssapi/krb5/release_buffer.o \
+ ./heimdal/lib/gssapi/krb5/external.o \
+ ./heimdal/lib/gssapi/krb5/compat.o \
+ ./heimdal/lib/gssapi/krb5/acquire_cred.o \
+ ./heimdal/lib/gssapi/krb5/release_cred.o \
+ ./heimdal/lib/gssapi/krb5/set_cred_option.o \
+ ./heimdal/lib/gssapi/krb5/decapsulate.o \
+ ./heimdal/lib/gssapi/krb5/verify_mic.o \
+ ./heimdal/lib/gssapi/krb5/accept_sec_context.o \
+ ./heimdal/lib/gssapi/krb5/set_sec_context_option.o \
+ ./heimdal/lib/gssapi/krb5/process_context_token.o \
+ ./heimdal/lib/gssapi/krb5/prf.o
PRIVATE_DEPENDENCIES = HEIMDAL_HCRYPTO HEIMDAL_HEIM_ASN1 HEIMDAL_SPNEGO_ASN1
PUBLIC_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_KRB5
# End SUBSYSTEM HEIMDAL_GSSAPI
@@ -173,92 +173,92 @@ CFLAGS = -Iheimdal_build -Iheimdal/lib/krb5
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_PKINIT_ASN1
PUBLIC_DEPENDENCIES = HEIMDAL_KRB5_ASN1 HEIMDAL_GLUE HEIMDAL_HX509 HEIMDAL_HCRYPTO
OBJ_FILES = \
- ../heimdal/lib/krb5/acache.o \
- ../heimdal/lib/krb5/add_et_list.o \
- ../heimdal/lib/krb5/addr_families.o \
- ../heimdal/lib/krb5/appdefault.o \
- ../heimdal/lib/krb5/asn1_glue.o \
- ../heimdal/lib/krb5/auth_context.o \
- ../heimdal/lib/krb5/build_ap_req.o \
- ../heimdal/lib/krb5/build_auth.o \
- ../heimdal/lib/krb5/cache.o \
- ../heimdal/lib/krb5/changepw.o \
- ../heimdal/lib/krb5/codec.o \
- ../heimdal/lib/krb5/config_file.o \
- ../heimdal/lib/krb5/config_file_netinfo.o \
- ../heimdal/lib/krb5/constants.o \
- ../heimdal/lib/krb5/context.o \
- ../heimdal/lib/krb5/convert_creds.o \
- ../heimdal/lib/krb5/copy_host_realm.o \
- ../heimdal/lib/krb5/crc.o \
- ../heimdal/lib/krb5/creds.o \
- ../heimdal/lib/krb5/crypto.o \
- ../heimdal/lib/krb5/data.o \
- ../heimdal/lib/krb5/eai_to_heim_errno.o \
- ../heimdal/lib/krb5/error_string.o \
- ../heimdal/lib/krb5/expand_hostname.o \
- ../heimdal/lib/krb5/fcache.o \
- ../heimdal/lib/krb5/free.o \
- ../heimdal/lib/krb5/free_host_realm.o \
- ../heimdal/lib/krb5/generate_seq_number.o \
- ../heimdal/lib/krb5/generate_subkey.o \
- ../heimdal/lib/krb5/get_cred.o \
- ../heimdal/lib/krb5/get_default_principal.o \
- ../heimdal/lib/krb5/get_default_realm.o \
- ../heimdal/lib/krb5/get_for_creds.o \
- ../heimdal/lib/krb5/get_host_realm.o \
- ../heimdal/lib/krb5/get_in_tkt.o \
- ../heimdal/lib/krb5/get_in_tkt_with_keytab.o \
- ../heimdal/lib/krb5/get_port.o \
- ../heimdal/lib/krb5/init_creds.o \
- ../heimdal/lib/krb5/init_creds_pw.o \
- ../heimdal/lib/krb5/kcm.o \
- ../heimdal/lib/krb5/keyblock.o \
- ../heimdal/lib/krb5/keytab.o \
- ../heimdal/lib/krb5/keytab_any.o \
- ../heimdal/lib/krb5/keytab_file.o \
- ../heimdal/lib/krb5/keytab_memory.o \
- ../heimdal/lib/krb5/keytab_keyfile.o \
- ../heimdal/lib/krb5/keytab_krb4.o \
- ../heimdal/lib/krb5/krbhst.o \
- ../heimdal/lib/krb5/log.o \
- ../heimdal/lib/krb5/mcache.o \
- ../heimdal/lib/krb5/misc.o \
- ../heimdal/lib/krb5/mk_error.o \
- ../heimdal/lib/krb5/mk_priv.o \
- ../heimdal/lib/krb5/mk_rep.o \
- ../heimdal/lib/krb5/mk_req.o \
- ../heimdal/lib/krb5/mk_req_ext.o \
- ../heimdal/lib/krb5/mit_glue.o \
- ../heimdal/lib/krb5/n-fold.o \
- ../heimdal/lib/krb5/padata.o \
- ../heimdal/lib/krb5/pkinit.o \
- ../heimdal/lib/krb5/plugin.o \
- ../heimdal/lib/krb5/principal.o \
- ../heimdal/lib/krb5/pac.o \
- ../heimdal/lib/krb5/prompter_posix.o \
- ../heimdal/lib/krb5/rd_cred.o \
- ../heimdal/lib/krb5/rd_error.o \
- ../heimdal/lib/krb5/rd_priv.o \
- ../heimdal/lib/krb5/rd_rep.o \
- ../heimdal/lib/krb5/rd_req.o \
- ../heimdal/lib/krb5/replay.o \
- ../heimdal/lib/krb5/send_to_kdc.o \
- ../heimdal/lib/krb5/set_default_realm.o \
- ../heimdal/lib/krb5/store.o \
- ../heimdal/lib/krb5/store_emem.o \
- ../heimdal/lib/krb5/store_fd.o \
- ../heimdal/lib/krb5/store_mem.o \
- ../heimdal/lib/krb5/ticket.o \
- ../heimdal/lib/krb5/time.o \
- ../heimdal/lib/krb5/transited.o \
- ../heimdal/lib/krb5/v4_glue.o \
- ../heimdal/lib/krb5/version.o \
- ../heimdal/lib/krb5/warn.o \
- ../heimdal/lib/krb5/krb5_err.o \
- ../heimdal/lib/krb5/heim_err.o \
- ../heimdal/lib/krb5/k524_err.o \
- ../heimdal/lib/krb5/krb_err.o
+ ./heimdal/lib/krb5/acache.o \
+ ./heimdal/lib/krb5/add_et_list.o \
+ ./heimdal/lib/krb5/addr_families.o \
+ ./heimdal/lib/krb5/appdefault.o \
+ ./heimdal/lib/krb5/asn1_glue.o \
+ ./heimdal/lib/krb5/auth_context.o \
+ ./heimdal/lib/krb5/build_ap_req.o \
+ ./heimdal/lib/krb5/build_auth.o \
+ ./heimdal/lib/krb5/cache.o \
+ ./heimdal/lib/krb5/changepw.o \
+ ./heimdal/lib/krb5/codec.o \
+ ./heimdal/lib/krb5/config_file.o \
+ ./heimdal/lib/krb5/config_file_netinfo.o \
+ ./heimdal/lib/krb5/constants.o \
+ ./heimdal/lib/krb5/context.o \
+ ./heimdal/lib/krb5/convert_creds.o \
+ ./heimdal/lib/krb5/copy_host_realm.o \
+ ./heimdal/lib/krb5/crc.o \
+ ./heimdal/lib/krb5/creds.o \
+ ./heimdal/lib/krb5/crypto.o \
+ ./heimdal/lib/krb5/data.o \
+ ./heimdal/lib/krb5/eai_to_heim_errno.o \
+ ./heimdal/lib/krb5/error_string.o \
+ ./heimdal/lib/krb5/expand_hostname.o \
+ ./heimdal/lib/krb5/fcache.o \
+ ./heimdal/lib/krb5/free.o \
+ ./heimdal/lib/krb5/free_host_realm.o \
+ ./heimdal/lib/krb5/generate_seq_number.o \
+ ./heimdal/lib/krb5/generate_subkey.o \
+ ./heimdal/lib/krb5/get_cred.o \
+ ./heimdal/lib/krb5/get_default_principal.o \
+ ./heimdal/lib/krb5/get_default_realm.o \
+ ./heimdal/lib/krb5/get_for_creds.o \
+ ./heimdal/lib/krb5/get_host_realm.o \
+ ./heimdal/lib/krb5/get_in_tkt.o \
+ ./heimdal/lib/krb5/get_in_tkt_with_keytab.o \
+ ./heimdal/lib/krb5/get_port.o \
+ ./heimdal/lib/krb5/init_creds.o \
+ ./heimdal/lib/krb5/init_creds_pw.o \
+ ./heimdal/lib/krb5/kcm.o \
+ ./heimdal/lib/krb5/keyblock.o \
+ ./heimdal/lib/krb5/keytab.o \
+ ./heimdal/lib/krb5/keytab_any.o \
+ ./heimdal/lib/krb5/keytab_file.o \
+ ./heimdal/lib/krb5/keytab_memory.o \
+ ./heimdal/lib/krb5/keytab_keyfile.o \
+ ./heimdal/lib/krb5/keytab_krb4.o \
+ ./heimdal/lib/krb5/krbhst.o \
+ ./heimdal/lib/krb5/log.o \
+ ./heimdal/lib/krb5/mcache.o \
+ ./heimdal/lib/krb5/misc.o \
+ ./heimdal/lib/krb5/mk_error.o \
+ ./heimdal/lib/krb5/mk_priv.o \
+ ./heimdal/lib/krb5/mk_rep.o \
+ ./heimdal/lib/krb5/mk_req.o \
+ ./heimdal/lib/krb5/mk_req_ext.o \
+ ./heimdal/lib/krb5/mit_glue.o \
+ ./heimdal/lib/krb5/n-fold.o \
+ ./heimdal/lib/krb5/padata.o \
+ ./heimdal/lib/krb5/pkinit.o \
+ ./heimdal/lib/krb5/plugin.o \
+ ./heimdal/lib/krb5/principal.o \
+ ./heimdal/lib/krb5/pac.o \
+ ./heimdal/lib/krb5/prompter_posix.o \
+ ./heimdal/lib/krb5/rd_cred.o \
+ ./heimdal/lib/krb5/rd_error.o \
+ ./heimdal/lib/krb5/rd_priv.o \
+ ./heimdal/lib/krb5/rd_rep.o \
+ ./heimdal/lib/krb5/rd_req.o \
+ ./heimdal/lib/krb5/replay.o \
+ ./heimdal/lib/krb5/send_to_kdc.o \
+ ./heimdal/lib/krb5/set_default_realm.o \
+ ./heimdal/lib/krb5/store.o \
+ ./heimdal/lib/krb5/store_emem.o \
+ ./heimdal/lib/krb5/store_fd.o \
+ ./heimdal/lib/krb5/store_mem.o \
+ ./heimdal/lib/krb5/ticket.o \
+ ./heimdal/lib/krb5/time.o \
+ ./heimdal/lib/krb5/transited.o \
+ ./heimdal/lib/krb5/v4_glue.o \
+ ./heimdal/lib/krb5/version.o \
+ ./heimdal/lib/krb5/warn.o \
+ ./heimdal/lib/krb5/krb5_err.o \
+ ./heimdal/lib/krb5/heim_err.o \
+ ./heimdal/lib/krb5/k524_err.o \
+ ./heimdal/lib/krb5/krb_err.o
# End SUBSYSTEM HEIMDAL_KRB5
#######################
@@ -267,16 +267,16 @@ OBJ_FILES = \
[SUBSYSTEM::HEIMDAL_HEIM_ASN1]
CFLAGS = -Iheimdal_build -Iheimdal/lib/asn1
OBJ_FILES = \
- ../heimdal/lib/asn1/der_get.o \
- ../heimdal/lib/asn1/der_put.o \
- ../heimdal/lib/asn1/der_free.o \
- ../heimdal/lib/asn1/der_format.o \
- ../heimdal/lib/asn1/der_length.o \
- ../heimdal/lib/asn1/der_copy.o \
- ../heimdal/lib/asn1/der_cmp.o \
- ../heimdal/lib/asn1/extra.o \
- ../heimdal/lib/asn1/timegm.o \
- ../heimdal/lib/asn1/asn1_err.o
+ ./heimdal/lib/asn1/der_get.o \
+ ./heimdal/lib/asn1/der_put.o \
+ ./heimdal/lib/asn1/der_free.o \
+ ./heimdal/lib/asn1/der_format.o \
+ ./heimdal/lib/asn1/der_length.o \
+ ./heimdal/lib/asn1/der_copy.o \
+ ./heimdal/lib/asn1/der_cmp.o \
+ ./heimdal/lib/asn1/extra.o \
+ ./heimdal/lib/asn1/timegm.o \
+ ./heimdal/lib/asn1/asn1_err.o
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_COM_ERR
# End SUBSYSTEM HEIMDAL_KRB5
#######################
@@ -287,8 +287,8 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_COM_ERR
CFLAGS = -Iheimdal_build -Iheimdal/lib/hcrypto/imath
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN
OBJ_FILES = \
- ../heimdal/lib/hcrypto/imath/imath.o \
- ../heimdal/lib/hcrypto/imath/iprime.o
+ ./heimdal/lib/hcrypto/imath/imath.o \
+ ./heimdal/lib/hcrypto/imath/iprime.o
# End SUBSYSTEM HEIMDAL_HCRYPTO_IMATH
#######################
@@ -296,34 +296,34 @@ OBJ_FILES = \
CFLAGS = -Iheimdal_build -Iheimdal/lib/hcrypto -Iheimdal/lib
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN HEIMDAL_HEIM_ASN1 HEIMDAL_HCRYPTO_IMATH HEIMDAL_RFC2459_ASN1
OBJ_FILES = \
- ../heimdal/lib/hcrypto/aes.o \
- ../heimdal/lib/hcrypto/bn.o \
- ../heimdal/lib/hcrypto/dh.o \
- ../heimdal/lib/hcrypto/dh-imath.o \
- ../heimdal/lib/hcrypto/des.o \
- ../heimdal/lib/hcrypto/dsa.o \
- ../heimdal/lib/hcrypto/engine.o \
- ../heimdal/lib/hcrypto/md2.o \
- ../heimdal/lib/hcrypto/md4.o \
- ../heimdal/lib/hcrypto/md5.o \
- ../heimdal/lib/hcrypto/rsa.o \
- ../heimdal/lib/hcrypto/rsa-imath.o \
- ../heimdal/lib/hcrypto/rc2.o \
- ../heimdal/lib/hcrypto/rc4.o \
- ../heimdal/lib/hcrypto/rijndael-alg-fst.o \
- ../heimdal/lib/hcrypto/rnd_keys.o \
- ../heimdal/lib/hcrypto/sha.o \
- ../heimdal/lib/hcrypto/sha256.o \
- ../heimdal/lib/hcrypto/ui.o \
- ../heimdal/lib/hcrypto/evp.o \
- ../heimdal/lib/hcrypto/pkcs5.o \
- ../heimdal/lib/hcrypto/pkcs12.o \
- ../heimdal/lib/hcrypto/rand.o \
- ../heimdal/lib/hcrypto/rand-egd.o \
- ../heimdal/lib/hcrypto/rand-unix.o \
- ../heimdal/lib/hcrypto/rand-fortuna.o \
- ../heimdal/lib/hcrypto/rand-timer.o \
- ../heimdal/lib/hcrypto/hmac.o
+ ./heimdal/lib/hcrypto/aes.o \
+ ./heimdal/lib/hcrypto/bn.o \
+ ./heimdal/lib/hcrypto/dh.o \
+ ./heimdal/lib/hcrypto/dh-imath.o \
+ ./heimdal/lib/hcrypto/des.o \
+ ./heimdal/lib/hcrypto/dsa.o \
+ ./heimdal/lib/hcrypto/engine.o \
+ ./heimdal/lib/hcrypto/md2.o \
+ ./heimdal/lib/hcrypto/md4.o \
+ ./heimdal/lib/hcrypto/md5.o \
+ ./heimdal/lib/hcrypto/rsa.o \
+ ./heimdal/lib/hcrypto/rsa-imath.o \
+ ./heimdal/lib/hcrypto/rc2.o \
+ ./heimdal/lib/hcrypto/rc4.o \
+ ./heimdal/lib/hcrypto/rijndael-alg-fst.o \
+ ./heimdal/lib/hcrypto/rnd_keys.o \
+ ./heimdal/lib/hcrypto/sha.o \
+ ./heimdal/lib/hcrypto/sha256.o \
+ ./heimdal/lib/hcrypto/ui.o \
+ ./heimdal/lib/hcrypto/evp.o \
+ ./heimdal/lib/hcrypto/pkcs5.o \
+ ./heimdal/lib/hcrypto/pkcs12.o \
+ ./heimdal/lib/hcrypto/rand.o \
+ ./heimdal/lib/hcrypto/rand-egd.o \
+ ./heimdal/lib/hcrypto/rand-unix.o \
+ ./heimdal/lib/hcrypto/rand-fortuna.o \
+ ./heimdal/lib/hcrypto/rand-timer.o \
+ ./heimdal/lib/hcrypto/hmac.o
# End SUBSYSTEM HEIMDAL_HCRYPTO
#######################
@@ -339,77 +339,77 @@ PRIVATE_DEPENDENCIES = \
HEIMDAL_PKCS9_ASN1 HEIMDAL_PKCS12_ASN1 \
HEIMDAL_PKINIT_ASN1 HEIMDAL_PKCS10_ASN1
OBJ_FILES = \
- ../heimdal/lib/hx509/ca.o \
- ../heimdal/lib/hx509/cert.o \
- ../heimdal/lib/hx509/cms.o \
- ../heimdal/lib/hx509/collector.o \
- ../heimdal/lib/hx509/crypto.o \
- ../heimdal/lib/hx509/error.o \
- ../heimdal/lib/hx509/env.o \
- ../heimdal/lib/hx509/file.o \
- ../heimdal/lib/hx509/keyset.o \
- ../heimdal/lib/hx509/ks_dir.o \
- ../heimdal/lib/hx509/ks_file.o \
- ../heimdal/lib/hx509/ks_keychain.o \
- ../heimdal/lib/hx509/ks_mem.o \
- ../heimdal/lib/hx509/ks_null.o \
- ../heimdal/lib/hx509/ks_p11.o \
- ../heimdal/lib/hx509/ks_p12.o \
- ../heimdal/lib/hx509/lock.o \
- ../heimdal/lib/hx509/name.o \
- ../heimdal/lib/hx509/peer.o \
- ../heimdal/lib/hx509/print.o \
- ../heimdal/lib/hx509/req.o \
- ../heimdal/lib/hx509/revoke.o \
- ../heimdal/lib/hx509/hx509_err.o
+ ./heimdal/lib/hx509/ca.o \
+ ./heimdal/lib/hx509/cert.o \
+ ./heimdal/lib/hx509/cms.o \
+ ./heimdal/lib/hx509/collector.o \
+ ./heimdal/lib/hx509/crypto.o \
+ ./heimdal/lib/hx509/error.o \
+ ./heimdal/lib/hx509/env.o \
+ ./heimdal/lib/hx509/file.o \
+ ./heimdal/lib/hx509/keyset.o \
+ ./heimdal/lib/hx509/ks_dir.o \
+ ./heimdal/lib/hx509/ks_file.o \
+ ./heimdal/lib/hx509/ks_keychain.o \
+ ./heimdal/lib/hx509/ks_mem.o \
+ ./heimdal/lib/hx509/ks_null.o \
+ ./heimdal/lib/hx509/ks_p11.o \
+ ./heimdal/lib/hx509/ks_p12.o \
+ ./heimdal/lib/hx509/lock.o \
+ ./heimdal/lib/hx509/name.o \
+ ./heimdal/lib/hx509/peer.o \
+ ./heimdal/lib/hx509/print.o \
+ ./heimdal/lib/hx509/req.o \
+ ./heimdal/lib/hx509/revoke.o \
+ ./heimdal/lib/hx509/hx509_err.o
# End SUBSYSTEM HEIMDAL_HX509
#######################
[SUBSYSTEM::HEIMDAL_ROKEN_GETPROGNAME]
CFLAGS = -Iheimdal_build -Iheimdal/lib/roken -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/roken/getprogname.o
+OBJ_FILES = ./heimdal/lib/roken/getprogname.o
[SUBSYSTEM::HEIMDAL_ROKEN_CLOSEFROM]
CFLAGS = -Iheimdal_build -Iheimdal/lib/roken -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/roken/closefrom.o
+OBJ_FILES = ./heimdal/lib/roken/closefrom.o
[SUBSYSTEM::HEIMDAL_ROKEN_GETPROGNAME_H]
CFLAGS = -Iheimdal_build -Iheimdal/lib/roken -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/roken/getprogname.ho
+OBJ_FILES = ./heimdal/lib/roken/getprogname.ho
#######################
# Start SUBSYSTEM HEIMDAL_ROKEN
[SUBSYSTEM::HEIMDAL_ROKEN]
CFLAGS = -Iheimdal_build -Iheimdal/lib/roken -Ilib/socket_wrapper
OBJ_FILES = \
- ../heimdal/lib/roken/base64.o \
- ../heimdal/lib/roken/hex.o \
- ../heimdal/lib/roken/bswap.o \
- ../heimdal/lib/roken/dumpdata.o \
- ../heimdal/lib/roken/emalloc.o \
- ../heimdal/lib/roken/ecalloc.o \
- ../heimdal/lib/roken/get_window_size.o \
- ../heimdal/lib/roken/h_errno.o \
- ../heimdal/lib/roken/issuid.o \
- ../heimdal/lib/roken/net_read.o \
- ../heimdal/lib/roken/net_write.o \
- ../heimdal/lib/roken/socket.o \
- ../heimdal/lib/roken/parse_time.o \
- ../heimdal/lib/roken/parse_units.o \
- ../heimdal/lib/roken/resolve.o \
- ../heimdal/lib/roken/roken_gethostby.o \
- ../heimdal/lib/roken/signal.o \
- ../heimdal/lib/roken/vis.o \
- ../heimdal/lib/roken/strlwr.o \
- ../heimdal/lib/roken/strsep_copy.o \
- ../heimdal/lib/roken/strsep.o \
- ../heimdal/lib/roken/strupr.o \
- ../heimdal/lib/roken/strpool.o \
- ../heimdal/lib/roken/estrdup.o \
- ../heimdal/lib/roken/erealloc.o \
- ../heimdal/lib/roken/simple_exec.o \
- ../heimdal/lib/roken/strcollect.o \
- ../heimdal/lib/roken/rtbl.o \
+ ./heimdal/lib/roken/base64.o \
+ ./heimdal/lib/roken/hex.o \
+ ./heimdal/lib/roken/bswap.o \
+ ./heimdal/lib/roken/dumpdata.o \
+ ./heimdal/lib/roken/emalloc.o \
+ ./heimdal/lib/roken/ecalloc.o \
+ ./heimdal/lib/roken/get_window_size.o \
+ ./heimdal/lib/roken/h_errno.o \
+ ./heimdal/lib/roken/issuid.o \
+ ./heimdal/lib/roken/net_read.o \
+ ./heimdal/lib/roken/net_write.o \
+ ./heimdal/lib/roken/socket.o \
+ ./heimdal/lib/roken/parse_time.o \
+ ./heimdal/lib/roken/parse_units.o \
+ ./heimdal/lib/roken/resolve.o \
+ ./heimdal/lib/roken/roken_gethostby.o \
+ ./heimdal/lib/roken/signal.o \
+ ./heimdal/lib/roken/vis.o \
+ ./heimdal/lib/roken/strlwr.o \
+ ./heimdal/lib/roken/strsep_copy.o \
+ ./heimdal/lib/roken/strsep.o \
+ ./heimdal/lib/roken/strupr.o \
+ ./heimdal/lib/roken/strpool.o \
+ ./heimdal/lib/roken/estrdup.o \
+ ./heimdal/lib/roken/erealloc.o \
+ ./heimdal/lib/roken/simple_exec.o \
+ ./heimdal/lib/roken/strcollect.o \
+ ./heimdal/lib/roken/rtbl.o \
replace.o
PUBLIC_DEPENDENCIES = \
HEIMDAL_ROKEN_GETPROGNAME \
@@ -433,8 +433,8 @@ PUBLIC_DEPENDENCIES = LIBNETIF LIBSAMBA-CONFIG
[SUBSYSTEM::HEIMDAL_COM_ERR]
CFLAGS = -Iheimdal_build -Iheimdal/lib/com_err
OBJ_FILES = \
- ../heimdal/lib/com_err/com_err.o \
- ../heimdal/lib/com_err/error.o
+ ./heimdal/lib/com_err/com_err.o \
+ ./heimdal/lib/com_err/error.o
PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN
# End SUBSYSTEM HEIMDAL_COM_ERR
#######################
@@ -443,7 +443,7 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ROKEN
# Start SUBSYSTEM HEIMDAL_ASN1_COMPILE_LEX
[SUBSYSTEM::HEIMDAL_ASN1_COMPILE_LEX]
CFLAGS = -Iheimdal_build -Iheimdal/lib/asn1 -Iheimdal/lib/roken -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/asn1/lex.ho
+OBJ_FILES = ./heimdal/lib/asn1/lex.ho
# End SUBSYSTEM HEIMDAL_ASN1_COMPILE_LEX
#######################
@@ -453,27 +453,27 @@ OBJ_FILES = ../heimdal/lib/asn1/lex.ho
CFLAGS = -Iheimdal_build -Iheimdal/lib/roken
USE_HOSTCC = YES
OBJ_FILES = \
- ../heimdal/lib/asn1/main.ho \
- ../heimdal/lib/asn1/gen.ho \
- ../heimdal/lib/asn1/gen_copy.ho \
- ../heimdal/lib/asn1/gen_decode.ho \
- ../heimdal/lib/asn1/gen_encode.ho \
- ../heimdal/lib/asn1/gen_free.ho \
- ../heimdal/lib/asn1/gen_glue.ho \
- ../heimdal/lib/asn1/gen_length.ho \
- ../heimdal/lib/asn1/gen_seq.ho \
- ../heimdal/lib/asn1/hash.ho \
- ../heimdal/lib/asn1/parse.ho \
- ../heimdal/lib/roken/emalloc.ho \
- ../heimdal/lib/roken/getarg.ho \
- ../heimdal/lib/roken/setprogname.ho \
- ../heimdal/lib/roken/strupr.ho \
- ../heimdal/lib/roken/get_window_size.ho \
- ../heimdal/lib/roken/estrdup.ho \
- ../heimdal/lib/roken/ecalloc.ho \
- ../heimdal/lib/asn1/symbol.ho \
- ../heimdal/lib/vers/print_version.ho \
- ../lib/socket_wrapper/socket_wrapper.ho \
+ ./heimdal/lib/asn1/main.ho \
+ ./heimdal/lib/asn1/gen.ho \
+ ./heimdal/lib/asn1/gen_copy.ho \
+ ./heimdal/lib/asn1/gen_decode.ho \
+ ./heimdal/lib/asn1/gen_encode.ho \
+ ./heimdal/lib/asn1/gen_free.ho \
+ ./heimdal/lib/asn1/gen_glue.ho \
+ ./heimdal/lib/asn1/gen_length.ho \
+ ./heimdal/lib/asn1/gen_seq.ho \
+ ./heimdal/lib/asn1/hash.ho \
+ ./heimdal/lib/asn1/parse.ho \
+ ./heimdal/lib/roken/emalloc.ho \
+ ./heimdal/lib/roken/getarg.ho \
+ ./heimdal/lib/roken/setprogname.ho \
+ ./heimdal/lib/roken/strupr.ho \
+ ./heimdal/lib/roken/get_window_size.ho \
+ ./heimdal/lib/roken/estrdup.ho \
+ ./heimdal/lib/roken/ecalloc.ho \
+ ./heimdal/lib/asn1/symbol.ho \
+ ./heimdal/lib/vers/print_version.ho \
+ ./lib/socket_wrapper/socket_wrapper.ho \
replace.ho
PRIVATE_DEPENDENCIES = HEIMDAL_ASN1_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H EXT_SOCKET EXT_NSL
@@ -484,7 +484,7 @@ PRIVATE_DEPENDENCIES = HEIMDAL_ASN1_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H EXT_
# Start SUBSYSTEM HEIMDAL_COM_ERR_COMPILE_LEX
[SUBSYSTEM::HEIMDAL_COM_ERR_COMPILE_LEX]
CFLAGS = -Iheimdal_build -Iheimdal/lib/com_err -Iheimdal/lib/roken -Ilib/socket_wrapper
-OBJ_FILES = ../heimdal/lib/com_err/lex.ho
+OBJ_FILES = ./heimdal/lib/com_err/lex.ho
# End SUBSYSTEM HEIMDAL_COM_ERR_COMPILE_LEX
#######################
@@ -493,14 +493,14 @@ OBJ_FILES = ../heimdal/lib/com_err/lex.ho
[BINARY::compile_et]
CFLAGS = -Iheimdal_build -Iheimdal/lib/roken
USE_HOSTCC = YES
-OBJ_FILES = ../heimdal/lib/vers/print_version.ho \
- ../heimdal/lib/com_err/parse.ho \
- ../heimdal/lib/com_err/compile_et.ho \
- ../heimdal/lib/roken/getarg.ho \
- ../heimdal/lib/roken/get_window_size.ho \
- ../heimdal/lib/roken/strupr.ho \
- ../heimdal/lib/roken/setprogname.ho \
- ../lib/socket_wrapper/socket_wrapper.ho \
+OBJ_FILES = ./heimdal/lib/vers/print_version.ho \
+ ./heimdal/lib/com_err/parse.ho \
+ ./heimdal/lib/com_err/compile_et.ho \
+ ./heimdal/lib/roken/getarg.ho \
+ ./heimdal/lib/roken/get_window_size.ho \
+ ./heimdal/lib/roken/strupr.ho \
+ ./heimdal/lib/roken/setprogname.ho \
+ ./lib/socket_wrapper/socket_wrapper.ho \
replace.ho
PRIVATE_DEPENDENCIES = HEIMDAL_COM_ERR_COMPILE_LEX HEIMDAL_ROKEN_GETPROGNAME_H EXT_SOCKET EXT_NSL
# End BINARY compile_et
@@ -522,7 +522,7 @@ mkinclude perl_path_wrapper.sh asn1_deps.pl heimdal/lib/asn1/kx509.asn1 kx509_as
mkinclude perl_path_wrapper.sh asn1_deps.pl heimdal/lib/hx509/pkcs10.asn1 pkcs10_asn1 heimdal/lib/hx509 --preserve-binary=CertificationRequestInfo|
#
-# Ensure to update ../static_deps.mk when you add a new entry here!
+# Ensure to update ./static_deps.mk when you add a new entry here!
#
mkinclude perl_path_wrapper.sh et_deps.pl heimdal/lib/asn1/asn1_err.et heimdal/lib/asn1|
mkinclude perl_path_wrapper.sh et_deps.pl heimdal/lib/hdb/hdb_err.et heimdal/lib/hdb|
@@ -540,7 +540,7 @@ clean::
# Start SUBSYSTEM HEIMDAL
[SUBSYSTEM::HEIMDAL]
CFLAGS = -Iheimdal_build
-OBJ_FILES = ../heimdal/lib/vers/print_version.o
+OBJ_FILES = ./heimdal/lib/vers/print_version.o
PUBLIC_DEPENDENCIES = \
HEIMDAL_GSSAPI HEIMDAL_KRB5
# End SUBSYSTEM HEIMDAL
@@ -558,10 +558,10 @@ PUBLIC_DEPENDENCIES = HEIMDAL
# Start BINARY compile_et
[BINARY::samba4kinit]
CFLAGS = -Iheimdal_build -Iheimdal/lib/roken
-OBJ_FILES = ../heimdal/kuser/kinit.o \
- ../heimdal/lib/vers/print_version.o \
- ../heimdal/lib/roken/setprogname.o \
- ../heimdal/lib/roken/getarg.o
+OBJ_FILES = ./heimdal/kuser/kinit.o \
+ ./heimdal/lib/vers/print_version.o \
+ ./heimdal/lib/roken/setprogname.o \
+ ./heimdal/lib/roken/getarg.o
PRIVATE_DEPENDENCIES = HEIMDAL_KRB5 HEIMDAL_NTLM
# End BINARY compile_et
#######################
diff --git a/source4/lib/charset/config.mk b/source4/lib/charset/config.mk
index 4f0c80c79d..2dd5b05c94 100644
--- a/source4/lib/charset/config.mk
+++ b/source4/lib/charset/config.mk
@@ -6,7 +6,7 @@ OBJ_FILES = \
charcnv.o \
util_unistr.o
PUBLIC_HEADERS = charset.h
-PUBLIC_PROTO_HEADER = charset_proto.h
+PRIVATE_PROTO_HEADER = charset_proto.h
PUBLIC_DEPENDENCIES = ICONV
PRIVATE_DEPENDENCIES = DYNCONFIG
# End SUBSYSTEM CHARSET
diff --git a/source4/lib/events/events.c b/source4/lib/events/events.c
index 555a5092cc..969abeae46 100644
--- a/source4/lib/events/events.c
+++ b/source4/lib/events/events.c
@@ -58,9 +58,6 @@
#include "lib/events/events_internal.h"
#include "lib/util/dlinklist.h"
#include "param/param.h"
-#if _SAMBA_BUILD_
-#include "build.h"
-#endif
struct event_ops_list {
struct event_ops_list *next, *prev;
@@ -102,6 +99,9 @@ void event_set_default_backend(const char *backend)
static void event_backend_init(void)
{
#if _SAMBA_BUILD_
+ NTSTATUS s4_events_standard_init(void);
+ NTSTATUS s4_events_select_init(void);
+ NTSTATUS s4_events_epoll_init(void);
init_module_fn static_init[] = { STATIC_LIBEVENTS_MODULES };
if (event_backends) return;
run_init_functions(static_init);
diff --git a/source4/lib/ldb/common/ldb_modules.c b/source4/lib/ldb/common/ldb_modules.c
index 7da7b9ba34..ddbe0f23a6 100644
--- a/source4/lib/ldb/common/ldb_modules.c
+++ b/source4/lib/ldb/common/ldb_modules.c
@@ -35,7 +35,6 @@
#if (_SAMBA_BUILD_ >= 4)
#include "includes.h"
-#include "build.h"
#endif
#define LDB_MODULE_PREFIX "modules:"
@@ -126,14 +125,16 @@ static struct ops_list_entry {
struct ops_list_entry *next;
} *registered_modules = NULL;
+#define LDB_MODULE(name) (&ldb_ ## name ## _module_ops)
+
#ifndef STATIC_LIBLDB_MODULES
#define STATIC_LIBLDB_MODULES \
- ldb_operational_module_ops, \
- ldb_rdn_name_module_ops, \
- ldb_paged_results_module_ops, \
- ldb_sort_module_ops, \
- ldb_asq_module_ops, \
+ LDB_MODULE(operational), \
+ LDB_MODULE(rdn_name), \
+ LDB_MODULE(paged_results), \
+ LDB_MODULE(server_sort), \
+ LDB_MODULE(asq), \
NULL
#endif
diff --git a/source4/lib/ldb/config.mk b/source4/lib/ldb/config.mk
index d6980f341a..7d6328fc52 100644
--- a/source4/lib/ldb/config.mk
+++ b/source4/lib/ldb/config.mk
@@ -3,7 +3,7 @@
[MODULE::ldb_asq]
PRIVATE_DEPENDENCIES = LIBTALLOC
CFLAGS = -Ilib/ldb/include
-INIT_FUNCTION = &ldb_asq_module_ops
+INIT_FUNCTION = LDB_MODULE(asq)
SUBSYSTEM = LIBLDB
OBJ_FILES = \
modules/asq.o
@@ -15,7 +15,7 @@ OBJ_FILES = \
[MODULE::ldb_server_sort]
PRIVATE_DEPENDENCIES = LIBTALLOC
CFLAGS = -Ilib/ldb/include
-INIT_FUNCTION = &ldb_server_sort_module_ops
+INIT_FUNCTION = LDB_MODULE(server_sort)
SUBSYSTEM = LIBLDB
OBJ_FILES = \
modules/sort.o
@@ -25,7 +25,7 @@ OBJ_FILES = \
################################################
# Start MODULE ldb_paged_results
[MODULE::ldb_paged_results]
-INIT_FUNCTION = &ldb_paged_results_module_ops
+INIT_FUNCTION = LDB_MODULE(paged_results)
CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC
SUBSYSTEM = LIBLDB
@@ -37,7 +37,7 @@ OBJ_FILES = \
################################################
# Start MODULE ldb_paged_results
[MODULE::ldb_paged_searches]
-INIT_FUNCTION = &ldb_paged_searches_module_ops
+INIT_FUNCTION = LDB_MODULE(paged_searches)
CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC
SUBSYSTEM = LIBLDB
@@ -52,7 +52,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC
-INIT_FUNCTION = &ldb_operational_module_ops
+INIT_FUNCTION = LDB_MODULE(operational)
OBJ_FILES = \
modules/operational.o
# End MODULE ldb_operational
@@ -64,7 +64,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC
-INIT_FUNCTION = &ldb_rdn_name_module_ops
+INIT_FUNCTION = LDB_MODULE(rdn_name)
OBJ_FILES = \
modules/rdn_name.o
# End MODULE ldb_rdn_name
@@ -88,7 +88,7 @@ OBJ_FILES = \
SUBSYSTEM = LIBLDB
CFLAGS = -Ilib/ldb/include
PRIVATE_DEPENDENCIES = LIBTALLOC
-INIT_FUNCTION = &ldb_skel_module_ops
+INIT_FUNCTION = LDB_MODULE(skel)
OBJ_FILES = modules/skel.o
# End MODULE ldb_skel
################################################
diff --git a/source4/lib/ldb/include/ldb_private.h b/source4/lib/ldb/include/ldb_private.h
index d2dcc675a5..880aafd593 100644
--- a/source4/lib/ldb/include/ldb_private.h
+++ b/source4/lib/ldb/include/ldb_private.h
@@ -185,11 +185,17 @@ extern const struct ldb_module_ops ldb_paged_results_module_ops;
extern const struct ldb_module_ops ldb_rdn_name_module_ops;
extern const struct ldb_module_ops ldb_schema_module_ops;
extern const struct ldb_module_ops ldb_asq_module_ops;
-extern const struct ldb_module_ops ldb_sort_module_ops;
+extern const struct ldb_module_ops ldb_server_sort_module_ops;
extern const struct ldb_module_ops ldb_ldap_module_ops;
extern const struct ldb_module_ops ldb_ildap_module_ops;
+extern const struct ldb_module_ops ldb_paged_searches_module_ops;
extern const struct ldb_module_ops ldb_tdb_module_ops;
+extern const struct ldb_module_ops ldb_skel_module_ops;
+extern const struct ldb_module_ops ldb_subtree_rename_module_ops;
+extern const struct ldb_module_ops ldb_subtree_delete_module_ops;
extern const struct ldb_module_ops ldb_sqlite3_module_ops;
+extern const struct ldb_module_ops ldb_wins_ldb_module_ops;
+extern const struct ldb_module_ops ldb_ranged_results_module_ops;
extern const struct ldb_backend_ops ldb_tdb_backend_ops;
extern const struct ldb_backend_ops ldb_sqlite3_backend_ops;
diff --git a/source4/lib/registry/interface.c b/source4/lib/registry/interface.c
index a18fd2c28c..ff3ddf0a35 100644
--- a/source4/lib/registry/interface.c
+++ b/source4/lib/registry/interface.c
@@ -21,7 +21,6 @@
#include "lib/util/dlinklist.h"
#include "lib/registry/registry.h"
#include "system/filesys.h"
-#include "build.h"
/**
diff --git a/source4/lib/registry/local.c b/source4/lib/registry/local.c
index 3e463100c9..b2cdec9cdf 100644
--- a/source4/lib/registry/local.c
+++ b/source4/lib/registry/local.c
@@ -22,7 +22,6 @@
#include "lib/util/dlinklist.h"
#include "lib/registry/registry.h"
#include "system/filesys.h"
-#include "build.h"
struct reg_key_path {
uint32_t predefined_key;
diff --git a/source4/lib/tdr/config.mk b/source4/lib/tdr/config.mk
index b8473e5ba8..2d6c30ea50 100644
--- a/source4/lib/tdr/config.mk
+++ b/source4/lib/tdr/config.mk
@@ -1,6 +1,6 @@
[SUBSYSTEM::TDR]
CFLAGS = -Ilib/tdr
PUBLIC_HEADERS = tdr.h
-PUBLIC_PROTO_HEADER = tdr_proto.h
+PRIVATE_PROTO_HEADER = tdr_proto.h
PUBLIC_DEPENDENCIES = LIBTALLOC LIBSAMBA-UTIL
OBJ_FILES = tdr.o
diff --git a/source4/lib/util/config.mk b/source4/lib/util/config.mk
index f3e6cd7acf..6a19515708 100644
--- a/source4/lib/util/config.mk
+++ b/source4/lib/util/config.mk
@@ -34,7 +34,7 @@ PUBLIC_DEPENDENCIES = \
CHARSET EXECINFO
[SUBSYSTEM::ASN1_UTIL]
-PUBLIC_PROTO_HEADER = asn1_proto.h
+PRIVATE_PROTO_HEADER = asn1_proto.h
PUBLIC_HEADERS = asn1.h
OBJ_FILES = asn1.o
@@ -45,7 +45,7 @@ OBJ_FILES = unix_privs.o
################################################
# Start SUBSYSTEM WRAP_XATTR
[SUBSYSTEM::WRAP_XATTR]
-PUBLIC_PROTO_HEADER = wrap_xattr.h
+PRIVATE_PROTO_HEADER = wrap_xattr.h
OBJ_FILES = \
wrap_xattr.o
PUBLIC_DEPENDENCIES = XATTR
@@ -54,13 +54,13 @@ PUBLIC_DEPENDENCIES = XATTR
################################################
[SUBSYSTEM::UTIL_TDB]
-PUBLIC_PROTO_HEADER = util_tdb.h
+PRIVATE_PROTO_HEADER = util_tdb.h
OBJ_FILES = \
util_tdb.o
PUBLIC_DEPENDENCIES = LIBTDB
[SUBSYSTEM::UTIL_LDB]
-PUBLIC_PROTO_HEADER = util_ldb.h
+PRIVATE_PROTO_HEADER = util_ldb.h
OBJ_FILES = \
util_ldb.o
PUBLIC_DEPENDENCIES = LIBLDB
diff --git a/source4/libcli/config.mk b/source4/libcli/config.mk
index e4b6c71c8c..4771b947d5 100644
--- a/source4/libcli/config.mk
+++ b/source4/libcli/config.mk
@@ -103,7 +103,7 @@ PUBLIC_DEPENDENCIES = LIBCLI_NBT MESSAGING
[SUBSYSTEM::LIBCLI_SMB]
PUBLIC_HEADERS = libcli.h
-PUBLIC_PROTO_HEADER = libcli_proto.h
+PRIVATE_PROTO_HEADER = libcli_proto.h
OBJ_FILES = clireadwrite.o \
cliconnect.o \
clifile.o \
diff --git a/source4/libcli/ldap/config.mk b/source4/libcli/ldap/config.mk
index 239ee1f161..15e5304a09 100644
--- a/source4/libcli/ldap/config.mk
+++ b/source4/libcli/ldap/config.mk
@@ -1,5 +1,5 @@
[SUBSYSTEM::LIBCLI_LDAP]
-PUBLIC_PROTO_HEADER = ldap_proto.h
+PRIVATE_PROTO_HEADER = ldap_proto.h
PUBLIC_HEADERS = ldap.h
OBJ_FILES = ldap.o \
ldap_client.o \
@@ -13,6 +13,6 @@ PRIVATE_DEPENDENCIES = LIBCLI_COMPOSITE samba-socket NDR_SAMR LIBTLS ASN1_UTIL \
[SUBSYSTEM::LDAP_ENCODE]
-PUBLIC_PROTO_HEADER = ldap_ndr.h
+PRIVATE_PROTO_HEADER = ldap_ndr.h
OBJ_FILES = ldap_ndr.o
# FIXME PRIVATE_DEPENDENCIES = LIBLDB
diff --git a/source4/librpc/config.mk b/source4/librpc/config.mk
index 2fdef41b2a..c83f895642 100644
--- a/source4/librpc/config.mk
+++ b/source4/librpc/config.mk
@@ -5,7 +5,7 @@ VERSION = 0.0.1
SO_VERSION = 0
PC_FILE = ndr.pc
PUBLIC_HEADERS = ndr/libndr.h
-PUBLIC_PROTO_HEADER = ndr/libndr_proto.h
+PRIVATE_PROTO_HEADER = ndr/libndr_proto.h
OBJ_FILES = \
ndr/ndr.o \
ndr/ndr_basic.o \
@@ -277,12 +277,18 @@ OBJ_FILES = gen_ndr/ndr_winbind.o
PUBLIC_HEADERS = gen_ndr/winbind.h
PUBLIC_DEPENDENCIES = LIBNDR NDR_NETLOGON
-mkinclude ../heimdal_build/perl_path_wrapper.sh ../librpc/idl-deps.pl librpc/idl/*.idl|
+librpc/idl-deps:
+ ./librpc/idl-deps.pl librpc/idl/*.idl >$@
+
+clean::
+ rm -f librpc/idl-deps
+
+include librpc/idl-deps
librpc/gen_ndr/tables.c: $(IDL_NDR_PARSE_H_FILES)
- @echo Generating librpc/gen_ndr/tables.c
- @$(PERL) $(srcdir)/librpc/tables.pl --output=librpc/gen_ndr/tables.c $(IDL_NDR_PARSE_H_FILES) > librpc/gen_ndr/tables.x
- mv librpc/gen_ndr/tables.x librpc/gen_ndr/tables.c
+ @echo Generating $@
+ @$(PERL) $(srcdir)/librpc/tables.pl --output=$@ $(IDL_NDR_PARSE_H_FILES) > librpc/gen_ndr/tables.x
+ mv librpc/gen_ndr/tables.x $@
[SUBSYSTEM::NDR_TABLE]
OBJ_FILES = ndr/ndr_table.o gen_ndr/tables.o
@@ -462,7 +468,7 @@ PC_FILE = dcerpc.pc
PUBLIC_HEADERS = rpc/dcerpc.h \
gen_ndr/mgmt.h gen_ndr/ndr_mgmt.h gen_ndr/ndr_mgmt_c.h \
gen_ndr/epmapper.h gen_ndr/ndr_epmapper.h gen_ndr/ndr_epmapper_c.h
-PUBLIC_PROTO_HEADER = rpc/dcerpc_proto.h
+PRIVATE_PROTO_HEADER = rpc/dcerpc_proto.h
OBJ_FILES = \
rpc/dcerpc.o \
rpc/dcerpc_auth.o \
diff --git a/source4/nbt_server/config.mk b/source4/nbt_server/config.mk
index 9285044768..3036dad0b7 100644
--- a/source4/nbt_server/config.mk
+++ b/source4/nbt_server/config.mk
@@ -17,7 +17,7 @@ PUBLIC_DEPENDENCIES = \
[MODULE::ldb_wins_ldb]
SUBSYSTEM = LIBLDB
OUTPUT_TYPE = SHARED_LIBRARY
-INIT_FUNCTION = &ldb_wins_ldb_module_ops
+INIT_FUNCTION = LDB_MODULE(wins_ldb)
OBJ_FILES = \
wins/wins_ldb.o
PRIVATE_DEPENDENCIES = \
diff --git a/source4/param/config.mk b/source4/param/config.mk
index c3f50b13fe..505e2f0af8 100644
--- a/source4/param/config.mk
+++ b/source4/param/config.mk
@@ -6,14 +6,14 @@ OBJ_FILES = loadparm.o \
../lib/version.o
PUBLIC_DEPENDENCIES = LIBSAMBA-UTIL
PRIVATE_DEPENDENCIES = DYNCONFIG LIBREPLACE_EXT CHARSET
-PUBLIC_PROTO_HEADER = proto.h
+PRIVATE_PROTO_HEADER = proto.h
PUBLIC_HEADERS = param.h
#################################
# Start SUBSYSTEM share
[SUBSYSTEM::share]
PUBLIC_HEADERS = share.h
-PUBLIC_PROTO_HEADER = share_proto.h
+PRIVATE_PROTO_HEADER = share_proto.h
OBJ_FILES = share.o
PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL
# End SUBSYSTEM share
diff --git a/source4/rpc_server/config.mk b/source4/rpc_server/config.mk
index 0032a867d1..3433cc162f 100644
--- a/source4/rpc_server/config.mk
+++ b/source4/rpc_server/config.mk
@@ -3,7 +3,7 @@
################################################
# Start SUBSYSTEM DCERPC_COMMON
[SUBSYSTEM::DCERPC_COMMON]
-PUBLIC_PROTO_HEADER = common/proto.h
+PRIVATE_PROTO_HEADER = common/proto.h
PUBLIC_HEADERS = common/common.h
OBJ_FILES = \
common/server_info.o \
@@ -184,7 +184,7 @@ PRIVATE_DEPENDENCIES = \
# Start SUBSYSTEM dcerpc_server
[SUBSYSTEM::dcerpc_server]
PUBLIC_HEADERS = dcerpc_server.h
-PUBLIC_PROTO_HEADER = dcerpc_server_proto.h
+PRIVATE_PROTO_HEADER = dcerpc_server_proto.h
OBJ_FILES = \
dcerpc_server.o \
dcesrv_auth.o \
diff --git a/source4/rules.mk b/source4/rules.mk
index b6a54fae25..0d529b7314 100644
--- a/source4/rules.mk
+++ b/source4/rules.mk
@@ -1,41 +1,27 @@
# Dependencies command
DEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.o) -MT $@ \
- $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
- $(CPPFLAGS) $(FIRST_PREREQ) -o $@
+ $(CFLAGS) $(CPPFLAGS) $< -o $@
# Dependencies for host objects
HDEPENDS = $(CC) -M -MG -MP -MT $(<:.c=.ho) -MT $@ \
- $(HOSTCC_FLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
- $(CPPFLAGS) $(FIRST_PREREQ) -o $@
+ $(HOSTCC_FLAGS) $(CPPFLAGS) $< -o $@
# Dependencies for precompiled headers
PCHDEPENDS = $(CC) -M -MG -MT include/includes.h.gch -MT $@ \
- $(CFLAGS) $(CPPFLAGS) $(FIRST_PREREQ) -o $@
-
-# $< is broken in older BSD versions:
-# when $@ is foo/bar.o, $< could be torture/foo/bar.c
-# if it also exists. So better use $* which is foo/bar
-# and append .c manually to get foo/bar.c
-#
-# If we have GNU Make, it is safe to use $<, which also lets
-# building with $srcdir != $builddir work.
+ $(CFLAGS) $(CPPFLAGS) $< -o $@
# Run a static analysis checker
-CHECK = $(CC_CHECKER) $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
- $(PICFLAG) $(CPPLAGS) -c $(FIRST_PREREQ) -o $@
+CHECK = $(CC_CHECKER) $(CFLAGS) $(PICFLAG) $(CPPLAGS) -c $< -o $@
# Run the configured compiler
COMPILE = $(CC) $(CFLAGS) $(PICFLAG) \
- `$(PERL) $(srcdir)/script/cflags.pl $@` \
$(CPPFLAGS) \
- -c $(FIRST_PREREQ) -o $@
+ -c $< -o $@
# Run the compiler for the build host
-HCOMPILE = $(HOSTCC) $(HOSTCC_FLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
- $(CPPFLAGS) -c $(FIRST_PREREQ) -o $@
+HCOMPILE = $(HOSTCC) $(HOSTCC_FLAGS) $(CPPFLAGS) -c $< -o $@
# Precompile headers
PCHCOMPILE = @$(CC) -Ilib/replace \
- $(CFLAGS) `$(PERL) $(srcdir)/script/cflags.pl $@` \
- $(PICFLAG) $(CPPFLAGS) -c $(FIRST_PREREQ) -o $@
+ $(CFLAGS) $(PICFLAG) $(CPPFLAGS) -c $< -o $@
# Partial linking
PARTLINK = @$(PROG_LD) -r
@@ -101,6 +87,43 @@ unused_macros:
$(srcdir)/script/find_unused_macros.pl `find . -name "*.[ch]"` | sort
###############################################################################
+# 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)
+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)
+endef
+
+# Create a prototype header
+# Arguments: header file, c files
+define proto_header_template
+$(1): $(2) ;
+ @echo "Creating $$@"
+ @$$(PERL) $$(srcdir)/script/mkproto.pl --srcdir=$$(srcdir) --builddir=$$(builddir) --all=$$@ $$^
+endef
+
+###############################################################################
# File types
###############################################################################
@@ -127,9 +150,11 @@ include/includes.d: include/includes.h
@-mkdir -p `dirname $@`
@$(COMPILE) && exit 0 ; \
echo "The following command failed:" 1>&2;\
- echo "$(COMPILE)" 1>&2;\
$(COMPILE) >/dev/null 2>&1
+
+# echo "$(COMPILE)" 1>&2;\
+
.c.ho:
@echo "Compiling $< with host compiler"
@-mkdir -p `dirname $@`
@@ -150,6 +175,13 @@ include/includes.d: include/includes.h
@echo "Building $< with $(LEX)"
@-$(srcdir)/script/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:
@@ -167,9 +199,6 @@ DOCBOOK_MANPAGE_URL = http://docbook.sourceforge.net/release/xsl/current/manpage
.8.xml.8:
$(XSLTPROC) -o $@ $(DOCBOOK_MANPAGE_URL) $<
-DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \
- include/includes.d
-
dist:: idl_full manpages configure distclean
configure:
diff --git a/source4/script/cflags.pl b/source4/script/cflags.pl
deleted file mode 100755
index 37b5aa7e71..0000000000
--- a/source4/script/cflags.pl
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env perl
-
-# This is a hack to allow per target cflags. It isn't very elegant, but it
-# is the most portable idea we have come up with yet
-# tridge@samba.org, July 2005
-# jelmer@samba.org, March 2006
-use strict;
-
-my $target = shift;
-
-my $vars = {};
-
-sub check_flags($$);
-sub check_flags($$)
-{
- my ($path, $name)=@_;
- open (IN, $path);
- foreach my $line (<IN>) {
- if ($line =~ /^include (.*)$/) {
- check_flags($1, $name);
- } elsif ($line =~ /^([A-Za-z0-9_]+) =(.*)$/) {
- $vars->{$1} = $2;
- } elsif ($line =~ /^([^:]+): (.*)$/) {
- next unless (grep(/^$target$/, (split / /, $1)));
- my $data = $2;
- $data =~ s/^CFLAGS\+=//;
- foreach my $key (keys %$vars) {
- my $val = $vars->{$key};
- $data =~ s/\$\($key\)/$val/g;
- }
- # Remove undefined variables
- $data =~ s/\$\([A-Za-z0-9_]+\)//g;
- print "$data ";
- }
- }
- close(IN);
-}
-
-check_flags("extra_cflags.txt", $target);
-print "\n";
-
-exit 0;
diff --git a/source4/script/mkproto.pl b/source4/script/mkproto.pl
index 3ed845e2bb..d1f8f886f6 100755
--- a/source4/script/mkproto.pl
+++ b/source4/script/mkproto.pl
@@ -157,7 +157,9 @@ sub process_file($$$)
$filename =~ s/\.o$/\.c/g;
- if (!open(FH, "< $builddir/$filename")) {
+ if ($filename =~ /^\//) {
+ open(FH, "<$filename") or die("Failed to open $filename");
+ } elsif (!open(FH, "< $builddir/$filename")) {
open(FH, "< $srcdir/$filename") || die "Failed to open $filename";
}
diff --git a/source4/scripting/ejs/smbcalls.c b/source4/scripting/ejs/smbcalls.c
index 1f29fce002..ac1c20008b 100644
--- a/source4/scripting/ejs/smbcalls.c
+++ b/source4/scripting/ejs/smbcalls.c
@@ -23,7 +23,6 @@
#include "includes.h"
#include "param/param.h"
#include "scripting/ejs/smbcalls.h"
-#include "build.h"
#include "version.h"
/*
@@ -173,6 +172,32 @@ _PUBLIC_ void ejs_exception(const char *reason)
*/
void smb_setup_ejs_functions(void (*exception_handler)(const char *))
{
+ extern NTSTATUS ejs_init_security(void);
+ extern NTSTATUS ejs_init_initshutdown(void);
+ extern NTSTATUS smb_setup_ejs_reg(void);
+ extern NTSTATUS smb_setup_ejs_string(void);
+ extern NTSTATUS ejs_init_lsarpc(void);
+ extern NTSTATUS ejs_init_rpcecho(void);
+ extern NTSTATUS ejs_init_winreg(void);
+ extern NTSTATUS smb_setup_ejs_random(void);
+ extern NTSTATUS smb_setup_ejs_config(void);
+ extern NTSTATUS ejs_init_misc(void);
+ extern NTSTATUS ejs_init_netdfs(void);
+ extern NTSTATUS smb_setup_ejs_datablob(void);
+ extern NTSTATUS smb_setup_ejs_auth(void);
+ extern NTSTATUS smb_setup_ejs_nss(void);
+ extern NTSTATUS ejs_init_samr(void);
+ extern NTSTATUS ejs_init_wkssvc(void);
+ extern NTSTATUS smb_setup_ejs_system(void);
+ extern NTSTATUS smb_setup_ejs_ldb(void);
+ extern NTSTATUS ejs_init_svcctl(void);
+ extern NTSTATUS smb_setup_ejs_nbt(void);
+ extern NTSTATUS smb_setup_ejs_net(void);
+ extern NTSTATUS ejs_init_srvsvc(void);
+ extern NTSTATUS ejs_init_netlogon(void);
+ extern NTSTATUS ejs_init_drsuapi(void);
+ extern NTSTATUS ejs_init_irpc(void);
+ extern NTSTATUS ejs_init_eventlog(void);
init_module_fn static_init[] = { STATIC_smbcalls_MODULES };
init_module_fn *shared_init;
diff --git a/source4/scripting/python/config.mk b/source4/scripting/python/config.mk
index b15e1fcda7..16cd301aad 100644
--- a/source4/scripting/python/config.mk
+++ b/source4/scripting/python/config.mk
@@ -35,6 +35,10 @@ PYDOCTOR_MODULES=bin/python/ldb.py bin/python/auth.py bin/python/credentials.py
pydoctor:: pythonmods
LD_LIBRARY_PATH=bin/shared PYTHONPATH=bin/python pydoctor --project-name=Samba --make-html --docformat=restructuredtext --add-package scripting/python/samba/ $(addprefix --add-module , $(PYDOCTOR_MODULES))
+bin/python/%.py:
+ mkdir -p $(@D)
+ cp $< $@
+
installpython:: pythonmods
@$(SHELL) $(srcdir)/script/installpython.sh \
$(INSTALLPERMS) \
diff --git a/source4/torture/config.mk b/source4/torture/config.mk
index 626349a45d..8dc13e3f8b 100644
--- a/source4/torture/config.mk
+++ b/source4/torture/config.mk
@@ -4,7 +4,7 @@ SO_VERSION = 0
VERSION = 0.0.1
PC_FILE = torture.pc
PUBLIC_HEADERS = torture.h ui.h
-PUBLIC_PROTO_HEADER = proto.h
+PRIVATE_PROTO_HEADER = proto.h
OBJ_FILES = \
torture.o \
ui.o