use File::Copy; use Cwd; use Config; BEGIN { eval { require File::Spec::Functions ; File::Spec::Functions->import( qw(catfile rel2abs) ) } ; *catfile = sub { return join( '/', @_ ) } if $@; } require VMS::Filespec if $^O eq 'VMS'; sub dump_block { my %block; ( $block{1}, $block{2} ) = @_; for ( my $i=0; $i) { print STDERR $_; } close($in); } } our $BZLIB_BIN ; our $BZLIB_LIB ; our $BZLIB_INCLUDE ; our $BUILD_BZLIB ; sub ParseCONFIG { my $CONFIG = shift || 'config.in' ; my ($k, $v) ; my @badkey = () ; my %Info = () ; my @Options = qw( BZLIB_INCLUDE BZLIB_LIB BUILD_BZLIB BZLIB_BIN ) ; my %ValidOption = map {$_, 1} @Options ; my %Parsed = %ValidOption ; my $debugf = 0; print STDERR "Parsing $CONFIG...\n" if $debugf; if (!open(F, "<$CONFIG")) { warn "warning: failed to open $CONFIG: $!\n"; } else { while () { chomp; s/#.*$//; next if !/\S/; ($k, $v) = split(/\s*=\s*/, $_, 2) ; $k = uc $k ; if ($ValidOption{$k}) { delete $Parsed{$k} ; $Info{$k} = $v ; } else { push(@badkey, $k) ; } } close F ; } print STDERR "Unknown keys in $CONFIG ignored [@badkey]\n" if $debugf && scalar(@badkey) ; $BZLIB_INCLUDE = $ENV{'BZLIB_INCLUDE'} || $Info{'BZLIB_INCLUDE'} ; $BZLIB_LIB = $ENV{'BZLIB_LIB'} || $Info{'BZLIB_LIB'} ; $BZLIB_BIN = $ENV{'BZLIB_BIN'} || $Info{'BZLIB_BIN'} ; if ($^O eq 'VMS') { $BZLIB_INCLUDE = VMS::Filespec::vmspath($BZLIB_INCLUDE); $BZLIB_LIB = VMS::Filespec::vmspath($BZLIB_LIB); $BZLIB_BIN = VMS::Filespec::vmspath($BZLIB_BIN); } $BUILD_BZLIB = 1; print STDERR "Building internal libbz2 enabled\n" if $debugf ; print STDERR <