From: Richard Levitte Date: Tue, 24 Jul 2018 08:45:05 +0000 (+0200) Subject: Configure: print generic advice when dying X-Git-Tag: OpenSSL_1_1_0i~38 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=bb8befc66003c765c227f01b1b4d60e19db86fc7;p=oweals%2Fopenssl.git 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 Reviewed-by: Andy Polyakov (Merged from https://github.com/openssl/openssl/pull/6771) (cherry picked from commit 8937a4ed8ac3fd64be61e9ce7a16bccccf3d2273) --- diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index 7e66705261..6c05c2809f 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -14,7 +14,7 @@ sub vc_win64a_info { asflags => "/c /Cp /Cx /Zi", asoutflag => "/Fo" }; } else { - $die->("NASM not found - please read INSTALL and NOTES.WIN for further details\n"); + $die->("NASM not found - make sure it's installed and available on %PATH%\n"); $vc_win64a_info = { as => "{unknown}", asflags => "", asoutflag => "" }; @@ -39,7 +39,7 @@ sub vc_win32_info { asoutflag => "/Fo", perlasm_scheme => "win32" }; } else { - $die->("NASM not found - please read INSTALL and NOTES.WIN for further details\n"); + $die->("NASM not found - make sure it's installed and available on %PATH%\n"); $vc_win32_info = { as => "{unknown}", asflags => "", asoutflag => "", diff --git a/Configure b/Configure index f819cab725..19bab07779 100755 --- a/Configure +++ b/Configure @@ -20,6 +20,9 @@ use OpenSSL::Glob; # see INSTALL for instructions. +my $orig_death_handler = $SIG{__DIE__}; +$SIG{__DIE__} = \&death_handler; + my $usage="Usage: Configure [no- ...] [enable- ...] [-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: @@ -2127,6 +2130,8 @@ my %builders = ( $builders{$builder}->($builder_platform, @builder_opts); +$SIG{__DIE__} = $orig_death_handler; + print <<"EOF"; Configured for $target. @@ -2155,6 +2160,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