#!/usr/bin/perl -w
#############################################################################
## Name: script/fix_alien_path.pl
## Purpose: Substitute Alien::wxWidgets path in modules
## Author: Mattia Barbon
## Modified by:
## Created: 15/08/2005
## RCS-ID: $Id: fix_alien_path.pl 2057 2007-06-18 23:03:00Z mbarbon $
## Copyright: (c) 2005-2006 Mattia Barbon
## Licence: This program is free software; you can redistribute it and/or
## modify it under the same terms as Perl itself
#############################################################################
use strict;
use blib; # to pick the correct 'Wx::build::Options'
use Alien::wxWidgets 0.04 ();
use Wx::build::Options;
use Fatal qw(open close unlink);
use Config;
use Data::Dumper;
use File::Spec::Functions qw(splitpath splitdir);
# we do not care about the options, just that Alien::wxWidgets
# is initialized with the correct key
Wx::build::Options->get_makemaker_options( 'saved' );
$Alien::wxWidgets::dont_remap = 1;
my( $from, $to ) = @ARGV;
my $key = Alien::wxWidgets->key;
my $version = Alien::wxWidgets->version;
my @libs = Alien::wxWidgets->library_keys;
my %libs; @libs{@libs} = Alien::wxWidgets->shared_libraries( @libs );
my $libs = Data::Dumper::Dumper( \%libs );
my $keyd;
if( $^O =~ /mswin/i ) {
$keyd = $key;
} else {
my( $vol, $dir, $file ) = splitpath( Alien::wxWidgets->prefix );
$keyd = $file ? $file : ( splitdir( $dir ) )[-1];
}
unlink $to if -f $to;
open my $in, "< $from"; binmode $in;
open my $out, "> $to"; binmode $out;
while( <$in> ) {
s/XXXALIENDXXX/$keyd/g;
s/XXXALIENXXX/$key/g;
s/Wx::wxVERSION\(\)/$version/g;
s/XXXDLLSXXX/$libs/g;
print $out $_;
}
close $in;
close $out;
exit 0;