svn commit: samba r14335 - in branches/SAMBA_4_0/source: bin bin/modules build/smb_build

jelmer at samba.org jelmer at samba.org
Mon Mar 13 18:54:33 GMT 2006


Author: jelmer
Date: 2006-03-13 18:54:33 +0000 (Mon, 13 Mar 2006)
New Revision: 14335

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

Log:
Build shared modules in bin/modules/$SUBSYSTEM when in developer mode.

Added:
   branches/SAMBA_4_0/source/bin/modules/
Modified:
   branches/SAMBA_4_0/source/build/smb_build/TODO
   branches/SAMBA_4_0/source/build/smb_build/makefile.pm
   branches/SAMBA_4_0/source/build/smb_build/output.pm


Changeset:

Property changes on: branches/SAMBA_4_0/source/bin/modules
___________________________________________________________________
Name: svn:ignore
   + *


Modified: branches/SAMBA_4_0/source/build/smb_build/TODO
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/TODO	2006-03-13 18:43:10 UTC (rev 14334)
+++ branches/SAMBA_4_0/source/build/smb_build/TODO	2006-03-13 18:54:33 UTC (rev 14335)
@@ -1,6 +1,4 @@
 - subdir handler for install headers into a specific directory
-- hack for loading modules locally
- - create 
 - saner names for some of the .pc files
 - .pc files also when there is a public header?
 - get rid of include/structs.h and include/proto.h
@@ -11,5 +9,14 @@
   for each subsystem:
   - include line in Makefile
   - rule in Makefile
-- determine dependencies from #include lines ?
 - install (parts of ?) autogenerated headers
+
+set of test scripts that check the code:
+- configure_check_unused.pl
+- find_unused_macros.pl
+- find_unused_makefilevars.pl
+- find_unused_options.sh
+- findstatic.pl
+- minimal_includes.pl
+- check dependencies based on #include lines ?
+- check whether private headers are not used outside their own subsystem

Modified: branches/SAMBA_4_0/source/build/smb_build/makefile.pm
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/makefile.pm	2006-03-13 18:43:10 UTC (rev 14334)
+++ branches/SAMBA_4_0/source/build/smb_build/makefile.pm	2006-03-13 18:54:33 UTC (rev 14335)
@@ -206,15 +206,15 @@
 	my $init_obj = "";
 	
 	if ($self->{duplicate_build}) {
-		$installdir = "bin/install";
+		$installdir = $ctx->{INSTALLDIR};
 	} else {
-		$installdir = "bin";
+		$installdir = $ctx->{BUILDDIR};
 	}
 
 	if ($ctx->{TYPE} eq "LIBRARY") {
-		push (@{$self->{shared_libs}}, "bin/$ctx->{LIBRARY_REALNAME}");
+		push (@{$self->{shared_libs}}, "$ctx->{BUILDDIR}/$ctx->{LIBRARY_REALNAME}");
 	} elsif ($ctx->{TYPE} eq "MODULE") {
-		push (@{$self->{shared_modules}}, "bin/$ctx->{LIBRARY_REALNAME}");
+		push (@{$self->{shared_modules}}, "$ctx->{BUILDDIR}/$ctx->{LIBRARY_REALNAME}");
 		push (@{$self->{plugins}}, "$installdir/$ctx->{LIBRARY_REALNAME}");
 
 		my $fixedname = $ctx->{NAME};
@@ -267,8 +267,9 @@
 		$self->output(<< "__EOD__"
 #
 
-bin/$ctx->{LIBRARY_REALNAME}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST) $init_obj
+$ctx->{TARGET}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST) $init_obj
 	\@echo Linking \$\@
+	\@mkdir -p $ctx->{BUILDDIR}
 	\@\$(SHLD) \$(SHLD_FLAGS) -o \$\@ \$(LOCAL_LINK_FLAGS) \\
 		\$($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS) $soarg \\
 		$init_obj \$($ctx->{TYPE}_$ctx->{NAME}_LINK_LIST)

Modified: branches/SAMBA_4_0/source/build/smb_build/output.pm
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/output.pm	2006-03-13 18:43:10 UTC (rev 14334)
+++ branches/SAMBA_4_0/source/build/smb_build/output.pm	2006-03-13 18:54:33 UTC (rev 14335)
@@ -58,12 +58,17 @@
 		$lib_name = "lib$link_name";
 	}
 
+	$lib->{BUILDDIR} = "bin";
+	$lib->{INSTALLDIR} = "bin/install";
 	$lib->{LIBRARY_REALNAME} = $lib->{LIBRARY_NAME} = "$lib_name.\$(SHLIBEXT)";
+
 	if (defined($lib->{VERSION})) {
 		$lib->{LIBRARY_SONAME} = $lib->{LIBRARY_NAME}.".$lib->{SO_VERSION}";
 		$lib->{LIBRARY_REALNAME} = $lib->{LIBRARY_NAME}.".$lib->{VERSION}";
+	} elsif ($lib->{TYPE} eq "MODULE") {
+		$lib->{BUILDDIR} = "bin/modules/$lib->{SUBSYSTEM}";
 	}
-	$lib->{TARGET} = "bin/$lib->{LIBRARY_REALNAME}";
+	$lib->{TARGET} = "$lib->{BUILDDIR}/$lib->{LIBRARY_REALNAME}";
 	$lib->{OUTPUT} = $lib->{TARGET};
 }
 
@@ -93,7 +98,9 @@
 	@{$bin->{LINK_LIST}} = ("\$($bin->{TYPE}_$bin->{NAME}\_OBJ_LIST)");
 	@{$bin->{LINK_FLAGS}} = ();
 
-	$bin->{TARGET} = $bin->{OUTPUT} = "bin/$bin->{NAME}";
+	$bin->{INSTALLDIR} = "bin/install";
+	$bin->{BUILDDIR} = "bin/";
+	$bin->{TARGET} = $bin->{OUTPUT} = "$bin->{BUILDDIR}/$bin->{NAME}";
 	$bin->{BINARY} = $bin->{NAME};
 }
 



More information about the samba-cvs mailing list