r14874: Allow overriding LIBRARY_REALNAME
authorJelmer Vernooij <jelmer@samba.org>
Mon, 3 Apr 2006 00:46:17 +0000 (00:46 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:00:10 +0000 (14:00 -0500)
(This used to be commit 8f57c0e7bcd99556ba83497ce17b6723a637ac76)

source4/build/smb_build/TODO
source4/build/smb_build/config_mk.pm
source4/build/smb_build/makefile.pm
source4/build/smb_build/output.pm

index 616c53201be76be89bc0aecd36c24e156c2dc904..f02799de5ace25dfbdf33c9e16c02d7d99e4a828 100644 (file)
@@ -1,3 +1,5 @@
+- make --enable-dso the default
+- per-subsystem CFLAGS (which are inherited)
 - pregenerate more stuff (IDL, manpages, lex/yacc?)
 - saner names for:
        libcli.so.0.0.1 (rename to libsmb?)
index 532580359d1213df2d0fbc2667b388e635d17368..587335ac3e91c26a0958459910fd366af79528b4 100644 (file)
@@ -74,6 +74,7 @@ my $section_types = {
        "LIBRARY" => {
                "VERSION"               => "string",
                "SO_VERSION"            => "string",
+               "LIBRARY_REALNAME" => "string",
                
                "INIT_FUNCTION_TYPE"    => "string",
 
index 47dea6076a5584c2ba9e4ff1c6eda53ee01c6688..7b57470f81426f53cc04fcb7db369b76da209b1c 100644 (file)
@@ -204,7 +204,7 @@ sub SharedLibrary($$)
        }
 
        if ($ctx->{TYPE} eq "LIBRARY") {
-               push (@{$self->{shared_libs}}, "$ctx->{DEBUGDIR}/$ctx->{LIBRARY_REALNAME}");
+               push (@{$self->{shared_libs}}, "$ctx->{DEBUGDIR}/$ctx->{LIBRARY_REALNAME}") if (defined($ctx->{SO_VERSION}));
                push (@{$self->{installable_shared_libs}}, "$installdir/$ctx->{LIBRARY_REALNAME}") if (defined($ctx->{SO_VERSION}));
        } elsif ($ctx->{TYPE} eq "MODULE") {
                push (@{$self->{shared_modules}}, "$ctx->{TARGET}");
@@ -260,7 +260,7 @@ __EOD__
 
        my $singlesoarg = "";
        
-       if ($self->{duplicate_build}) {
+       if ($ctx->{DEBUGDIR} ne $installdir) {
                $self->output(<< "__EOD__"
 #
 
index 8b7f774f26d169942fe39a0b0cb6f401ec14da00..5593558c0cacbadee475416fefeb240a6e33698d 100644 (file)
@@ -58,16 +58,22 @@ sub generate_shared_library($)
                $lib_name = "lib$link_name";
        }
 
-       if ($lib->{TYPE} eq "MODULE") {
-               $lib->{DEBUGDIR} = "bin/modules/$lib->{SUBSYSTEM}";
-               $lib->{RELEASEDIR} = "bin/install/modules/$lib->{SUBSYSTEM}";
-               $lib->{LIBRARY_REALNAME} = $link_name;
-               $lib->{LIBRARY_REALNAME} =~ s/^$lib->{SUBSYSTEM}_//g;
-               $lib->{LIBRARY_REALNAME}.= ".\$(SHLIBEXT)";
+       if (defined($lib->{LIBRARY_REALNAME})) {
+               $lib->{BASEDIR} =~ s/^\.\///g;
+               $lib->{LIBRARY_REALNAME} = "$lib->{LIBRARY_REALNAME}";
+               $lib->{DEBUGDIR} = $lib->{RELEASEDIR} = $lib->{BASEDIR};
        } else {
-               $lib->{DEBUGDIR} = "bin";
-               $lib->{RELEASEDIR} = "bin/install";
-               $lib->{LIBRARY_REALNAME} = "$lib_name.\$(SHLIBEXT)";
+               if ($lib->{TYPE} eq "MODULE") {
+                       $lib->{DEBUGDIR} = "bin/modules/$lib->{SUBSYSTEM}";
+                       $lib->{RELEASEDIR} = "bin/install/modules/$lib->{SUBSYSTEM}";
+                       $lib->{LIBRARY_REALNAME} = $link_name;
+                       $lib->{LIBRARY_REALNAME} =~ s/^$lib->{SUBSYSTEM}_//g;
+                       $lib->{LIBRARY_REALNAME}.= ".\$(SHLIBEXT)";
+               } else {
+                       $lib->{DEBUGDIR} = "bin";
+                       $lib->{RELEASEDIR} = "bin/install";
+                       $lib->{LIBRARY_REALNAME} = "$lib_name.\$(SHLIBEXT)";
+               }
        }
 
        if (defined($lib->{VERSION})) {