Blame Makefile.PL

Packit Service 4a2782
#! perl -w
Packit Service 4a2782
Packit Service 4a2782
use strict ;
Packit Service 4a2782
require 5.006 ;
Packit Service 4a2782
Packit Service 4a2782
use lib '.';
Packit Service 4a2782
use private::MakeUtil;
Packit Service 4a2782
use ExtUtils::MakeMaker 5.16 ;
Packit Service 4a2782
use ExtUtils::Install (); # only needed to check for version
Packit Service 4a2782
use Config;
Packit Service 4a2782
Packit Service 4a2782
my $ZLIB_LIB ;
Packit Service 4a2782
my $ZLIB_INCLUDE ;
Packit Service 4a2782
my $BUILD_ZLIB = 0 ;
Packit Service 4a2782
my $OLD_ZLIB = '' ;
Packit Service 4a2782
my $WALL = '' ;
Packit Service 4a2782
my $GZIP_OS_CODE = -1 ;
Packit Service 4a2782
my $USE_PPPORT_H = ($ENV{PERL_CORE}) ? '' : '-DUSE_PPPORT_H';
Packit Service 4a2782
my $OPTIMIZE = $Config{'optimize'};
Packit Service 4a2782
if ($Config{'gccversion'} and $OPTIMIZE =~ /-g (gdb)? 3/x) {
Packit Service 4a2782
  $OPTIMIZE =~ s/-g(gdb)?3/-g/g; # [88936] out of memory with -g3 since 2.062
Packit Service 4a2782
}
Packit Service 4a2782
Packit Service 4a2782
# Windows uses a different name for the zlib library
Packit Service 4a2782
my $ZLIB_LIBRARY_NAME = $^O eq 'MSWin32' ? 'zlib' : 'z' ;
Packit Service 4a2782
Packit Service 4a2782
#$WALL = ' -pedantic ' if $Config{'cc'} =~ /gcc/ ;
Packit Service 4a2782
#$WALL = ' -Wall -Wno-comment ' if $Config{'cc'} =~ /gcc/ ;
Packit Service 4a2782
Packit Service 4a2782
# Ticket #18986 says that ExtUtils::Install 1.39 fixes the in-use issue
Packit Service 4a2782
# on win32/cygwin, so make the code below conditional on the version of
Packit Service 4a2782
# ExtUtils::Install.
Packit Service 4a2782
Packit Service 4a2782
# Don't ask if MM_USE_DEFAULT is set -- enables perl core building on cygwin
Packit Service 4a2782
if ($^O =~ /cygwin/i and $ExtUtils::Install::VERSION < 1.39 
Packit Service 4a2782
        and not ($ENV{PERL_MM_USE_DEFAULT} or $ENV{PERL_CORE}))
Packit Service 4a2782
{
Packit Service 4a2782
    print <
Packit Service 4a2782
Packit Service 4a2782
I see you are running Cygwin.
Packit Service 4a2782
Packit Service 4a2782
Please note that this module cannot be installed on Cygwin using the CPAN
Packit Service 4a2782
shell. The CPAN Shell uses Compress::Raw::Zlib internally and it is not
Packit Service 4a2782
possible to delete an active DLL.
Packit Service 4a2782
Packit Service 4a2782
If you are running the CPAN shell, please exit it and install this module
Packit Service 4a2782
by hand by running 'make install' under the directory
Packit Service 4a2782
Packit Service 4a2782
    ~/.cpan/build/Compress-Raw-Zlib-VERSION
Packit Service 4a2782
Packit Service 4a2782
EOM
Packit Service 4a2782
Packit Service 4a2782
    print "Do you want to continue? [Y/N]: " ;
Packit Service 4a2782
    my $answer = <STDIN> ;
Packit Service 4a2782
Packit Service 4a2782
    if ($answer =~ /^yes|y/i)
Packit Service 4a2782
    {
Packit Service 4a2782
	print "continuing...\n" 
Packit Service 4a2782
    }
Packit Service 4a2782
    else
Packit Service 4a2782
    {
Packit Service 4a2782
	print "exiting...\n" ;
Packit Service 4a2782
	exit 1 ;
Packit Service 4a2782
    }
Packit Service 4a2782
Packit Service 4a2782
Packit Service 4a2782
}
Packit Service 4a2782
Packit Service 4a2782
ParseCONFIG() ;
Packit Service 4a2782
Packit Service 4a2782
UpDowngrade(getPerlFiles('MANIFEST')) 
Packit Service 4a2782
    unless $ENV{PERL_CORE};
Packit Service 4a2782
Packit Service 4a2782
WriteMakefile( 
Packit Service 4a2782
    NAME         => 'Compress::Raw::Zlib',
Packit Service 4a2782
    VERSION_FROM => 'lib/Compress/Raw/Zlib.pm',
Packit Service 4a2782
    INC          => "-I$ZLIB_INCLUDE" ,
Packit Service 4a2782
    DEFINE       => "-DNO_VIZ -DZ_SOLO $OLD_ZLIB $WALL -DGZIP_OS_CODE=$GZIP_OS_CODE $USE_PPPORT_H" ,
Packit Service 4a2782
    XS           => { 'Zlib.xs' => 'Zlib.c'},
Packit Service 4a2782
    'depend'     => { 'Makefile'   => 'config.in' },
Packit Service 4a2782
    'clean'      => { FILES        => '*.c constants.h constants.xs' },
Packit Service 4a2782
    'dist'       => { COMPRESS     => 'gzip', 
Packit Service 4a2782
                      TARFLAGS     => '-chvf',
Packit Service 4a2782
                      SUFFIX       => 'gz',
Packit Service 4a2782
                      DIST_DEFAULT => 'MyTrebleCheck tardist',
Packit Service 4a2782
                    },
Packit Service 4a2782
Packit Service 4a2782
    (
Packit Service 4a2782
      $BUILD_ZLIB
Packit Service 4a2782
        ? zlib_files($ZLIB_LIB)
Packit Service 4a2782
        : (LIBS => [ "-L$ZLIB_LIB -l$ZLIB_LIBRARY_NAME " ])
Packit Service 4a2782
    ),
Packit Service 4a2782
    OPTIMIZE => $OPTIMIZE,
Packit Service 4a2782
Packit Service 4a2782
    INSTALLDIRS => ($] >= 5.009 && $] < 5.011 ? 'perl' : 'site'),
Packit Service 4a2782
Packit Service 4a2782
    META_MERGE => {
Packit Service 4a2782
        no_index => {
Packit Service 4a2782
            directory => [ 't', 'private' ],
Packit Service 4a2782
        },
Packit Service 4a2782
    },    
Packit Service 4a2782
Packit Service 4a2782
    ((ExtUtils::MakeMaker->VERSION() gt '6.30') ?
Packit Service 4a2782
        ('LICENSE'  => 'perl')         : ()),    
Packit Service 4a2782
Packit Service 4a2782
) ;
Packit Service 4a2782
Packit Service 4a2782
sub version_Macro
Packit Service 4a2782
{
Packit Service 4a2782
    my $ver = shift ;
Packit Service 4a2782
Packit Service 4a2782
    return [ "#if ZLIB_VERNUM >= 0x$ver\n", "#endif\n" ];
Packit Service 4a2782
}
Packit Service 4a2782
Packit Service 4a2782
my @names = qw(
Packit Service 4a2782
Packit Service 4a2782
    DEF_WBITS
Packit Service 4a2782
    MAX_MEM_LEVEL
Packit Service 4a2782
    MAX_WBITS
Packit Service 4a2782
    OS_CODE
Packit Service 4a2782
Packit Service 4a2782
    Z_ASCII
Packit Service 4a2782
    Z_BEST_COMPRESSION
Packit Service 4a2782
    Z_BEST_SPEED
Packit Service 4a2782
    Z_BINARY
Packit Service 4a2782
    Z_BLOCK
Packit Service 4a2782
    Z_BUF_ERROR
Packit Service 4a2782
    Z_DATA_ERROR
Packit Service 4a2782
    Z_DEFAULT_COMPRESSION
Packit Service 4a2782
    Z_DEFAULT_STRATEGY
Packit Service 4a2782
    Z_DEFLATED
Packit Service 4a2782
    Z_ERRNO
Packit Service 4a2782
    Z_FILTERED
Packit Service 4a2782
    Z_FINISH
Packit Service 4a2782
    Z_FIXED
Packit Service 4a2782
    Z_FULL_FLUSH
Packit Service 4a2782
    Z_HUFFMAN_ONLY
Packit Service 4a2782
    Z_MEM_ERROR
Packit Service 4a2782
    Z_NEED_DICT
Packit Service 4a2782
    Z_NO_COMPRESSION
Packit Service 4a2782
    Z_NO_FLUSH
Packit Service 4a2782
    Z_NULL
Packit Service 4a2782
    Z_OK
Packit Service 4a2782
    Z_PARTIAL_FLUSH
Packit Service 4a2782
    Z_RLE
Packit Service 4a2782
    Z_STREAM_END
Packit Service 4a2782
    Z_STREAM_ERROR
Packit Service 4a2782
    Z_SYNC_FLUSH
Packit Service 4a2782
    Z_UNKNOWN
Packit Service 4a2782
    Z_VERSION_ERROR
Packit Service 4a2782
Packit Service 4a2782
);
Packit Service 4a2782
    #ZLIB_VERNUM
Packit Service 4a2782
Packit Service 4a2782
my %verSpecificNames = (
Packit Service 4a2782
    Z_TREES => '1240',
Packit Service 4a2782
);
Packit Service 4a2782
Packit Service 4a2782
if (eval {require ExtUtils::Constant; 1}) {
Packit Service 4a2782
    # Check the constants above all appear in @EXPORT in Zlib.pm
Packit Service 4a2782
    my %names = %verSpecificNames, map { $_, 1} @names, 'ZLIB_VERSION';
Packit Service 4a2782
    open F, "
Packit Service 4a2782
    while (<F>)
Packit Service 4a2782
    {
Packit Service 4a2782
        last if /^\s*\@EXPORT\s+=\s+qw\(/ ;
Packit Service 4a2782
    }
Packit Service 4a2782
Packit Service 4a2782
    while (<F>)
Packit Service 4a2782
    {
Packit Service 4a2782
        last if /^\s*\)/ ;
Packit Service 4a2782
        /(\S+)/ ;
Packit Service 4a2782
        delete $names{$1} if defined $1 ;
Packit Service 4a2782
    }
Packit Service 4a2782
    close F ;
Packit Service 4a2782
Packit Service 4a2782
    if ( keys %names )
Packit Service 4a2782
    {
Packit Service 4a2782
        my $missing = join ("\n\t", sort keys %names) ;
Packit Service 4a2782
        die "The following names are missing from \@EXPORT in Zlib.pm\n" .
Packit Service 4a2782
            "\t$missing\n" ;
Packit Service 4a2782
    }
Packit Service 4a2782
    
Packit Service 4a2782
    push @names, { name => 'ZLIB_VERSION', type => 'PV' };
Packit Service 4a2782
    
Packit Service 4a2782
    push @names, map { { name => $_, 
Packit Service 4a2782
                         macro => version_Macro $verSpecificNames{$_} 
Packit Service 4a2782
                       } 
Packit Service 4a2782
                     } 
Packit Service 4a2782
                 keys %verSpecificNames ;
Packit Service 4a2782
Packit Service 4a2782
    ExtUtils::Constant::WriteConstants(
Packit Service 4a2782
                                     NAME => 'Zlib',
Packit Service 4a2782
                                     NAMES => \@names,
Packit Service 4a2782
                                     C_FILE  => 'constants.h',
Packit Service 4a2782
                                     XS_FILE  => 'constants.xs',
Packit Service 4a2782
                                                                       
Packit Service 4a2782
                                    );
Packit Service 4a2782
Packit Service 4a2782
} 
Packit Service 4a2782
else {
Packit Service 4a2782
    foreach my $name (qw( constants.h constants.xs ))
Packit Service 4a2782
    {
Packit Service 4a2782
        my $from = catfile('fallback', $name);
Packit Service 4a2782
        copy ($from, $name)
Packit Service 4a2782
          or die "Can't copy $from to $name: $!";
Packit Service 4a2782
    }
Packit Service 4a2782
}
Packit Service 4a2782
Packit Service 4a2782
sub ParseCONFIG
Packit Service 4a2782
{
Packit Service 4a2782
    my ($k, $v) ;
Packit Service 4a2782
    my @badkey = () ;
Packit Service 4a2782
    my %Info = () ;
Packit Service 4a2782
    my @Options = qw( INCLUDE LIB BUILD_ZLIB OLD_ZLIB GZIP_OS_CODE ) ;
Packit Service 4a2782
    my %ValidOption = map {$_, 1} @Options ;
Packit Service 4a2782
    my %Parsed = %ValidOption ;
Packit Service 4a2782
    my $CONFIG = 'config.in' ;
Packit Service 4a2782
Packit Service 4a2782
    print "Parsing $CONFIG...\n" ;
Packit Service 4a2782
Packit Service 4a2782
    open(F, "<$CONFIG") or die "Cannot open file $CONFIG: $!\n" ;
Packit Service 4a2782
    while (<F>) {
Packit Service 4a2782
	s/^\s*|\s*$//g ;
Packit Service 4a2782
	next if /^\s*$/ or /^\s*#/ ;
Packit Service 4a2782
	s/\s*#\s*$// ;
Packit Service 4a2782
Packit Service 4a2782
	($k, $v) = split(/\s+=\s+/, $_, 2) ;
Packit Service 4a2782
	$k = uc $k ;
Packit Service 4a2782
	if ($ValidOption{$k}) {
Packit Service 4a2782
	    delete $Parsed{$k} ;
Packit Service 4a2782
	    $Info{$k} = $v ;
Packit Service 4a2782
	}
Packit Service 4a2782
	else {
Packit Service 4a2782
	    push(@badkey, $k) ;
Packit Service 4a2782
	}
Packit Service 4a2782
    }
Packit Service 4a2782
    close F ;
Packit Service 4a2782
Packit Service 4a2782
    print "Unknown keys in $CONFIG ignored [@badkey]\n"
Packit Service 4a2782
	if @badkey ;
Packit Service 4a2782
Packit Service 4a2782
    # check parsed values
Packit Service 4a2782
    my @missing = () ;
Packit Service 4a2782
    die "The following keys are missing from $CONFIG  [@missing]\n" 
Packit Service 4a2782
        if @missing = keys %Parsed ;
Packit Service 4a2782
Packit Service 4a2782
    $ZLIB_INCLUDE = defined $ENV{'ZLIB_INCLUDE'}
Packit Service 4a2782
                        ? $ENV{'ZLIB_INCLUDE'} 
Packit Service 4a2782
                        : $Info{'INCLUDE'} ;
Packit Service 4a2782
    $ZLIB_LIB = defined $ENV{'ZLIB_LIB'} 
Packit Service 4a2782
                    ?$ENV{'ZLIB_LIB'} 
Packit Service 4a2782
                    : $Info{'LIB'} ;
Packit Service 4a2782
Packit Service 4a2782
    if ($^O eq 'VMS') {
Packit Service 4a2782
        $ZLIB_INCLUDE = VMS::Filespec::vmspath($ZLIB_INCLUDE);
Packit Service 4a2782
        $ZLIB_LIB = VMS::Filespec::vmspath($ZLIB_LIB);
Packit Service 4a2782
    }
Packit Service 4a2782
Packit Service 4a2782
    my $y = defined $ENV{'OLD_ZLIB'}
Packit Service 4a2782
                ? $ENV{'OLD_ZLIB'} 
Packit Service 4a2782
                : $Info{'OLD_ZLIB'} ;
Packit Service 4a2782
    $OLD_ZLIB = '-DOLD_ZLIB' if $y and $y =~ /^yes|on|true|1$/i;
Packit Service 4a2782
Packit Service 4a2782
    my $x = defined $ENV{'BUILD_ZLIB'} 
Packit Service 4a2782
                ? $ENV{'BUILD_ZLIB'} 
Packit Service 4a2782
                : $Info{'BUILD_ZLIB'} ;
Packit Service 4a2782
Packit Service 4a2782
    if ($x and $x =~ /^yes|on|true|1$/i ) {
Packit Service 4a2782
Packit Service 4a2782
        $BUILD_ZLIB = 1 ;
Packit Service 4a2782
Packit Service 4a2782
	# ZLIB_LIB & ZLIB_INCLUDE must point to the same place when 
Packit Service 4a2782
	# BUILD_ZLIB is specified.
Packit Service 4a2782
	die "INCLUDE & LIB must be the same when BUILD_ZLIB is True\n"
Packit Service 4a2782
	    if $ZLIB_LIB ne $ZLIB_INCLUDE ;
Packit Service 4a2782
Packit Service 4a2782
	# Check the zlib source directory exists
Packit Service 4a2782
	die "LIB/INCLUDE directory '$ZLIB_LIB' does not exits\n"
Packit Service 4a2782
	   unless -d $ZLIB_LIB ;
Packit Service 4a2782
Packit Service 4a2782
	# check for a well known file
Packit Service 4a2782
	die "LIB/INCLUDE directory, '$ZLIB_LIB', doesn't seem to have the zlib source files\n"
Packit Service 4a2782
	   unless -e catfile($ZLIB_LIB, 'zlib.h') ;
Packit Service 4a2782
Packit Service 4a2782
Packit Service 4a2782
	# write the Makefile
Packit Service 4a2782
	print "Building Zlib enabled\n" ;
Packit Service 4a2782
    }
Packit Service 4a2782
Packit Service 4a2782
    $GZIP_OS_CODE = defined $ENV{'GZIP_OS_CODE'} 
Packit Service 4a2782
                          ? $ENV{'GZIP_OS_CODE'} 
Packit Service 4a2782
                          : $Info{'GZIP_OS_CODE'} ;
Packit Service 4a2782
Packit Service 4a2782
	die "GZIP_OS_CODE not 'AUTO_DETECT' or a number between 0 and 255\n"
Packit Service 4a2782
	   unless uc $GZIP_OS_CODE eq 'AUTO_DETECT'
Packit Service 4a2782
                    || ( $GZIP_OS_CODE =~ /^(\d+)$/ && $1 >= 0 && $1 <= 255) ;
Packit Service 4a2782
Packit Service 4a2782
    if (uc $GZIP_OS_CODE eq 'AUTO_DETECT')
Packit Service 4a2782
    {
Packit Service 4a2782
        print "Auto Detect Gzip OS Code..\n" ;
Packit Service 4a2782
        $GZIP_OS_CODE = getOSCode() ;
Packit Service 4a2782
    }
Packit Service 4a2782
    
Packit Service 4a2782
    my $name = getOSname($GZIP_OS_CODE);
Packit Service 4a2782
    print "Setting Gzip OS Code to $GZIP_OS_CODE [$name]\n" ;
Packit Service 4a2782
Packit Service 4a2782
    print <
Packit Service 4a2782
    INCLUDE         [$ZLIB_INCLUDE]
Packit Service 4a2782
    LIB             [$ZLIB_LIB]
Packit Service 4a2782
    GZIP_OS_CODE    [$GZIP_OS_CODE]
Packit Service 4a2782
    OLD_ZLIB        [$OLD_ZLIB]
Packit Service 4a2782
    BUILD_ZLIB      [$BUILD_ZLIB]
Packit Service 4a2782
Packit Service 4a2782
EOM
Packit Service 4a2782
Packit Service 4a2782
    print "Looks Good.\n" ;
Packit Service 4a2782
Packit Service 4a2782
}
Packit Service 4a2782
Packit Service 4a2782
Packit Service 4a2782
Packit Service 4a2782
sub zlib_files
Packit Service 4a2782
{
Packit Service 4a2782
    my $dir = shift ;
Packit Service 4a2782
Packit Service 4a2782
    my @h_files = ();
Packit Service 4a2782
    my @c_files = ();
Packit Service 4a2782
    
Packit Service 4a2782
    if (-f catfile($dir, "infback.c")) {
Packit Service 4a2782
        # zlib 1.2.0 or greater
Packit Service 4a2782
        #
Packit Service 4a2782
        @h_files = qw(crc32.h    inffast.h inflate.h  trees.h    zconf.in.h 
Packit Service 4a2782
    	              zutil.h    deflate.h inffixed.h inftrees.h zconf.h  
Packit Service 4a2782
    		      zlib.h 
Packit Service 4a2782
    		 );
Packit Service 4a2782
        @c_files = qw(adler32  crc32   infback  inflate  uncompr
Packit Service 4a2782
    		      compress deflate inffast  inftrees  
Packit Service 4a2782
    		      trees    zutil 
Packit Service 4a2782
    		 );
Packit Service 4a2782
    }
Packit Service 4a2782
    else {
Packit Service 4a2782
        # zlib 1.1.x
Packit Service 4a2782
    
Packit Service 4a2782
        @h_files = qw(deflate.h  infcodes.h inftrees.h zconf.h zutil.h
Packit Service 4a2782
    		      infblock.h inffast.h  infutil.h  zlib.h
Packit Service 4a2782
    		 );
Packit Service 4a2782
        @c_files = qw(adler32  compress crc32    uncompr
Packit Service 4a2782
    		      deflate  trees    zutil    inflate infblock
Packit Service 4a2782
    		      inftrees infcodes infutil  inffast
Packit Service 4a2782
    		 );
Packit Service 4a2782
    }
Packit Service 4a2782
    
Packit Service 4a2782
    @h_files = map { catfile($dir, $_)  } @h_files ;
Packit Service 4a2782
    my @o_files = map { "$_\$(OBJ_EXT)" } 'Zlib', @c_files;
Packit Service 4a2782
    @c_files = map { "$_.c" } 'Zlib', @c_files ;
Packit Service 4a2782
Packit Service 4a2782
    foreach my $file (@c_files)
Packit Service 4a2782
      { copy(catfile($dir, $file), '.') }
Packit Service 4a2782
    
Packit Service 4a2782
    return (
Packit Service 4a2782
        #'H'         =>  [ @h_files ],
Packit Service 4a2782
    	'C'         =>  [ @c_files ] ,
Packit Service 4a2782
        #'OBJECT'    => qq[ @o_files ],
Packit Service 4a2782
        'OBJECT'    => q[ $(O_FILES) ],
Packit Service 4a2782
        
Packit Service 4a2782
Packit Service 4a2782
           ) ;
Packit Service 4a2782
}
Packit Service 4a2782
Packit Service 4a2782
Packit Service 4a2782
Packit Service 4a2782
use vars qw ( @GZIP_OS_Names  %OSnames) ;
Packit Service 4a2782
Packit Service 4a2782
BEGIN
Packit Service 4a2782
{
Packit Service 4a2782
  @GZIP_OS_Names = (
Packit Service 4a2782
    [ ''        => 0,    'MS-DOS'                       ],
Packit Service 4a2782
    [ 'amigaos' => 1,    'Amiga'                        ],
Packit Service 4a2782
    [ 'VMS'     => 2,    'VMS'                          ],
Packit Service 4a2782
    [ ''        => 3,    'Unix/Default'                 ],
Packit Service 4a2782
    [ ''        => 4,    'VM/CMS'                       ],
Packit Service 4a2782
    [ ''        => 5,    'Atari TOS'                    ],
Packit Service 4a2782
    [ 'os2'     => 6,    'HPFS (OS/2, NT)'              ],
Packit Service 4a2782
    [ 'MacOS'   => 7,    'Macintosh'                    ],
Packit Service 4a2782
    [ ''        => 8,    'Z-System'                     ],
Packit Service 4a2782
    [ ''        => 9,    'CP/M'                         ],
Packit Service 4a2782
    [ ''        => 10,   'TOPS-20'                      ],
Packit Service 4a2782
    [ ''        => 11,   'NTFS (NT)'                    ],
Packit Service 4a2782
    [ ''        => 12,   'SMS QDOS'                     ],
Packit Service 4a2782
    [ ''        => 13,   'Acorn RISCOS'                 ],
Packit Service 4a2782
    [ 'MSWin32' => 14,   'VFAT file system (Win95, NT)' ],
Packit Service 4a2782
    [ ''        => 15,   'MVS'                          ],
Packit Service 4a2782
    [ 'beos'    => 16,   'BeOS'                         ],
Packit Service 4a2782
    [ ''        => 17,   'Tandem/NSK'                   ],
Packit Service 4a2782
    [ ''        => 18,   'THEOS'                        ],
Packit Service 4a2782
    [ ''        => 255,  'Unknown OS'                   ],
Packit Service 4a2782
  );
Packit Service 4a2782
Packit Service 4a2782
  %OSnames = map { $$_[1] => $$_[2] }  
Packit Service 4a2782
             @GZIP_OS_Names ;
Packit Service 4a2782
}
Packit Service 4a2782
Packit Service 4a2782
sub getOSCode
Packit Service 4a2782
{
Packit Service 4a2782
    my $default = 3 ; # Unix is the default
Packit Service 4a2782
Packit Service 4a2782
    my $uname = $^O;
Packit Service 4a2782
Packit Service 4a2782
    for my $h (@GZIP_OS_Names)
Packit Service 4a2782
    {
Packit Service 4a2782
        my ($pattern, $code, $name) = @$h;
Packit Service 4a2782
Packit Service 4a2782
        return $code
Packit Service 4a2782
            if $pattern && $uname eq $pattern ;
Packit Service 4a2782
    }
Packit Service 4a2782
Packit Service 4a2782
    return $default ;
Packit Service 4a2782
}
Packit Service 4a2782
Packit Service 4a2782
sub getOSname
Packit Service 4a2782
{
Packit Service 4a2782
    my $code = shift ;
Packit Service 4a2782
Packit Service 4a2782
    return $OSnames{$code} || 'Unknown OS' ;
Packit Service 4a2782
}
Packit Service 4a2782
Packit Service 4a2782
# end of file Makefile.PL
Packit Service 4a2782