summaryrefslogtreecommitdiffstats
path: root/Configurations/common.tmpl
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-03-29 16:45:03 +0200
committerRichard Levitte <levitte@openssl.org>2016-03-30 11:22:15 +0200
commit2a08d1a05db937f8b1a62422b78ffe2fa07d3ead (patch)
treed66483e0e8d278a4eb5f59948dc605f728a33466 /Configurations/common.tmpl
parentdcdb4028b3981585537c6d57635ea91cd59589fa (diff)
Make it possible to specify source files that will only be used for shared libs
There are rare cases when an object file will only be used when building a shared library. To enable this, we introduce SHARED_SOURCE: SHARED_SOURCE[libfoo]=dllmain.c Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'Configurations/common.tmpl')
-rw-r--r--Configurations/common.tmpl10
1 files changed, 7 insertions, 3 deletions
diff --git a/Configurations/common.tmpl b/Configurations/common.tmpl
index d89817efd2..9c80070ea6 100644
--- a/Configurations/common.tmpl
+++ b/Configurations/common.tmpl
@@ -92,9 +92,11 @@
$OUT .= libobj2shlib(shlib => $unified_info{sharednames}->{$lib},
lib => $lib,
objs => [ map { (my $x = $_) =~ s|\.o$||; $x }
- @{$unified_info{sources}->{$lib}} ],
+ (@{$unified_info{sources}->{$lib}},
+ @{$unified_info{shared_sources}->{$lib}}) ],
deps => [ reducedepends(resolvedepends($lib)) ],
%ordinals);
+ map { doobj($_, $lib, intent => "lib") } @{$unified_info{shared_sources}->{$lib}};
}
$OUT .= obj2lib(lib => $lib,
objs => [ map { (my $x = $_) =~ s|\.o$||; $x }
@@ -111,9 +113,11 @@
return "" if $cache{$lib};
$OUT .= obj2dso(lib => $lib,
objs => [ map { (my $x = $_) =~ s|\.o$||; $x }
- @{$unified_info{sources}->{$lib}} ],
+ (@{$unified_info{sources}->{$lib}},
+ @{$unified_info{shared_sources}->{$lib}}) ],
deps => [ resolvedepends($lib) ]);
- map { doobj($_, $lib, intent => "dso") } @{$unified_info{sources}->{$lib}};
+ map { doobj($_, $lib, intent => "dso") } (@{$unified_info{sources}->{$lib}},
+ @{$unified_info{shared_sources}->{$lib}});
$cache{$lib} = 1;
}