X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=configure;h=5ab87f528090d685931f1351d262b3186987970b;hb=43e31bba5429849fdebeddc65f7e6f267211181f;hp=fd39a96f7bf90da1e54487fe4a342cab2547281a;hpb=59ddf1a456265da6d2303373a40ecc34e62a9073;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/configure b/configure index fd39a96f7..5ab87f528 100755 --- a/configure +++ b/configure @@ -52,6 +52,7 @@ my ($opt_binary_dir, $opt_config_dir, $opt_data_dir, $opt_development, + $opt_disable_auto_extras, $opt_disable_interactive, $opt_distribution_label, $opt_gid, @@ -73,17 +74,18 @@ sub disable_extras (@); my @opt_enableextras; my @opt_disableextras; -GetOptions( +exit 1 unless GetOptions( 'clean' => \&cmd_clean, 'help' => \&cmd_help, 'update' => \&cmd_update, - 'development' => \$opt_development, - 'disable-interactive' => \$opt_disable_interactive, - 'distribution-label=s' => \$opt_distribution_label, 'binary-dir=s' => \$opt_binary_dir, 'config-dir=s' => \$opt_config_dir, 'data-dir=s' => \$opt_data_dir, + 'development' => \$opt_development, + 'disable-auto-extras' => \$opt_disable_auto_extras, + 'disable-interactive' => \$opt_disable_interactive, + 'distribution-label=s' => \$opt_distribution_label, 'gid=s' => \$opt_gid, 'log-dir=s' => \$opt_log_dir, 'manual-dir=s' => \$opt_manual_dir, @@ -117,6 +119,7 @@ our $interactive = !( defined $opt_config_dir || defined $opt_data_dir || defined $opt_development || + defined $opt_disable_auto_extras || defined $opt_disable_interactive || defined $opt_distribution_label || defined $opt_gid || @@ -184,7 +187,7 @@ if (defined $opt_system) { $config{BINARY_DIR} = $opt_binary_dir // '/usr/sbin'; $config{CONFIG_DIR} = $opt_config_dir // '/etc/inspircd'; $config{DATA_DIR} = $opt_data_dir // '/var/inspircd'; - $config{LOG_DIR} = $opt_module_dir // '/var/log/inspircd'; + $config{LOG_DIR} = $opt_log_dir // '/var/log/inspircd'; $config{MANUAL_DIR} = $opt_manual_dir // '/usr/share/man/man1'; $config{MODULE_DIR} = $opt_module_dir // '/usr/lib/inspircd'; $config{SCRIPT_DIR} = $opt_script_dir // '/usr/share/inspircd' @@ -251,27 +254,33 @@ EOW $config{USER} = $user[0]; $config{UID} = $user[2]; -# Clear the screen. -system 'tput', 'clear' if $interactive; - # Warn the user about clock drifting when running on OpenVZ. if (-e '/proc/user_beancounters' || -e '/proc/vz/vzaquota') { print_warning <<'EOW'; -You are building InspIRCd inside of an an OpenVZ container. If you +You are building InspIRCd inside of an OpenVZ container. If you plan to use InspIRCd in this container then you should make sure that NTP is configured on the Hardware Node. Failure to do so may result in clock drifting! EOW } +# Warn the user about OpenBSD shipping incredibly broken compilers/linkers. +if ($^O eq 'openbsd') { + print_warning <<'EOW'; +You are building InspIRCd on OpenBSD. The C++ compilers and linkers +that OpenBSD ship are incredibly broken. You may have strange linker errors +and crashes. Please consider using a different OS like FreeBSD/NetBSD instead. +EOW +} + # Check that the user actually wants this version. -if ($version{LABEL} ne 'release') { +if (defined $version{REAL_LABEL}) { print_warning <<'EOW'; You are building a development version. This contains code which has not been tested as heavily and may contain various faults which could seriously affect the running of your server. It is recommended that you use a stable version instead. -You can obtain the latest stable version from http://www.inspircd.org/ or by +You can obtain the latest stable version from https://www.inspircd.org or by running `<|GREEN git checkout $(git describe --abbrev=0 --tags insp3)|>` if you are installing from Git. EOW @@ -324,12 +333,12 @@ if (prompt_bool $interactive, $question, 0) { enable_extras "$module_name.cpp"; } } -} else { +} elsif (!defined $opt_disable_auto_extras) { # TODO: finish modulemanager rewrite and replace this code with: # system './modulemanager', 'enable', '--auto'; my %modules = ( # Missing: m_ldap, m_regex_stdlib, m_ssl_mbedtls - 'm_geoip.cpp' => 'pkg-config --exists geoip', + 'm_geo_maxmind.cpp' => 'pkg-config --exists libmaxminddb', 'm_mysql.cpp' => 'mysql_config --version', 'm_pgsql.cpp' => 'pg_config --version', 'm_regex_pcre.cpp' => 'pcre-config --version', @@ -400,7 +409,7 @@ print_format <<"EOM"; <|GREEN Execution User:|> $config{USER} ($config{UID}) <|GREEN Socket Engine:|> $config{SOCKETENGINE} -To build with these settings run '<|GREEN make -j${\get_cpu_count}|>' now. +To build with these settings run '<|GREEN make -j${\get_cpu_count} install|>' now. EOM