diff options
author | Richard Levitte <levitte@openssl.org> | 2017-04-18 16:24:23 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2017-04-24 18:09:01 +0200 |
commit | 331058180aba047ac6b25da781eebc08b7267d2f (patch) | |
tree | f12c611af1a4052339b051337991dcc23633376a /Configure | |
parent | a68d35057ba2676bc9b9a16f4952791eef4b9905 (diff) |
Make it possible to build static-only libraries
The trick is to use the .a extension explicitely in the build.info files.
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3243)
Diffstat (limited to 'Configure')
-rwxr-xr-x | Configure | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -1732,12 +1732,24 @@ EOF } # Additionally, we set up sharednames for libraries that don't - # have any, as themselves. - foreach (keys %{$unified_info{libraries}}) { + # have any, as themselves. Only for libraries that aren't + # explicitely static. + foreach (grep !/\.a$/, keys %{$unified_info{libraries}}) { if (!defined $unified_info{sharednames}->{$_}) { $unified_info{sharednames}->{$_} = $_ } } + + # Check that we haven't defined any library as both shared and + # explicitely static. That is forbidden. + my @doubles = (); + foreach (grep /\.a$/, keys %{$unified_info{libraries}}) { + (my $l = $_) =~ s/\.a$//; + push @doubles, $l if defined $unified_info{sharednames}->{$l}; + } + die "these libraries are both explicitely static and shared:\n ", + join(" ", @doubles), "\n" + if @doubles; } foreach (keys %ordinals) { |