#
-BEGIN {
- require 5.10.0;
-}
-
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
#
-BEGIN {
- push @INC, $ENV{SOURCEPATH};
- require 5.10.0;
- unless (-f 'configure') {
- print "Error: $0 must be run from the main source directory!\n";
- exit 1;
- }
-}
-
use strict;
use warnings FATAL => qw(all);
-use File::Basename qw(basename);
+use File::Basename qw(basename dirname);
+use FindBin qw($RealDir);
+use lib dirname $RealDir;
use make::common;
use constant {
#
-BEGIN {
- require 5.10.0;
-}
-
package make::common;
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
#
-BEGIN {
- require 5.10.0;
-}
-
package make::configure;
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
package make::console;
-BEGIN {
- require 5.10.0;
-}
-
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
package make::directive;
-BEGIN {
- require 5.10.0;
-}
-
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
#
-BEGIN {
- push @INC, $ENV{SOURCEPATH};
- require 5.10.0;
-}
-
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
+use File::Basename qw(dirname);
use File::Spec::Functions qw(abs2rel);
+use FindBin qw($RealDir);
+use lib dirname $RealDir;
use make::console;
use make::directive;
BEGIN {
- require 5.10.0;
unless (eval "use LWP::Simple; 1") {
die "Your system is missing the LWP::Simple Perl module!";
}
}
}
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
return if $url_seen{$src};
$url_seen{$src}++;
- my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
+ my $ua = LWP::UserAgent->new;
my $response = $ua->get($src);
unless ($response->is_success) {
}
# hash of installed module versions from our mini-database, key (m_foobar) to version (00abacca..).
-my %mod_versions = read_config_file '.modulemanager';
+my %mod_versions = read_config_file "$RealDir/.modulemanager";
# useless helper stub
sub getmodversion {
}
# read in external URL sources
-open SRC, 'sources.list' or die "Could not open sources.list: $!";
+open SRC, "$RealDir/sources.list" or die "Could not open sources.list: $!";
while (<SRC>) {
next if /^\s*#/;
parse_url($_);
for my $mod (keys %installed) {
next if $todo{$mod};
print "Uninstalling $mod $installed{$mod}\n";
- unlink "src/modules/$mod.cpp";
+ unlink "$RealDir/src/modules/$mod.cpp";
}
my $count = scalar keys %todo;
my $response = $ua->get($url);
if ($response->is_success) {
- open(MF, ">src/modules/$mod.cpp") or die "\nFilesystem not writable: $!";
+ open(MF, '>', "$RealDir/src/modules/$mod.cpp") or die "\nFilesystem not writable: $!";
print MF $response->content;
close(MF);
print " - done\n";
}
# write database of installed versions
-write_config_file '.modulemanager', %mod_versions;
+write_config_file "$RealDir/.modulemanager", %mod_versions;
print "Finished!\n";
#
-BEGIN {
- require 5.10.0;
- unless (-f 'configure') {
- print "Error: $0 must be run from the main source directory!\n";
- exit 1;
- }
-}
-
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
#
-BEGIN {
- require 5.10.0;
-}
-
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
#
-BEGIN {
- require 5.10.0;
- unless (-f 'configure') {
- print "Error: $0 must be run from the main source directory!\n";
- exit 1;
- }
-}
-
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
use make::common;
use make::console;
-if (scalar @ARGV < 1) {
+unless (scalar @ARGV) {
print_format "<|GREEN Usage:|> $0 <<|UNDERLINE DOCS-SITE|>>\n", *STDERR;
exit 1;
}
my $docdir = rel2abs catdir $ARGV[0], 'docs', $version{MAJOR}, 'modules';
print_error "unable to find the module directory at $docdir!" unless -d $docdir;
-for my $module (<src/modules/extra/m_*.cpp>, <src/modules/m_*.cpp>, <src/modules/m_*/main.cpp>) {
+my $root = dirname $RealDir;
+for my $module (<$root/src/modules/extra/m_*.cpp>, <$root/src/modules/m_*.cpp>, <$root/src/modules/m_*/main.cpp>) {
print_error "unable to extract module name from $module!" unless $module =~ /m_(\w+)[.\/]/;
my $docfile = catfile $docdir, "$1.md";
print_error "unable to find the module documentation at $docfile!" unless -f $docfile;
#
-BEGIN {
- require 5.10.0;
- unless (-f 'configure') {
- print "Error: $0 must be run from the main source directory!\n";
- exit 1;
- }
-}
-
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
'f2acdbc3820f0f4f5ef76a0a64e73d2a320df91f', # peavey fixing line endings
);
-my @paths = File::Util->new->list_dir('.' => { recurse => 1 });
+my @paths = File::Util->new->list_dir(dirname($RealDir) => { recurse => 1 });
my @updated;
for my $path (@paths) {
next unless -f $path;
next if $path =~ /\/\./;
+ next if $path =~ /\/build\//;
next if $path =~ /\/vendor\//;
if (system "git ls-files --error-unmatch -- $path 1>/dev/null 2>/dev/null") {
#
-BEGIN {
- require 5.10.0;
- unless (-f 'configure') {
- print "Error: $0 must be run from the main source directory!\n";
- exit 1;
- }
-}
-
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
execute 'git', 'clean', '-dfx';
+my $root = dirname $RealDir;
my @compilers = $#ARGV >= 0 ? @ARGV : qw(g++ clang++ icpc);
foreach my $compiler (@compilers) {
if (system "$compiler -v > /dev/null 2>&1") {
say "Attempting to build using the $compiler compiler and the $socketengine socket engine...";
my @configure_flags;
if (defined $ENV{TEST_BUILD_MODULES}) {
- execute './configure', '--enable-extras', $ENV{TEST_BUILD_MODULES};
+ execute "$root/configure", '--enable-extras', $ENV{TEST_BUILD_MODULES};
push @configure_flags, '--disable-auto-extras';
}
- if (execute './configure', '--development', '--socketengine', $socketengine, @configure_flags) {
+ if (execute "$root/configure", '--development', '--socketengine', $socketengine, @configure_flags) {
say "Failed to configure using the $compiler compiler and the $socketengine socket engine!";
exit 1;
}
- if (execute 'make', '--jobs', get_cpu_count() + 1, 'install') {
+ if (execute 'make', '--directory', $root, '--jobs', get_cpu_count() + 1, 'install') {
say "Failed to compile using the $compiler compiler and the $socketengine socket engine!";
exit 1;
}
#
-BEGIN {
- require 5.10.0;
-}
-
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);
#
-BEGIN {
- require 5.10.0;
- unless (-f 'configure') {
- print "Error: $0 must be run from the main source directory!\n";
- exit 1;
- }
-}
-
-use feature ':5.10';
+use v5.10.0;
use strict;
use warnings FATAL => qw(all);