summaryrefslogtreecommitdiff
path: root/source4/build/smb_build/output.pm
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-02-16 20:38:21 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-02-16 20:38:21 +0100
commit8d7e2eb68c7c63ef36d24ce59953c20c2579aa5f (patch)
treed5be2d69e8ef051c8182093ebbe18f0ffca627b7 /source4/build/smb_build/output.pm
parentd803ff9e724cc91778c1b94a5b78ef935200adb8 (diff)
downloadsamba-8d7e2eb68c7c63ef36d24ce59953c20c2579aa5f.tar.gz
samba-8d7e2eb68c7c63ef36d24ce59953c20c2579aa5f.tar.bz2
samba-8d7e2eb68c7c63ef36d24ce59953c20c2579aa5f.zip
Reintroduce mergedobj support.
(This used to be commit 1cf23c58411a9b8a9bb97016c27c10a218e73146)
Diffstat (limited to 'source4/build/smb_build/output.pm')
-rw-r--r--source4/build/smb_build/output.pm12
1 files changed, 12 insertions, 0 deletions
diff --git a/source4/build/smb_build/output.pm b/source4/build/smb_build/output.pm
index 4350370fbf..0ddb9e4efb 100644
--- a/source4/build/smb_build/output.pm
+++ b/source4/build/smb_build/output.pm
@@ -89,6 +89,17 @@ sub generate_shared_library($)
$lib->{OUTPUT_SHARED_LIBRARY} = $lib->{TARGET_SHARED_LIBRARY};
}
+sub generate_merged_obj($)
+{
+ my $lib = shift;
+
+ my $link_name = $lib->{NAME};
+ $link_name =~ s/^LIB//;
+
+ $lib->{MERGED_OBJNAME} = lc($link_name).".o";
+ $lib->{TARGET_MERGED_OBJ} = $lib->{OUTPUT_MERGED_OBJ} = "bin/mergedobj/$lib->{MERGED_OBJNAME}";
+}
+
sub generate_static_library($)
{
my $lib = shift;
@@ -153,6 +164,7 @@ sub create_output($$)
generate_binary($part) if grep(/BINARY/, @{$part->{OUTPUT_TYPE}});
generate_shared_library($part) if grep(/SHARED_LIBRARY/, @{$part->{OUTPUT_TYPE}});
generate_static_library($part) if grep(/STATIC_LIBRARY/, @{$part->{OUTPUT_TYPE}});
+ generate_merged_obj($part) if grep(/MERGED_OBJ/, @{$part->{OUTPUT_TYPE}});
$part->{OUTPUT} = $part->{"OUTPUT_" . @{$part->{OUTPUT_TYPE}}[0]};
$part->{TARGET} = $part->{"TARGET_" . @{$part->{OUTPUT_TYPE}}[0]};
}