From ccce3e1db5132e472d1871c6a02caec5c71db72a Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Fri, 1 Dec 2017 15:43:43 +0100 Subject: [PATCH] Configure: Recognise .rc and .def / .map / .opt as source files This makes it possible to add build.info statements for using resource files as well as linker scripts (.def for Windows, .map for Unix, and .opt for VMS) is if they were source files. This requires changes in the build file templates. Reviewed-by: Andy Polyakov Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/4840) --- Configure | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Configure b/Configure index a5d5c84e02..5abbd72a97 100755 --- a/Configure +++ b/Configure @@ -1875,14 +1875,27 @@ EOF if (! -f $s) { $s = cleanfile($buildd, $_, $blddir); } - # We recognise C++, C and asm files + if ($s =~ /\.(cc|cpp|c|s|S)$/) { + # We recognise C++, C and asm files my $o = $_; $o =~ s/\.[csS]$/.o/; # C and assembler $o =~ s/\.(cc|cpp)$/_cc.o/; # C++ $o = cleanfile($buildd, $o, $blddir); $unified_info{shared_sources}->{$ddest}->{$o} = 1; $unified_info{sources}->{$o}->{$s} = 1; + } elsif ($s =~ /\.rc$/) { + # We also recognise resource files + my $o = $_; + $o =~ s/\.rc$/.res/; # Resource configuration + my $o = cleanfile($buildd, $o, $blddir); + $unified_info{shared_sources}->{$ddest}->{$o} = 1; + $unified_info{sources}->{$o}->{$s} = 1; + } elsif ($s =~ /\.(def|map|opt)$/) { + # We also recognise .def / .map / .opt files + # We know they are generated files + my $def = cleanfile($buildd, $s, $blddir); + $unified_info{shared_sources}->{$ddest}->{$def} = 1; } else { die "unrecognised source file type for shared library: $s\n"; }