libextractor-perl

GNU libextractor
Log | Files | Refs | README

Makefile.PL (1191B)


      1 #!/usr/bin/perl
      2 
      3 use strict;
      4 use warnings;
      5 use Cwd;
      6 use File::Spec;
      7 use ExtUtils::MakeMaker;
      8 
      9 WriteMakefile(
     10 		NAME			=> 'File::Extract',
     11 		ABSTRACT_FROM	=> 'pm/Extract.pm',
     12 		VERSION_FROM	=> 'pm/Extract.pm',
     13 		XSPROTOARG		=> '-noprototypes',
     14 		MAN3PODS		=> {
     15 			'pm/Extract.pm'	=> '$(INST_MAN3DIR)/File::Extract.$(MAN3EXT)'
     16 		},
     17 		PM				=> {
     18 			'pm/Extract.pm'	=> '$(INST_LIBDIR)/Extract.pm'
     19 		},
     20 		INC				=> '-Wall -I'.cwd(),
     21 		LIBS			=> '-lextractor',
     22 		do {
     23 			my @clean = ();
     24 			my @OBJECT = ();
     25 			my %XS = ();
     26 			for my $xs (<xs/*.xs>) {
     27 				(my $c = $xs) =~ s/\.xs$/\.c/i;
     28 				(my $o = $xs) =~ s/\.xs$/\$(OBJ_EXT)/i;
     29 				$XS{$xs} = $c;
     30 				push @OBJECT, $o;
     31 				push @clean, $o;
     32 			}
     33 
     34 			for my $c (<*.c>) {
     35 				(my $o = $c) =~ s/\.c$/\$(OBJ_EXT)/i;
     36 				push @OBJECT, $o;
     37 				push @clean, $o;
     38 			}
     39 
     40 			clean => { FILES => join(" ", @clean) }, OBJECT => join(" ", @OBJECT), XS => \%XS
     41 		},
     42 );
     43 
     44 package MY;
     45 
     46 sub const_cccmd {
     47 	my $inherited = shift->SUPER::const_cccmd(@_);
     48 	return '' unless $inherited;
     49 	use Config;
     50 	if ($Config{cc} eq 'cl') {
     51 		warn "you are using MSVC... my condolences.";
     52 		$inherited .= ' /Fo$@';
     53 	} else {
     54 		$inherited .= ' -o $@';
     55 	}
     56 
     57 	return $inherited;
     58 }
     59 
     60 1;