#!/usr/bin/env perl

use strict;
use Carp;
use warnings;

sub Main
{
    undef $/;
    open (IFD, "<default.sh.in") || die;
    my $data = <IFD>;
    die unless defined ($data) && length ($data);
    close IFD;

    while ($data =~ s@ (|/usr|/usr/local)/lib64( |')@$2@g) {}

    $data =~ s@='cc([' ])@='gcc$1@g;
    $data =~ s@ +'@ '@g;
    $data =~ s@('|=| )/glibc(32|64)/@${1}__META_SYSTREE__/@g;
    $data =~ s@__META_SYSTREE__/pkg@__META_PRODTREE__@g;
    $data =~ s@__META_PRODTREE__/perl5-\w+-\d{6}\b@__META_PREFIX__@g;
    $data =~ s@__META_PRODTREE__/glibc(32|64)-\d{6}/(include|lib)@__META_PRODTREE__/glibc/$2@g;
    $data =~ s@( |'|-L)/usr/local/lib( | *')@${1}__META_PRODTREE__/glibc/lib${2}@g;
    $data =~ s@/loopdisks/mnt/glibc(32|64)/gcc\d+/@__META_PRODTREE__/gcc/@g;
    $data =~ s@/lib/\.\./lib([ '])@/lib$1@g;

    $data =~ s@(\nlocincpth=).*@${1}'__META_SYSTREE__/include /usr/local/include'@g;
    $data =~ s@(\nstartperl=).*@${1}'#!__META_PREFIX__/bin/perl'@g;

    my $udata =  `uname -m 2>&1`;
       $udata =~ s@\s+\z@@s;
       $data  =~ s@\bx86_64\b@i686@g if $udata eq 'i386';

    open (OFD, ">default.sh.in") || die;
    print OFD $data;
    close (OFD) || die;
    undef;
}

&Main();
