blob: 56f015fdb9519c9dbcba5eb99ea5dec77c893279 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
#!/bin/sh
if ! ./scripts/checkperl.sh
then
exit 1
fi
perl -e '
use strict;
$|=1;
sub check_gcc {
my $f = shift;
my $s = shift;
my $r = 0;
print "Checking for GNU G++ $f.$s\n";
if ( `g++ -v 2> g++.version && tail -n 1 g++.version` =~ / $f\.$s/ ) {
`echo $f.$s >> g++.version`;
`echo g++ >> g++.version`;
$r = 1;
} else {
if (`g++$f$s -v 2> g++.version && tail -n 1 g++.version` =~ / $f\.$s/) {
`echo $f.$s >> g++.version`;
`echo g++$f$s >> g++.version`;
$r = 1;
}
}
print "No " if $r == 0;
print "GNU G++ $f.$s found!\n";
return $r;
}
sub check_make {
print "Checking for GNU make\n";
my $err = "No GNU make found.\nPlease install a version of GNU make!\n";
my $make;
if (`which gmake`) {
$make = "gmake";
} elsif ( `which make` ) {
$make = "make";
} else {
print $err;
exit(1);
}
`sh -c "$make -v > make.version 2>/dev/null"`;
if ( `cat make.version` =~ /GNU Make/ ) {
`echo $make >> make.version`;
} else {
print $err;
exit(1);
}
}
&check_make;
print "Checking compiler version\n";
# Accept any GNU g++ (the original check only accepted g++ 3.x; modern GCC
# works fine with the legacy-C++ fixes applied). Write g++.version as
# "<version>\ng++\n" - src/configure reads the last line as the compiler.
my $ver = `g++ -dumpversion 2>/dev/null`;
chomp $ver;
if ( $ver eq "" ) {
print "No GNU g++ compiler found!\nPlease install GNU G++!\n";
exit(1);
}
`echo $ver > g++.version`;
`echo g++ >> g++.version`;
print "GNU G++ $ver found!\n";
# -I. : scripts/config.pl does "use scripts::modules::file", which needs
# "." on @INC. Perl 5.26+ dropped "." from the default @INC, so this
# silently BEGIN-failed on modern Perl (the "yes" answer was never even
# read - it happened to be harmless only because the committed glob.h
# defaults were already correct).
system("perl -I. \"scripts/config.pl\"");
chdir("src");
system("./configure ".join(" ", @ARGV));
chdir("..");
exit(0);
' `echo "$*" | sed "s/-//g"`
if test -f err
then
rm -f err
else
echo You are ready to type gmake now!
fi
|