summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2019-07-03 10:53:21 +0100
committerPeter Powell <petpow@saberuk.com>2019-07-03 10:53:21 +0100
commitc9a812a5ccc5e2639ae4e1314f5f24b3d4518c68 (patch)
tree1d375a3a851e876b458521691a7d3d28c8c90411 /configure
parent25359c08847a447544b67d6c60d99ad48168ca5e (diff)
Allow customising the example config directory at build time.
Fixes #1626.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure54
1 files changed, 30 insertions, 24 deletions
diff --git a/configure b/configure
index 63da8d6cd..6d729292f 100755
--- a/configure
+++ b/configure
@@ -55,6 +55,7 @@ my ($opt_binary_dir,
$opt_disable_auto_extras,
$opt_disable_interactive,
$opt_distribution_label,
+ $opt_example_dir,
$opt_gid,
$opt_log_dir,
$opt_manual_dir,
@@ -86,6 +87,7 @@ exit 1 unless GetOptions(
'disable-auto-extras' => \$opt_disable_auto_extras,
'disable-interactive' => \$opt_disable_interactive,
'distribution-label=s' => \$opt_distribution_label,
+ 'example-dir=s' => \$opt_example_dir,
'gid=s' => \$opt_gid,
'log-dir=s' => \$opt_log_dir,
'manual-dir=s' => \$opt_manual_dir,
@@ -122,6 +124,7 @@ our $interactive = !(
defined $opt_disable_auto_extras ||
defined $opt_disable_interactive ||
defined $opt_distribution_label ||
+ defined $opt_example_dir ||
defined $opt_gid ||
defined $opt_log_dir ||
defined $opt_manual_dir ||
@@ -183,23 +186,25 @@ if (defined $opt_socketengine) {
$config{SOCKETENGINE} = $opt_socketengine // $socketengines[0];
if (defined $opt_system) {
- $config{BASE_DIR} = $opt_prefix // '/var/lib/inspircd';
- $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_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'
+ $config{BASE_DIR} = $opt_prefix // '/var/lib/inspircd';
+ $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{EXAMPLE_DIR} = $opt_example_dir // '/usr/share/doc/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'
} else {
- $config{BASE_DIR} = $opt_prefix // $config{BASE_DIR} // rel2abs 'run';
- $config{BINARY_DIR} = $opt_binary_dir // $config{BINARY_DIR} // rel2abs $config{BASE_DIR} . '/bin';
- $config{CONFIG_DIR} = $opt_config_dir // $config{CONFIG_DIR} // rel2abs $config{BASE_DIR} . '/conf';
- $config{DATA_DIR} = $opt_data_dir // $config{DATA_DIR} // rel2abs $config{BASE_DIR} . '/data';
- $config{LOG_DIR} = $opt_log_dir // $config{LOG_DIR} // rel2abs $config{BASE_DIR} . '/logs';
- $config{MANUAL_DIR} = $opt_manual_dir // $config{MANUAL_DIR} // rel2abs $config{BASE_DIR} . '/manuals';
- $config{MODULE_DIR} = $opt_module_dir // $config{MODULE_DIR} // rel2abs $config{BASE_DIR} . '/modules';
- $config{SCRIPT_DIR} = $opt_script_dir // $config{SCRIPT_DIR} // $config{BASE_DIR};
+ $config{BASE_DIR} = $opt_prefix // $config{BASE_DIR} // rel2abs 'run';
+ $config{BINARY_DIR} = $opt_binary_dir // $config{BINARY_DIR} // rel2abs $config{BASE_DIR} . '/bin';
+ $config{CONFIG_DIR} = $opt_config_dir // $config{CONFIG_DIR} // rel2abs $config{BASE_DIR} . '/conf';
+ $config{DATA_DIR} = $opt_data_dir // $config{DATA_DIR} // rel2abs $config{BASE_DIR} . '/data';
+ $config{EXAMPLE_DIR} = $opt_example_dir // $config{EXAMPLE_DIR} // $config{CONFIG_DIR} . '/examples';
+ $config{LOG_DIR} = $opt_log_dir // $config{LOG_DIR} // rel2abs $config{BASE_DIR} . '/logs';
+ $config{MANUAL_DIR} = $opt_manual_dir // $config{MANUAL_DIR} // rel2abs $config{BASE_DIR} . '/manuals';
+ $config{MODULE_DIR} = $opt_module_dir // $config{MODULE_DIR} // rel2abs $config{BASE_DIR} . '/modules';
+ $config{SCRIPT_DIR} = $opt_script_dir // $config{SCRIPT_DIR} // $config{BASE_DIR};
}
# Parse --gid=123 or --gid=foo and extract the group id.
@@ -410,14 +415,15 @@ for my $file (<src/modules/m_*>) {
print_format <<"EOM";
<|GREEN Paths:|>
- <|GREEN Base:|> $config{BASE_DIR}
- <|GREEN Binary:|> $config{BINARY_DIR}
- <|GREEN Config:|> $config{CONFIG_DIR}
- <|GREEN Data:|> $config{DATA_DIR}
- <|GREEN Log:|> $config{LOG_DIR}
- <|GREEN Manual:|> $config{MANUAL_DIR}
- <|GREEN Module:|> $config{MODULE_DIR}
- <|GREEN Script:|> $config{SCRIPT_DIR}
+ <|GREEN Base:|> $config{BASE_DIR}
+ <|GREEN Binary:|> $config{BINARY_DIR}
+ <|GREEN Config:|> $config{CONFIG_DIR}
+ <|GREEN Data:|> $config{DATA_DIR}
+ <|GREEN Example:|> $config{EXAMPLE_DIR}
+ <|GREEN Log:|> $config{LOG_DIR}
+ <|GREEN Manual:|> $config{MANUAL_DIR}
+ <|GREEN Module:|> $config{MODULE_DIR}
+ <|GREEN Script:|> $config{SCRIPT_DIR}
<|GREEN Execution Group:|> $config{GROUP} ($config{GID})
<|GREEN Execution User:|> $config{USER} ($config{UID})