summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/build.info9
-rw-r--r--apps/progs.pl3
2 files changed, 9 insertions, 3 deletions
diff --git a/apps/build.info b/apps/build.info
index 50a85be18f..308f4d94f8 100644
--- a/apps/build.info
+++ b/apps/build.info
@@ -11,7 +11,7 @@ ENDIF
# Source for the 'openssl' program
$OPENSSLSRC=\
- openssl.c progs.c \
+ openssl.c \
asn1parse.c ca.c ciphers.c crl.c crl2pkcs7.c dgst.c \
enc.c errstr.c \
genpkey.c kdf.c mac.c nseq.c passwd.c pkcs7.c \
@@ -61,7 +61,12 @@ IF[{- !$disabled{apps} -}]
INCLUDE[openssl]=.. ../include include
DEPEND[openssl]=libapps.a ../libssl
- DEPEND[${OPENSSLSRC/.c/.o}]=progs.h
+ # The nocheck attribute is picked up by progs.pl as a signal not to look
+ # at that file; some systems may have locked it as the output file, and
+ # therefore don't allow it to be read at the same time, making progs.pl
+ # fail.
+ SOURCE[openssl]{nocheck}=progs.c
+ DEPEND[${OPENSSLSRC/.c/.o} progs.o]=progs.h
GENERATE[progs.c]=progs.pl "-C" $(APPS_OPENSSL)
GENERATE[progs.h]=progs.pl "-H" $(APPS_OPENSSL)
# progs.pl tries to read all 'openssl' sources, including progs.c, so we make
diff --git a/apps/progs.pl b/apps/progs.pl
index ff39f85325..8a5759a961 100644
--- a/apps/progs.pl
+++ b/apps/progs.pl
@@ -28,7 +28,8 @@ my $YEAR = [localtime()]->[5] + 1900;
# the lookups in %unified_info
my @openssl_source =
map { @{$unified_info{sources}->{$_}} }
- grep { /\.o$/ }
+ grep { /\.o$/
+ && !$unified_info{attributes}->{sources}->{$apps_openssl}->{$_}->{nocheck} }
@{$unified_info{sources}->{$apps_openssl}};
foreach my $filename (@openssl_source) {