aboutsummaryrefslogtreecommitdiffstats
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)
downloadopenssl-2a08d1a05db937f8b1a62422b78ffe2fa07d3ead.tar.gz
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;
}