$opt_config_dir,
$opt_data_dir,
$opt_development,
+ $opt_disable_auto_extras,
$opt_disable_interactive,
$opt_distribution_label,
$opt_gid,
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,
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 ||
$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'
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 (defined $version{REAL_LABEL}) {
print_warning <<'EOW';
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 = (