summaryrefslogtreecommitdiff
path: root/source4/build/smb_build/output.pm
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-05-17 00:51:13 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:16:50 -0500
commite73d051e20f18ab981f540a7178900ac3f3c45fd (patch)
treea70f698c9d978ed5f6d6fa2fdc67f94b8fdd1e77 /source4/build/smb_build/output.pm
parent29a8069aee510c9dcc1a216a52cc53639621caf9 (diff)
downloadsamba-e73d051e20f18ab981f540a7178900ac3f3c45fd.tar.gz
samba-e73d051e20f18ab981f540a7178900ac3f3c45fd.tar.bz2
samba-e73d051e20f18ab981f540a7178900ac3f3c45fd.zip
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)
Diffstat (limited to 'source4/build/smb_build/output.pm')
-rw-r--r--source4/build/smb_build/output.pm18
1 files changed, 10 insertions, 8 deletions
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});