summaryrefslogtreecommitdiff
path: root/make/configure.pm
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2014-10-01 19:52:28 +0100
committerPeter Powell <petpow@saberuk.com>2014-12-07 22:36:42 +0000
commit541a66de7adbfe57dd4d3e998e8cc0db5585a266 (patch)
treeec7c11b5a1b1e5f47a7d6d974cc94bc5db10fdb7 /make/configure.pm
parent2adb94db3032332ad2235aa032bb195aba89687c (diff)
Implement support for distribution specific version labels.
This will help us determine whether a version has been packaged by a downstream distribution who quite often make arbitrary changes which are a pain to provide support for. Debian, we're looking at you.
Diffstat (limited to 'make/configure.pm')
-rw-r--r--make/configure.pm18
1 files changed, 10 insertions, 8 deletions
diff --git a/make/configure.pm b/make/configure.pm
index 02e3a88c3..a5cb05c60 100644
--- a/make/configure.pm
+++ b/make/configure.pm
@@ -66,10 +66,10 @@ sub __get_socketengines {
# TODO: when buildtool is done this can be mostly removed with
# the remainder being merged into parse_templates.
-sub __get_template_settings($$) {
+sub __get_template_settings($$$) {
# These are actually hash references
- my ($config, $compiler) = @_;
+ my ($config, $compiler, $version) = @_;
# Start off by populating with the config
my %settings = %$config;
@@ -80,8 +80,7 @@ sub __get_template_settings($$) {
}
# Version information
- my %version = get_version();
- while (my ($key, $value) = each %version) {
+ while (my ($key, $value) = each %{$version}) {
$settings{'VERSION_' . $key} = $value;
}
@@ -143,6 +142,8 @@ MISC OPTIONS
--clean Remove the configuration cache file and start
the interactive configuration wizard.
--disable-interactive Disables the interactive configuration wizard.
+ --distribution-label=[text] Sets a distribution specific version label in
+ the build configuration.
--gid=[id|name] Sets the group to run InspIRCd as.
--help Show this message and exit.
--socketengine=[name] Sets the socket engine to be used. Possible
@@ -169,7 +170,8 @@ sub cmd_update {
print "Updating...\n";
my %config = read_configure_cache();
my %compiler = get_compiler_info($config{CXX});
- parse_templates(\%config, \%compiler);
+ my %version = get_version();
+ parse_templates(\%config, \%compiler, \%version);
print "Update complete!\n";
exit 0;
}
@@ -263,13 +265,13 @@ sub get_property($$;$)
return defined $default ? $default : '';
}
-sub parse_templates($$) {
+sub parse_templates($$$) {
# These are actually hash references
- my ($config, $compiler) = @_;
+ my ($config, $compiler, $version) = @_;
# Collect settings to be used when generating files
- my %settings = __get_template_settings($config, $compiler);
+ my %settings = __get_template_settings($config, $compiler, $version);
# Iterate through files in make/template.
foreach (<make/template/*>) {