#!/usr/bin/perl use strict; use warnings; our ($version, $vers, $major, $minor, $build, $c, $install, $libdir2, $mingw, $msys, $pathsep, $perl, $perlroot, $prefix, $pwd, $realprefix, $sep); use File::Basename; use Cwd; $version = $ARGV[0]; ($major, $minor) = $version =~ /^(\d+)\.(\d+\.\d+)/; defined $minor or die "invalid version number: $version, should be like 1.2.3[suffix] - is debian/changelog intact?\n"; $vers = "$major.$minor"; $mingw = $ENV{WINDIR}||$ENV{windir}; if ($mingw) { $sep = '/'; $msys = $ENV{MSYSTEM}; $pathsep = $msys ? ':' : ';'; $c = fix_path("C:"); # $prefix = "$c${sep}Program Files${sep}brace"; $libdir2 = fix_path($mingw); } else { $sep = '/'; $pathsep = ':'; } $prefix = "/usr/local"; for (@ARGV) { if (/--prefix=(.*)/) { $prefix = fix_path($1); } } $pwd=fix_path(getcwd()); $build="$pwd/.build"; $realprefix=$prefix; $install = "install"; if (`which ginstall 2>.configure.tmp` ne "") { $install = "ginstall"; } while (defined ($_=)) { s/^(srcdir=).*/$1$build/; s/^(realprefix=).*/$1$realprefix/; s/^(INSTALL=).*/$1$install/; s/^(VERSION=).*/$1$version/; s/^(VERS=).*/$1$vers/; s/^(MAJOR=).*/$1$major/; s/^(MINOR=).*/$1$minor/; s{[\\/]}{$sep}g; next if /^(perldir=)./; print; } my $path = fix_path($ENV{PATH}); if ($pathsep eq ":") { $path =~ s/;/:/g; } print "\n"; print < $bestscore || ($score == $bestscore && $len < $bestlen)) { $best = $_; $bestscore = $score; $bestlen = $len } } # $perldir = $best; # XXX was this $perldir = '$(destdir)'.$best; # XXX changed to this, ok? } $perldir =~ s{^(\Q$prefix\E|/usr/local|/usr/pkg|/usr)/}{$prefix/}; print <