summaryrefslogtreecommitdiff
path: root/make/configure.pm
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2018-10-04 14:15:47 +0200
committerPeter Powell <petpow@saberuk.com>2018-10-04 14:17:02 +0200
commit479d0d9de4fe169deb96d12bd1379246aa498493 (patch)
tree4453c3abdb72b302a15170d9426c7e24b5f38c74 /make/configure.pm
parentddfe09268f87f1c78a4bfb18892dc7b39648db4f (diff)
Avoid using relative paths in make::configure.
Diffstat (limited to 'make/configure.pm')
-rw-r--r--make/configure.pm9
1 files changed, 5 insertions, 4 deletions
diff --git a/make/configure.pm b/make/configure.pm
index baf67eb38..bccef2147 100644
--- a/make/configure.pm
+++ b/make/configure.pm
@@ -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';
@@ -201,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;
@@ -230,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(.+)$/;