use Exporter 'import';
use POSIX;
use make::utilities;
-our @EXPORT = qw(promptnumeric dumphash is_dir getmodules getrevision getcompilerflags getlinkerflags getdependencies nopedantic resolve_directory yesno showhelp promptstring_s);
+our @EXPORT = qw(promptnumeric dumphash is_dir getmodules getrevision getcompilerflags getlinkerflags getdependencies getmodversion nopedantic resolve_directory yesno showhelp promptstring_s);
my $no_svn = 0;
{
return "0";
}
- my $data = `svn info`;
+ my $data = `svn info 2>/dev/null`;
if ($data eq "")
{
- $no_svn = 1;
- my $rev = "0";
- return $rev;
+ $data = `git describe --tags 2>/dev/null`;
+ if ($data eq "")
+ {
+ $no_svn = 1;
+ return '0';
+ }
+ chomp $data; # remove \n
+ return $data;
}
$data =~ /Revision: (\d+)/;
my $rev = $1;
return "";
}
+sub getmodversion {
+ my ($file) = @_;
+ open(FLAGS, $file) or return "";
+ while (<FLAGS>) {
+ if ($_ =~ /^\/\* \$ModVersion: (.+) \*\/$/) {
+ my $x = translate_functions($1, $file);
+ next if ($x eq "");
+ close(FLAGS);
+ return $x;
+ }
+ }
+ close(FLAGS);
+ return "";
+}
+
sub nopedantic {
my ($file) = @_;
open(FLAGS, $file) or return "";
sub getmodules
{
+ my ($silent) = @_;
+
my $i = 0;
- print "Detecting modules ";
+
+ if (!$silent)
+ {
+ print "Detecting modules ";
+ }
+
opendir(DIRHANDLE, "src/modules") or die("WTF, missing src/modules!");
foreach my $name (sort readdir(DIRHANDLE))
{
{
my $mod = $1;
$main::modlist[$i++] = $mod;
- print ".";
+ if (!$silent)
+ {
+ print ".";
+ }
}
}
closedir(DIRHANDLE);
- print "\nOk, $i modules.\n";
+
+ if (!$silent)
+ {
+ print "\nOk, $i modules.\n";
+ }
}
sub promptnumeric($$)