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 [EMAIL PROTECTED] Linking \$\@ + [EMAIL PROTECTED] -p $ctx->{BUILDDIR} [EMAIL PROTECTED](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}; }