summaryrefslogtreecommitdiff
path: root/configure
blob: 20e84d077fdc91ad3844aa3885e14dbb83835a38 (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
#!/bin/sh

if ! which perl >/dev/null
then
 echo You need to have Perl in your PATH
 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";
 my $r = 0;
 for (my $i = 4; $i > 0 && $r == 0; --$i ) {
    $r = &check_gcc(3,$i);
 }
 if ($r == 0) {
  print "No suitable g++ compiler found!\n"; 
  print "Please install a right version of GNU G++!\n";
  exit(1);
 }
 
 system("sh -c \"scripts/config.sh\"");
 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