diff options
author | Richard Levitte <levitte@openssl.org> | 2018-07-24 10:45:05 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2018-07-24 16:27:50 +0200 |
commit | 8937a4ed8ac3fd64be61e9ce7a16bccccf3d2273 (patch) | |
tree | 1b8b4636ff58e421414feb9dd7638a270f5591f1 /Configure | |
parent | 675fa85413a130607ec780ce9edaa6dd7ee1500f (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-x | Configure | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -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 |