]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - configure
Add development version checks to non-interactive mode.
[user/henk/code/inspircd.git] / configure
index c4f0dffc79eb53afff9dc02ca49353ad988c6f93..7b1452c5d4be23c97b5b5c81703e9783b2a41a71 100755 (executable)
--- a/configure
+++ b/configure
@@ -46,6 +46,7 @@ use make::console;
 my ($opt_binary_dir,
     $opt_config_dir,
     $opt_data_dir,
+    $opt_development,
     $opt_disable_interactive,
     $opt_distribution_label,
     $opt_gid,
@@ -71,6 +72,7 @@ GetOptions(
        '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,
@@ -107,6 +109,7 @@ our $interactive = !(
        defined $opt_binary_dir ||
        defined $opt_config_dir ||
        defined $opt_data_dir ||
+       defined $opt_development ||
        defined $opt_disable_interactive ||
        defined $opt_distribution_label ||
        defined $opt_gid ||
@@ -233,7 +236,7 @@ $config{UID}  = $user[2];
 system 'tput', 'clear' if $interactive;
 
 # Check that the user actually wants this version.
-if ($version{LABEL} ne 'release' && $interactive) {
+if ($version{LABEL} ne 'release') {
        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
@@ -242,9 +245,11 @@ version instead.
 
 You can obtain the latest stable version from http://www.inspircd.org/ or by
 running `git checkout insp20` if you are installing from Git.
-
 EOW
-exit 1 unless prompt_bool $interactive, 'I understand this warning and want to continue anyway.', !$interactive;
+       if (!prompt_bool $interactive, 'I understand this warning and want to continue anyway.', $opt_development || 0) {
+               print STDERR "If you understand this warning and still want to continue pass the --development flag.\n" unless $interactive;
+               exit 1;
+       }
 }
 
 # Configure directory settings.
@@ -300,7 +305,7 @@ if (<src/modules/m_ssl_*.cpp> && prompt_bool $interactive, 'Would you like to ge
        system './tools/genssl', 'auto';
 }
 
-write_configure_cache %config if $interactive;
+write_configure_cache %config;
 parse_templates \%config, \%compiler, \%version;
 
 print_format <<"EOM";
@@ -312,10 +317,15 @@ Configuration is complete! You have chosen to build with the following settings:
   <|GREEN Name:|>    $compiler{NAME}
   <|GREEN Version:|> $compiler{VERSION}
 
-<|GREEN Extra Modules:|> <<TODO>>
-  * m_foo
-  * m_bar
-  * m_baz
+<|GREEN Extra Modules:|>
+EOM
+
+for my $file (<src/modules/m_*>) {
+       my $module = basename $file, '.cpp';
+       print "  * $module\n" if -l $file;
+}
+
+print_format <<"EOM";
 
 <|GREEN Paths:|>
   <|GREEN Base:|>   $config{BASE_DIR}