summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2004-11-15 20:25:40 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:05:52 -0500
commit55d195f30b9a88c1bee84804f88c01e71246d958 (patch)
tree592a80aaddb7558bd3583d908abbe494f0995159
parent548c5e5f31f6f89c2ddd67e529df654f9bbfb7f8 (diff)
downloadsamba-55d195f30b9a88c1bee84804f88c01e71246d958.tar.gz
samba-55d195f30b9a88c1bee84804f88c01e71246d958.tar.bz2
samba-55d195f30b9a88c1bee84804f88c01e71246d958.zip
r3769: fix the build of shared libraries
metze (This used to be commit 461ff03ce38c6bf6b90f95029287c6e6b01fc1e0)
-rw-r--r--source4/build/smb_build/makefile.pm9
-rw-r--r--source4/build/smb_build/output.pm3
2 files changed, 9 insertions, 3 deletions
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm
index bdeb6d02df..c606598568 100644
--- a/source4/build/smb_build/makefile.pm
+++ b/source4/build/smb_build/makefile.pm
@@ -340,6 +340,7 @@ sub _prepare_shared_library_rule($)
my $tmpshflag;
my $tmprules;
my $output;
+ my $outname = $ctx->{OUTPUT};
$tmpdepend = array2oneperline($ctx->{DEPEND_LIST});
@@ -374,11 +375,15 @@ bin/$ctx->{LIBRARY_SONAME}: bin/$ctx->{LIBRARY_REALNAME} bin/.dummy
bin/$ctx->{LIBRARY_NAME}: bin/$ctx->{LIBRARY_SONAME} bin/.dummy
\@echo Symlink \$\@
\@ln -sf $ctx->{LIBRARY_SONAME} \$\@
-library_$ctx->{NAME}: basics $ctx->{LIBRARY_SONAME}
+";
+ $outname = $ctx->{LIBRARY_NAME};
+ }
+
+ $output .= "
+library_$ctx->{NAME}: basics bin/$outname
# End Library $ctx->{NAME}
###################################
";
- }
return $output;
}
diff --git a/source4/build/smb_build/output.pm b/source4/build/smb_build/output.pm
index f04c544910..0612110616 100644
--- a/source4/build/smb_build/output.pm
+++ b/source4/build/smb_build/output.pm
@@ -26,10 +26,11 @@ sub generate_shared_library($)
@{$lib->{LINK_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)");
$lib->{LIBRARY_NAME} = $lib->{NAME}.".so";
$lib->{OUTPUT} = "bin/$lib->{LIBRARY_NAME}";
- if ($lib->{MAJOR_VERSION}) {
+ if (defined($lib->{MAJOR_VERSION})) {
$lib->{LIBRARY_SONAME} = $lib->{LIBRARY_NAME}.".$lib->{MAJOR_VERSION}";
$lib->{LIBRARY_REALNAME} = $lib->{LIBRARY_SONAME}.".$lib->{MINOR_VERSION}.$lib->{RELEASE_VERSION}";
$lib->{OUTPUT} = "bin/$lib->{LIBRARY_REALNAME}";
+ @{$lib->{LINK_FLAGS}} = ("\@SONAMEFLAG\@$lib->{LIBRARY_SONAME}");
}
}