svn commit: samba r15271 - in branches/SAMBA_4_0/source: build/smb_build lib/socket

jelmer at samba.org jelmer at samba.org
Wed Apr 26 11:58:43 GMT 2006


Author: jelmer
Date: 2006-04-26 11:58:42 +0000 (Wed, 26 Apr 2006)
New Revision: 15271

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15271

Log:
Fix --enable-dso

Modified:
   branches/SAMBA_4_0/source/build/smb_build/TODO
   branches/SAMBA_4_0/source/build/smb_build/input.pm
   branches/SAMBA_4_0/source/build/smb_build/output.pm
   branches/SAMBA_4_0/source/lib/socket/config.mk


Changeset:
Modified: branches/SAMBA_4_0/source/build/smb_build/TODO
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/TODO	2006-04-26 11:30:57 UTC (rev 15270)
+++ branches/SAMBA_4_0/source/build/smb_build/TODO	2006-04-26 11:58:42 UTC (rev 15271)
@@ -1,7 +1,4 @@
 - let the build system implement some make functions($(patsubst),$(wildcard),...) and use our own implementations where `make' does not support them
-- fix --enable-dso:
- - loop over all the dependencies of a SUBSYSTEM
-  - include their PUBLIC_CFLAGS
 - make --enable-dso the default
  - fix module loading for selftest during non-developer builds
 - clearer distinction between dcerpc and ndr. seperate interface tables?

Modified: branches/SAMBA_4_0/source/build/smb_build/input.pm
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/input.pm	2006-04-26 11:30:57 UTC (rev 15270)
+++ branches/SAMBA_4_0/source/build/smb_build/input.pm	2006-04-26 11:58:42 UTC (rev 15271)
@@ -120,23 +120,24 @@
 
 my $level = "";
 
-sub calc_unique_deps($$$)
+sub calc_unique_deps($$$$)
 {
-	sub calc_unique_deps($$$);
-	my ($name, $deps, $udeps) = @_;
+	sub calc_unique_deps($$$$);
+	my ($name, $deps, $udeps, $withlibs) = @_;
 
 	print "$level-> $name\n" if ($ENV{SMB_BUILD_VERBOSE});
 	$level.=" ";
 
 	foreach my $dep (@{$deps}) {
-		if (not defined($udeps->{$$dep->{NAME}})) {
-      		   if (defined ($$dep->{OUTPUT_TYPE}) && (($$dep->{OUTPUT_TYPE} eq "OBJ_LIST")
-			    or ($$dep->{OUTPUT_TYPE} eq "MERGEDOBJ"))) {
+		next if defined($udeps->{$$dep->{NAME}});
+
+ 		if (defined ($$dep->{OUTPUT_TYPE}) && 
+			($withlibs or ($$dep->{OUTPUT_TYPE} eq "OBJ_LIST") or ($$dep->{OUTPUT_TYPE} eq "MERGEDOBJ"))) {
    			        $udeps->{$$dep->{NAME}} = "BUSY";
-			        calc_unique_deps($$dep->{NAME}, $$dep->{DEPENDENCIES}, $udeps);
-		        }
-			$udeps->{$$dep->{NAME}} = $$dep;
-		}
+			        calc_unique_deps($$dep->{NAME}, $$dep->{DEPENDENCIES}, $udeps, $withlibs);
+	        }
+
+		$udeps->{$$dep->{NAME}} = $$dep;
 	}
 	
 	$level = substr($level, 1);
@@ -209,9 +210,14 @@
 
 	foreach my $part (values %depend) {
 		$part->{UNIQUE_DEPENDENCIES} = {};
-		calc_unique_deps($part->{NAME}, $part->{DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES});
+		calc_unique_deps($part->{NAME}, $part->{DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES}, 0);
 	}
 
+	foreach my $part (values %depend) {
+		$part->{UNIQUE_DEPENDENCIES_ALL} = {};
+		calc_unique_deps($part->{NAME}, $part->{DEPENDENCIES}, $part->{UNIQUE_DEPENDENCIES_ALL}, 1);
+	}
+
 	return \%depend;
 }
 

Modified: branches/SAMBA_4_0/source/build/smb_build/output.pm
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/output.pm	2006-04-26 11:30:57 UTC (rev 15270)
+++ branches/SAMBA_4_0/source/build/smb_build/output.pm	2006-04-26 11:58:42 UTC (rev 15271)
@@ -147,12 +147,18 @@
 	foreach $part (values %{$depend}) {
 		next if not defined($part->{OUTPUT_TYPE});
 
+		foreach my $elem (values %{$part->{UNIQUE_DEPENDENCIES_ALL}}) {
+			next if $elem == $part;
+
+			push(@{$part->{PUBLIC_CFLAGS}}, @{$elem->{CPPFLAGS}}) if defined(@{$elem->{CPPFLAGS}});
+			push(@{$part->{PUBLIC_CFLAGS}}, $elem->{CFLAGS}) if defined($elem->{CFLAGS});
+		}
+
+
 		# Always import the CFLAGS and CPPFLAGS of the unique dependencies
 		foreach my $elem (values %{$part->{UNIQUE_DEPENDENCIES}}) {
 			next if $elem == $part;
 
-			push(@{$part->{PUBLIC_CFLAGS}}, @{$elem->{CPPFLAGS}}) if defined(@{$elem->{CPPFLAGS}});
-			push(@{$part->{PUBLIC_CFLAGS}}, $elem->{CFLAGS}) if defined($elem->{CFLAGS});
 			push(@{$part->{LINK_LIST}}, $elem->{OUTPUT}) if defined($elem->{OUTPUT});
 			push(@{$part->{LINK_FLAGS}}, @{$elem->{LIBS}}) if defined($elem->{LIBS});
 			push(@{$part->{LINK_FLAGS}},@{$elem->{LDFLAGS}}) if defined($elem->{LDFLAGS});

Modified: branches/SAMBA_4_0/source/lib/socket/config.mk
===================================================================
--- branches/SAMBA_4_0/source/lib/socket/config.mk	2006-04-26 11:30:57 UTC (rev 15270)
+++ branches/SAMBA_4_0/source/lib/socket/config.mk	2006-04-26 11:58:42 UTC (rev 15271)
@@ -40,6 +40,7 @@
 		access.o \
 		connect_multi.o \
 		connect.o
-PUBLIC_DEPENDENCIES = LIBCLI_RESOLVE SOCKET_WRAPPER LIBTALLOC
+PUBLIC_DEPENDENCIES = LIBTALLOC
+PRIVATE_DEPENDENCIES = LIBCLI_RESOLVE SOCKET_WRAPPER 
 # End SUBSYSTEM SOCKET
 ################################################



More information about the samba-cvs mailing list