diff options
Diffstat (limited to 'autogen.sh')
-rwxr-xr-x | autogen.sh | 164 |
1 files changed, 3 insertions, 161 deletions
diff --git a/autogen.sh b/autogen.sh index 30b1ae409..9adcc8385 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,161 +1,3 @@ -: - eval 'exec perl -S $0 ${1+"$@"}' - if 0; - -use strict; - -sub clean() -{ - system ("rm -Rf autom4te.cache"); - system ("rm -f missing install-sh mkinstalldirs libtool ltmain.sh"); - print "cleaned the build tree\n"; -} - -my $aclocal; - -# check we have various vital tools -sub sanity_checks($) -{ - my $system = shift; - my @path = split (':', $ENV{'PATH'}); - my %required = - ( - 'pkg-config' => "pkg-config is required to be installed", - 'autoconf' => "autoconf is required", - $aclocal => "$aclocal is required", - ); - - for my $elem (@path) { - for my $app (keys %required) { - if (-f "$elem/$app") { - delete $required{$app}; - } - } - } - if ((keys %required) > 0) { - print ("Various low-level dependencies are missing, please install them:\n"); - for my $app (keys %required) { - print "\t $app: " . $required{$app} . "\n"; - } - exit (1); - } -} - -# one argument per line -sub read_args($) -{ - my $file = shift; - my $fh; - my @lst; - open ($fh, $file) || die "can't open file: $file"; - while (<$fh>) { - chomp(); - # migrate from the old system - if ( substr($_, 0, 1) eq "'" ) { - print "Migrating options from the old autogen.lastrun format, using:\n"; - my @opts; - @opts = split(/'/); - foreach my $opt (@opts) { - if ( substr($opt, 0, 1) eq "-" ) { - push @lst, $opt; - print " $opt\n"; - } - } - } else { - push @lst, $_; - } - } - close ($fh); - # print "read args from file '$file': @lst\n"; - return @lst; -} - -sub invalid_distro($$) -{ - my ($config, $distro) = @_; - print STDERR "Can't find distro option set: $config\nThis is not necessarily a problem.\n"; - print STDERR "Distros with distro option sets are:\n"; - my $dirh; - opendir ($dirh, "distro-configs"); - while (($_ = readdir ($dirh))) { - /(.*)\.conf$/ || next; - print STDERR "\t$1\n"; - } - closedir ($dirh); -} - -my @cmdline_args = (); -if (!@ARGV) { - my $lastrun = "autogen.lastrun"; - @cmdline_args = read_args ($lastrun) if (-f $lastrun); -} else { - @cmdline_args = @ARGV; -} - -my @args; -for my $arg (@cmdline_args) { - if ($arg eq '--clean') { - clean(); - } elsif ($arg =~ m/--with-distro=(.*)$/) { - my $config = "distro-configs/$1.conf"; - if (! -f $config) { - invalid_distro ($config, $1); - } else { - push @args, read_args ($config); - } - } else { - push @args, $arg; - } -} -for my $arg (@args) { - if ($arg =~ /^([A-Z]+)=(.*)/) { - $ENV{$1} = $2; - } -} - -# Alloc $ACLOCAL to specify which aclocal to use -$aclocal = $ENV{ACLOCAL} ? $ENV{ACLOCAL} : 'aclocal'; - -my $system = `uname -s`; -chomp $system; - -sanity_checks ($system) unless($system eq 'Darwin'); - -my $aclocal_flags = $ENV{ACLOCAL_FLAGS}; - -$aclocal_flags = "-I ./m4/mac" if (($aclocal_flags eq "") && ($system eq 'Darwin')); - -$ENV{AUTOMAKE_EXTRA_FLAGS} = '--warnings=no-portability' if (!($system eq 'Darwin')); - -system ("$aclocal $aclocal_flags") && die "Failed to run aclocal"; -unlink ("configure"); -system ("autoconf") && die "Failed to run autoconf"; -die "failed to generate configure" if (! -x "configure"); - -if (defined $ENV{NOCONFIGURE}) { - print "Skipping configure process."; -} else { - # Save autogen.lastrun only if we did get some arguments on the command-line - if (@ARGV) { - if ($#cmdline_args > 0) { - # print "writing args to autogen.lastrun\n"; - my $fh; - open ($fh, ">autogen.lastrun") || die "can't open autogen.lastrun: $!"; - for my $arg (@cmdline_args) { - print $fh "$arg\n"; - } - close ($fh); - } - } - print "running ./configure with '" . join ("' '", @args), "'\n"; - system ("./configure", @args); -} - -# Local Variables: -# mode: perl -# cperl-indent-level: 4 -# tab-width: 4 -# indent-tabs-mode: nil -# End: - -# vim:set shiftwidth=4 softtabstop=4 expandtab: # +#!/bin/sh +cat README +exit 1 |