summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2006-10-25 14:58:05 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:24:39 -0500
commitbc596cf917a25569f71d7d2b72ba11f3cb34dd54 (patch)
treee91562b93162903a6c1c3925d966f6226d49f6bb
parentf8afc52ed0125e15d1ea05e79a0f86077dc92ddd (diff)
downloadsamba-bc596cf917a25569f71d7d2b72ba11f3cb34dd54.tar.gz
samba-bc596cf917a25569f71d7d2b72ba11f3cb34dd54.tar.bz2
samba-bc596cf917a25569f71d7d2b72ba11f3cb34dd54.zip
r19495: Stop linking binaries twice (once before installation, once during build).
Make TORTURE-TALLOC and TORTURE-REPLACE builtin again rather than separate binaries. (This used to be commit 8913d60c72a67b041b08d569c9bd048953106c85)
-rw-r--r--source4/build/smb_build/makefile.pm41
-rw-r--r--source4/dynconfig.mk20
-rw-r--r--source4/lib/basic.mk1
-rw-r--r--source4/lib/replace/test/testsuite.c11
-rw-r--r--source4/lib/talloc/config.mk5
-rw-r--r--source4/lib/talloc/testsuite.c11
-rw-r--r--source4/torture/local/config.mk3
-rw-r--r--source4/torture/local/local.c3
8 files changed, 27 insertions, 68 deletions
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index 780ba99f03..30ebf962e0 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -106,18 +106,10 @@ sub _prepare_compiler_linker($)
{
my ($self) = @_;
- my $devld_local = "";
my $devld_install = "";
my $builddir_headers = "";
- $self->{duplicate_build} = 0;
- if ($self->{developer}) {
- $self->{duplicate_build} = 1;
- }
if ($self->{config}->{LIBRARY_OUTPUT_TYPE} eq "SHARED_LIBRARY") {
- if ($self->{duplicate_build}) {
- $devld_local = " -Wl,-rpath,\$(builddir)/bin";
- }
$devld_install = " -Wl,-rpath-link,\$(builddir)/bin";
}
@@ -138,7 +130,6 @@ CFLAGS=$self->{config}->{CFLAGS} \$(CPPFLAGS)
PICFLAG=$self->{config}->{PICFLAG}
HOSTCC=$self->{config}->{HOSTCC}
-LOCAL_LINK_FLAGS=$devld_local
INSTALL_LINK_FLAGS=$devld_install
LD=$self->{config}->{LD}
@@ -219,11 +210,7 @@ sub SharedLibrary($$)
my $installdir;
my $init_obj = "";
- if ($self->{duplicate_build}) {
- $installdir = $ctx->{RELEASEDIR};
- } else {
- $installdir = $ctx->{DEBUGDIR};
- }
+ $installdir = $ctx->{DEBUGDIR};
if ($ctx->{TYPE} eq "LIBRARY") {
push (@{$self->{shared_libs}}, "$ctx->{DEBUGDIR}/$ctx->{LIBRARY_REALNAME}") if (defined($ctx->{SO_VERSION}));
@@ -379,13 +366,7 @@ sub Binary($$)
my $dynconfig = "dynconfig.o";
my $dynconfig_install = "dynconfig.o";
- if ($self->{duplicate_build}) {
- $installdir = "bin/install$extradir";
- $dynconfig = "dynconfig-devel.o";
- $dynconfig_install = "dynconfig.o";
- } else {
- $installdir = "bin$extradir";
- }
+ $installdir = "bin$extradir";
push(@{$self->{all_objs}}, "\$($ctx->{TYPE}_$ctx->{NAME}_FULL_OBJ_LIST)");
@@ -406,18 +387,6 @@ sub Binary($$)
$self->_prepare_list($ctx, "DEPEND_LIST");
$self->_prepare_list($ctx, "LINK_FLAGS");
- if ($self->{duplicate_build}) {
- $self->output(<< "__EOD__"
-#
-$localdir/$ctx->{BINARY}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_FULL_OBJ_LIST) $dynconfig
- \@echo Linking \$\@
- \@\$(LD) \$(LDFLAGS) -o \$\@ \$(LOCAL_LINK_FLAGS) $dynconfig \\
- \$(INSTALL_LINK_FLAGS) \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS)
-
-__EOD__
-);
- }
-
$self->output(<< "__EOD__"
$installdir/$ctx->{BINARY}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_FULL_OBJ_LIST) $dynconfig_install
\@echo Linking \$\@
@@ -545,12 +514,6 @@ sub write($$)
$self->output("\ninstallplugins: \$(PLUGINS)\n".$self->{install_plugins}."\n");
$self->output("\nuninstallplugins:\n".$self->{uninstall_plugins}."\n");
- # nasty hack to allow running locally
- if ($self->{duplicate_build}) {
- $self->output("bin/libdynconfig.\$(SHLIBEXT).0.0.1: dynconfig-devel.o\n");
- $self->output("bin/libdynconfig.\$(SHLIBEXT).0.0.1: LIBRARY_DYNCONFIG_OBJ_LIST=dynconfig-devel.o\n");
- }
-
$self->_prepare_mk_files();
$self->output($self->{mkfile});
diff --git a/source4/dynconfig.mk b/source4/dynconfig.mk
index ed901a838d..c17e2638ad 100644
--- a/source4/dynconfig.mk
+++ b/source4/dynconfig.mk
@@ -17,23 +17,3 @@ PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" \
dynconfig.o: dynconfig.c Makefile
@echo Compiling $<
@$(CC) `$(PERL) $(srcdir)/script/cflags.pl $@` $(CFLAGS) $(PICFLAG) $(PATH_FLAGS) -c $< -o $@
-
-# dynconfig defines used for binaries in bin/, when configure ran in developer
-# mode:
-
-DEVEL_PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" -DBINDIR=\"$(builddir)/bin\" \
- -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" -DLOCKDIR=\"$(LOCKDIR)\" \
- -DPIDDIR=\"$(PIDDIR)\" -DDATADIR=\"$(srcdir)/codepages\" \
- -DLOGFILEBASE=\"$(LOGFILEBASE)\" -DSHLIBEXT=\"$(SHLIBEXT)\" \
- -DCONFIGDIR=\"$(CONFIGDIR)\" -DNCALRPCDIR=\"$(NCALRPCDIR)\" \
- -DSWATDIR=\"$(srcdir)/../../swat\" \
- -DSERVICESDIR=\"$(srcdir)/../../services\"\
- -DPRIVATE_DIR=\"$(PRIVATEDIR)\" \
- -DMODULESDIR=\"$(builddir)/bin/modules\" \
- -DJSDIR=\"$(srcdir)/../scripting/libjs\" \
- -DSETUPDIR=\"$(srcdir)/setup\" -DTORTUREDIR=\"$(srcdir)/bin/torture\" \
- -DWINBINDD_SOCKET_DIR=\"$(WINBINDD_SOCKET_DIR)\"
-
-dynconfig-devel.o: dynconfig.c Makefile
- @echo Compiling $<
- @$(CC) `$(PERL) $(srcdir)/script/cflags.pl $@` -Ilib/replace $(CFLAGS) $(PICFLAG) $(DEVEL_PATH_FLAGS) -c $< -o $@
diff --git a/source4/lib/basic.mk b/source4/lib/basic.mk
index 4abb2c8430..b5a3a031eb 100644
--- a/source4/lib/basic.mk
+++ b/source4/lib/basic.mk
@@ -4,7 +4,6 @@ include socket/config.mk
include charset/config.mk
include ldb/config.mk
include talloc/config.mk
-include replace/config.mk
include tdb/config.mk
include tls/config.mk
include registry/config.mk
diff --git a/source4/lib/replace/test/testsuite.c b/source4/lib/replace/test/testsuite.c
index a57247377b..48197cf721 100644
--- a/source4/lib/replace/test/testsuite.c
+++ b/source4/lib/replace/test/testsuite.c
@@ -417,8 +417,7 @@ static int test_socketpair(void)
}
struct torture_context;
-
-int main()
+bool torture_local_replace(struct torture_context *ctx)
{
bool ret = true;
ret &= test_ftruncate();
@@ -466,7 +465,15 @@ int main()
ret &= test_MAX();
ret &= test_socketpair();
+ return ret;
+}
+
+#ifndef _SAMBA_BUILD_
+int main()
+{
+ bool ret = torture_local_replace(NULL);
if (ret)
return 0;
return -1;
}
+#endif
diff --git a/source4/lib/talloc/config.mk b/source4/lib/talloc/config.mk
index 0b06687dab..714ad72d1c 100644
--- a/source4/lib/talloc/config.mk
+++ b/source4/lib/talloc/config.mk
@@ -11,8 +11,3 @@ DESCRIPTION = A hierarchical pool based memory system with destructors
#
# End LIBRARY LIBTALLOC
################################################
-
-[BINARY::TALLOC]
-OBJ_FILES = testsuite.o
-PRIVATE_DEPENDENCIES = LIBTALLOC
-INSTALLDIR = TORTUREDIR/LOCAL
diff --git a/source4/lib/talloc/testsuite.c b/source4/lib/talloc/testsuite.c
index 4904b21f9b..8f2a211b47 100644
--- a/source4/lib/talloc/testsuite.c
+++ b/source4/lib/talloc/testsuite.c
@@ -1025,7 +1025,8 @@ static bool test_autofree(void)
return true;
}
-int main(void)
+struct torture_context;
+bool torture_local_talloc(struct torture_context *tctx)
{
bool ret = true;
@@ -1057,7 +1058,15 @@ int main(void)
}
ret &= test_autofree();
+ return ret;
+}
+
+#ifndef _SAMBA_BUILD_
+int main(void)
+{
+ bool ret = torture_local_talloc(NULL);
if (!ret)
return -1;
return 0;
}
+#endif
diff --git a/source4/torture/local/config.mk b/source4/torture/local/config.mk
index 55659447ec..9917dcb128 100644
--- a/source4/torture/local/config.mk
+++ b/source4/torture/local/config.mk
@@ -12,6 +12,9 @@ OBJ_FILES = \
../../lib/crypto/hmacmd5test.o \
../../lib/crypto/sha1test.o \
../../lib/crypto/hmacsha1test.o \
+ ../../lib/talloc/testsuite.o \
+ ../../lib/replace/test/os2_delete.o \
+ ../../lib/replace/test/testsuite.o \
messaging.o \
binding_string.o \
idtree.o \
diff --git a/source4/torture/local/local.c b/source4/torture/local/local.c
index 3846c3b18c..47a91c96f7 100644
--- a/source4/torture/local/local.c
+++ b/source4/torture/local/local.c
@@ -53,6 +53,9 @@ NTSTATUS torture_local_init(void)
talloc_autofree_context(),
"LOCAL");
+ torture_suite_add_simple_test(suite, "TALLOC", torture_local_talloc);
+ torture_suite_add_simple_test(suite, "REPLACE", torture_local_replace);
+
torture_suite_add_simple_test(suite, "CRYPTO-SHA1",
torture_local_crypto_sha1);
torture_suite_add_simple_test(suite,