summaryrefslogtreecommitdiffstats
path: root/Configure
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-07-24 10:45:05 +0200
committerRichard Levitte <levitte@openssl.org>2018-07-24 16:27:50 +0200
commit8937a4ed8ac3fd64be61e9ce7a16bccccf3d2273 (patch)
tree1b8b4636ff58e421414feb9dd7638a270f5591f1 /Configure
parent675fa85413a130607ec780ce9edaa6dd7ee1500f (diff)
Configure: print generic advice when dying
On the same note, change the 'NASM not found' message to give specific advice on how to handle the failure. Fixes #6765 Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Andy Polyakov <appro@openssl.org> (Merged from https://github.com/openssl/openssl/pull/6771)
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure18
1 files changed, 18 insertions, 0 deletions
diff --git a/Configure b/Configure
index de226f1621..653d777e7a 100755
--- a/Configure
+++ b/Configure
@@ -21,6 +21,9 @@ use OpenSSL::Glob;
# see INSTALL for instructions.
+my $orig_death_handler = $SIG{__DIE__};
+$SIG{__DIE__} = \&death_handler;
+
my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-egd] [sctp] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--config=FILE] os/compiler[:flags]\n";
# Options:
@@ -2679,6 +2682,8 @@ my %builders = (
$builders{$builder}->($builder_platform, @builder_opts);
+$SIG{__DIE__} = $orig_death_handler;
+
print <<"EOF" if ($disabled{threads} eq "unavailable");
The library could not be configured for supporting multi-threaded
@@ -2714,6 +2719,19 @@ exit(0);
# Helpers and utility functions
#
+# Death handler, to print a helpful message in case of failure #######
+#
+sub death_handler {
+ my $build_file = $target{build_file} // "build file";
+ print STDERR <<"_____";
+
+Failure! $build_file wasn't produced.
+Please read INSTALL and associated NOTES files. You may also have to look over
+your available compiler tool chain or change your configuration.
+
+_____
+}
+
# Configuration file reading #########################################
# Note: All of the helper functions are for lazy evaluation. They all