aboutsummaryrefslogtreecommitdiff
path: root/Configurations
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-10-21 11:11:04 +0200
committerRichard Levitte <levitte@openssl.org>2018-10-31 15:46:36 +0100
commitb6e660754c2e799cffe4906269fcace0e07c73bc (patch)
treecb742907d3aa26564fc70f5df551bbbc74f04624 /Configurations
parentddf2e8c8ccad49cff0d6a0a0b26ca892ec4ce33a (diff)
downloadopenssl-b6e660754c2e799cffe4906269fcace0e07c73bc.zip
openssl-b6e660754c2e799cffe4906269fcace0e07c73bc.tar.gz
openssl-b6e660754c2e799cffe4906269fcace0e07c73bc.tar.bz2
Configuration: when building the dirinfo structure, include shared_sources
This makes sure that any resulting directory target in the build files also depend on object files meant for shared libraries. As a side effect, we move the production of the dirinfo structure from common.tmpl to Configure, to make it easier to check the result. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7452)
Diffstat (limited to 'Configurations')
-rw-r--r--Configurations/common.tmpl41
-rw-r--r--Configurations/unix-Makefile.tmpl6
-rw-r--r--Configurations/windows-makefile.tmpl6
3 files changed, 10 insertions, 43 deletions
diff --git a/Configurations/common.tmpl b/Configurations/common.tmpl
index c1c96a2..4a08655 100644
--- a/Configurations/common.tmpl
+++ b/Configurations/common.tmpl
@@ -210,47 +210,6 @@
# Start with populating the cache with all the overrides
%cache = map { $_ => 1 } @{$unified_info{overrides}};
- # For convenience collect information regarding directories where
- # files are generated, those generated files and the end product
- # they end up in where applicable. Then, add build rules for those
- # directories
- if (exists &generatedir) {
- my %loopinfo = ( "dso" => [ @{$unified_info{engines}} ],
- "lib" => [ @{$unified_info{libraries}} ],
- "bin" => [ @{$unified_info{programs}} ],
- "script" => [ @{$unified_info{scripts}} ] );
- foreach my $type (keys %loopinfo) {
- foreach my $product (@{$loopinfo{$type}}) {
- my %dirs = ();
- my $pd = dirname($product);
-
- # We already have a "test" target, and the current directory
- # is just silly to make a target for
- $dirs{$pd} = 1 unless $pd eq "test" || $pd eq ".";
-
- foreach (@{$unified_info{sources}->{$product}}) {
- my $d = dirname($_);
-
- # We don't want to create targets for source directories
- # when building out of source
- next if ($config{sourcedir} ne $config{builddir}
- && $d =~ m|^\Q$config{sourcedir}\E|);
- # We already have a "test" target, and the current directory
- # is just silly to make a target for
- next if $d eq "test" || $d eq ".";
-
- $dirs{$d} = 1;
- push @{$unified_info{dirinfo}->{$d}->{deps}}, $_
- if $d ne $pd;
- }
- foreach (keys %dirs) {
- push @{$unified_info{dirinfo}->{$_}->{products}->{$type}},
- $product;
- }
- }
- }
- }
-
# Build mandatory generated headers
foreach (@{$unified_info{depends}->{""}}) { dogenerate($_); }
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
index 9b563d8..f81ebb0 100644
--- a/Configurations/unix-Makefile.tmpl
+++ b/Configurations/unix-Makefile.tmpl
@@ -1303,6 +1303,10 @@ EOF
lib => $libext,
bin => $exeext );
+ # We already have a 'test' target, and the top directory is just plain
+ # silly
+ return if $dir eq "test" || $dir eq ".";
+
foreach my $type (("dso", "lib", "bin", "script")) {
next unless defined($unified_info{dirinfo}->{$dir}->{products}->{$type});
# For lib object files, we could update the library. However, it
@@ -1323,7 +1327,7 @@ EOF
my $deps = join(" ", @deps);
my $actions = join("\n", "", @actions);
return <<"EOF";
-$args{dir} $args{dir}/: $deps$actions
+$dir $dir/: $deps$actions
EOF
}
"" # Important! This becomes part of the template result.
diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl
index c4987f2..6344d18 100644
--- a/Configurations/windows-makefile.tmpl
+++ b/Configurations/windows-makefile.tmpl
@@ -750,6 +750,10 @@ EOF
lib => $libext,
bin => $exeext );
+ # We already have a 'test' target, and the top directory is just plain
+ # silly
+ return if $dir eq "test" || $dir eq ".";
+
foreach my $type (("dso", "lib", "bin", "script")) {
next unless defined($unified_info{dirinfo}->{$dir}->{products}->{$type});
# For lib object files, we could update the library. However,
@@ -767,7 +771,7 @@ EOF
my $deps = join(" ", @deps);
my $actions = join("\n", "", @actions);
return <<"EOF";
-$args{dir} $args{dir}\\ : $deps$actions
+$dir $dir\\ : $deps$actions
EOF
}
"" # Important! This becomes part of the template result.