From 8913d60c72a67b041b08d569c9bd048953106c85 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 25 Oct 2006 14:58:05 +0000 Subject: [PATCH] r19495: Stop linking binaries twice (once before installation, once during build). Make TORTURE-TALLOC and TORTURE-REPLACE builtin again rather than separate binaries. --- source/build/smb_build/makefile.pm | 41 ++----------------------------------- source/dynconfig.mk | 20 ------------------ source/lib/basic.mk | 1 - source/lib/replace/test/testsuite.c | 11 ++++++++-- source/lib/talloc/config.mk | 5 ----- source/lib/talloc/testsuite.c | 11 +++++++++- source/torture/local/config.mk | 3 +++ source/torture/local/local.c | 3 +++ 8 files changed, 27 insertions(+), 68 deletions(-) diff --git a/source/build/smb_build/makefile.pm b/source/build/smb_build/makefile.pm index 780ba99f039..30ebf962e08 100644 --- a/source/build/smb_build/makefile.pm +++ b/source/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/source/dynconfig.mk b/source/dynconfig.mk index ed901a838da..c17e2638ada 100644 --- a/source/dynconfig.mk +++ b/source/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/source/lib/basic.mk b/source/lib/basic.mk index 4abb2c8430b..b5a3a031eb9 100644 --- a/source/lib/basic.mk +++ b/source/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/source/lib/replace/test/testsuite.c b/source/lib/replace/test/testsuite.c index a57247377bf..48197cf721d 100644 --- a/source/lib/replace/test/testsuite.c +++ b/source/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/source/lib/talloc/config.mk b/source/lib/talloc/config.mk index 0b06687dabd..714ad72d1cd 100644 --- a/source/lib/talloc/config.mk +++ b/source/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/source/lib/talloc/testsuite.c b/source/lib/talloc/testsuite.c index 4904b21f9b0..8f2a211b47d 100644 --- a/source/lib/talloc/testsuite.c +++ b/source/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/source/torture/local/config.mk b/source/torture/local/config.mk index 55659447ec4..9917dcb128a 100644 --- a/source/torture/local/config.mk +++ b/source/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/source/torture/local/local.c b/source/torture/local/local.c index 3846c3b18cf..47a91c96f77 100644 --- a/source/torture/local/local.c +++ b/source/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, -- 2.11.4.GIT