From e73d051e20f18ab981f540a7178900ac3f3c45fd Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 17 May 2005 00:51:13 +0000 Subject: r6839: Add support for building subsystems as shared libraries. This can be done by setting: OUTPUT_TYPE = SHARED_LIBRARY in the [SUBSYSTEM::...] section belonging to a subsystem. The idea is to allow multiple values to OUTPUT_TYPE simultaneously (e.g. OUTPUT_TYPE = SHARED_LIBRARY, STATIC_LIBRARY, OBJLIST ) (This used to be commit b9d0ae93ba86fec0115f58e7940b2a6c908bc809) --- source4/build/smb_build/output.pm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'source4/build/smb_build/output.pm') diff --git a/source4/build/smb_build/output.pm b/source4/build/smb_build/output.pm index d2ee5a9165..f6a9fc6eb3 100644 --- a/source4/build/smb_build/output.pm +++ b/source4/build/smb_build/output.pm @@ -14,7 +14,7 @@ sub generate_objlist($) { my $subsys = shift; - $subsys->{OUTPUT} = "\$($subsys->{TYPE}_$subsys->{NAME}_OBJS)"; + $subsys->{TARGET} = $subsys->{OUTPUT} = "\$($subsys->{TYPE}_$subsys->{NAME}_OBJS)"; } sub generate_shared_library($) @@ -23,14 +23,15 @@ sub generate_shared_library($) @{$lib->{DEPEND_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)"); @{$lib->{LINK_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)"); - $lib->{LIBRARY_NAME} = $lib->{NAME}.".so"; - $lib->{OUTPUT} = "bin/$lib->{LIBRARY_NAME}"; + $lib->{LIBRARY_NAME} = lc($lib->{NAME}).".so"; + $lib->{TARGET} = "bin/lib$lib->{LIBRARY_NAME}"; 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->{TARGET} = "bin/lib$lib->{LIBRARY_REALNAME}"; @{$lib->{LINK_FLAGS}} = ("\@SONAMEFLAG\@$lib->{LIBRARY_SONAME}"); } + $lib->{OUTPUT} = "-l".lc($lib->{NAME}); } sub generate_static_library($) @@ -39,11 +40,12 @@ sub generate_static_library($) @{$lib->{DEPEND_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)"); - $lib->{LIBRARY_NAME} = $lib->{NAME}.".a"; + $lib->{LIBRARY_NAME} = lc($lib->{NAME}).".a"; @{$lib->{LINK_LIST}} = ("\$($lib->{TYPE}_$lib->{NAME}\_OBJS)"); @{$lib->{LINK_FLAGS}} = (); - $lib->{OUTPUT} = "bin/$lib->{LIBRARY_NAME}"; + $lib->{TARGET} = "bin/lib$lib->{LIBRARY_NAME}"; + $lib->{OUTPUT} = "-l".lc($lib->{NAME}); } sub generate_binary($) @@ -54,7 +56,7 @@ sub generate_binary($) @{$bin->{LINK_LIST}} = ("\$($bin->{TYPE}_$bin->{NAME}\_OBJS)"); @{$bin->{LINK_FLAGS}} = (); - $bin->{OUTPUT} = "bin/$bin->{NAME}"; + $bin->{TARGET} = $bin->{OUTPUT} = "bin/$bin->{NAME}"; $bin->{BINARY} = $bin->{NAME}; } @@ -93,7 +95,7 @@ sub create_output($) push(@{$part->{CPPFLAGS}}, @{$elem->{CPPFLAGS}}) if defined(@{$elem->{CPPFLAGS}}); push(@{$part->{CFLAGS}}, @{$elem->{CFLAGS}}) if defined(@{$elem->{CFLAGS}}); - push(@{$part->{DEPEND_LIST}}, $elem->{OUTPUT}) if defined($elem->{OUTPUT}); + push(@{$part->{DEPEND_LIST}}, $elem->{TARGET}) if defined($elem->{TARGET}); 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}); -- cgit