]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - make/configure.pm
Avoid using relative paths in make::configure.
[user/henk/code/inspircd.git] / make / configure.pm
index dfdbf5f75d680b7ab8e0669b154b8fd60849f588..bccef2147ce7a78f1329bd35db5f21ed5c07937a 100644 (file)
@@ -34,12 +34,13 @@ use warnings FATAL => qw(all);
 use Cwd                   qw(getcwd);
 use Exporter              qw(import);
 use File::Basename        qw(basename dirname);
-use File::Spec::Functions qw(catfile);
+use File::Spec::Functions qw(catdir catfile);
 
 use make::common;
 use make::console;
 
-use constant CONFIGURE_DIRECTORY     => '.configure';
+use constant CONFIGURE_ROOT          => dirname dirname __FILE__; 
+use constant CONFIGURE_DIRECTORY     => catdir(CONFIGURE_ROOT, '.configure');
 use constant CONFIGURE_CACHE_FILE    => catfile(CONFIGURE_DIRECTORY, 'cache.cfg');
 use constant CONFIGURE_CACHE_VERSION => '1';
 use constant CONFIGURE_ERROR_PIPE    => $ENV{INSPIRCD_VERBOSE} ? '' : '1>/dev/null 2>/dev/null';
@@ -90,7 +91,6 @@ sub __get_template_settings($$$) {
        $settings{CONFIGURE_DIRECTORY} = CONFIGURE_DIRECTORY;
        $settings{CONFIGURE_CACHE_FILE} = CONFIGURE_CACHE_FILE;
        $settings{SYSTEM_NAME} = lc $^O;
-       chomp($settings{SYSTEM_NAME_VERSION} = `uname -sr 2>/dev/null`);
 
        return %settings;
 }
@@ -139,6 +139,9 @@ PATH OPTIONS
   --module-dir=[dir]            The location where the loadable modules are
                                 stored.
                                 [$PWD/run/modules]
+  --script-dir=[dir]            The location where the scripts, such as the
+                                init scripts, are stored.
+                                [$PWD/run]
 
 EXTRA MODULE OPTIONS
 
@@ -199,7 +202,7 @@ sub test_file($$;$) {
        my ($compiler, $file, $args) = @_;
        my $status = 0;
        $args //= '';
-       $status ||= system "$compiler -o __test_$file make/test/$file $args ${\CONFIGURE_ERROR_PIPE}";
+       $status ||= system "$compiler -o __test_$file ${\CONFIGURE_ROOT}/make/test/$file $args ${\CONFIGURE_ERROR_PIPE}";
        $status ||= system "./__test_$file ${\CONFIGURE_ERROR_PIPE}";
        unlink "./__test_$file";
        return !$status;
@@ -228,7 +231,7 @@ sub write_configure_cache(%) {
 sub get_compiler_info($) {
        my $binary = shift;
        my %info = (NAME => 'Unknown', VERSION => '0.0');
-       return %info if system "$binary -o __compiler_info make/test/compiler_info.cpp ${\CONFIGURE_ERROR_PIPE}";
+       return %info if system "$binary -o __compiler_info ${\CONFIGURE_ROOT}/make/test/compiler_info.cpp ${\CONFIGURE_ERROR_PIPE}";
        open(my $fh, '-|', './__compiler_info 2>/dev/null');
        while (my $line = <$fh>) {
                $info{$1} = $2 if $line =~ /^([A-Z]+)\s(.+)$/;