X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=sidebyside;f=configure;h=62f7b341bf06374c91e1d5ac1737b81c57972074;hb=51ff3d67ed1b6f1594373d3745293ef155a26f44;hp=a384be0813984e296abc8a07f344262d0de8e224;hpb=bdfde49fb6d9a8787c072b759d4af27584308e1b;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/configure b/configure index a384be081..62f7b341b 100755 --- a/configure +++ b/configure @@ -37,9 +37,11 @@ use warnings FATAL => qw(all); use File::Basename qw(basename); use File::Copy (); use File::Spec::Functions qw(rel2abs); +use FindBin qw($RealDir); use Getopt::Long qw(GetOptions); use POSIX qw(getgid getuid); +use lib $RealDir; use make::common; use make::configure; use make::console; @@ -124,7 +126,7 @@ our $interactive = !( defined $opt_uid ); -my %version = get_version(); +my %version = get_version $opt_distribution_label; print_format "<|BOLD Configuring InspIRCd $version{FULL} on $^O.|>\n"; our %config; @@ -141,13 +143,19 @@ if ($interactive) { $config{CXX} = find_compiler($config{CXX} // $ENV{CXX}); unless ($config{CXX}) { - print "A suitable C++ compiler could not be detected on your system!\n"; - print "Set the CXX environment variable to the compiler binary path if this is incorrect.\n"; - exit 1; + say 'A suitable C++ compiler could not be detected on your system!'; + unless ($interactive) { + say 'Set the CXX environment variable to the path to a C++ compiler binary if this is incorrect.'; + exit 1; + } + until ($config{CXX}) { + my $compiler_path = prompt_string 1, 'Please enter the path to a C++ compiler binary:', 'c++'; + $config{CXX} = find_compiler $compiler_path; + } } my %compiler = get_compiler_info($config{CXX}); -$config{HAS_CLOCK_GETTIME} = run_test 'clock_gettime()', test_file($config{CXX}, 'clock_gettime.cpp', '-lrt'); +$config{HAS_CLOCK_GETTIME} = run_test 'clock_gettime()', test_file($config{CXX}, 'clock_gettime.cpp', $^O eq 'darwin' ? undef : '-lrt'); $config{HAS_EVENTFD} = run_test 'eventfd()', test_file($config{CXX}, 'eventfd.cpp'); if ($config{HAS_EPOLL} = run_test 'epoll', test_header($config{CXX}, 'sys/epoll.h')) { @@ -186,12 +194,6 @@ if (defined $opt_socketengine) { } } -# If the user has specified a distribution label then we use it in -# place of the label from src/version.sh or Git. -if (defined $opt_distribution_label) { - $version{LABEL} = $opt_distribution_label; -} - if (defined $opt_system) { $config{BASE_DIR} = $opt_prefix // '/var/lib/inspircd'; $config{BINARY_DIR} = $opt_binary_dir // '/usr/sbin'; @@ -308,6 +310,9 @@ if ( && prompt_bool $interactive, 'Would you like to ge system './tools/genssl', 'auto'; } +# Cache the distribution label so that its not lost when --update is run. +$config{DISTRIBUTION} = $opt_distribution_label if $opt_distribution_label; + write_configure_cache %config; parse_templates \%config, \%compiler, \%version;