#!perl use strict; use Config; use ExtUtils::MakeMaker; my $error = 0; if ($^O ne "MSWin32") { warn "This module works on MSWin32 only"; $error++; } if ($] < 5.009005) { warn "perl 5.9.5 or later is required"; $error++; } if ( $Config{ccname} ne "cl" ) { warn "Compilation with " . $Config{ccname} . " is not supported"; $error++; } if ( int( $Config{ccversion} ) < 14 ) { warn "Visual C++ 2005 or later is required"; $error++; } if ($error) { die "Compilation stop"; } my $inc = ''; if ($ENV{INCLUDE}) { for my $inc_dir ( split /;/, $ENV{INCLUDE} ) { next if $inc_dir eq '%INCLUDE%'; $inc .= qq( "-I$inc_dir" ); } } $inc .= q( "-IC:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include" ); WriteMakefile( NAME => 'Win32::CLR', VERSION_FROM => 'lib/Win32/CLR.pm', PREREQ_PM => {'Test::More' => 0}, XSOPT => '-noprototypes', ABSTRACT_FROM => 'lib/Win32/CLR.pm', AUTHOR => 'Toshiyuki Yamato ', LICENSE => 'perl', # -clr: Run on the common language runtime # -TP : Specifies a C++ source file CC => 'cl -clr -TP', # mscoree: Microsoft .NET Runtime Execution Engine # msvcmrt: C runtime import library for mixed managed/native code LIBS => ['-lmscoree -lmsvcmrt'], INC => $inc, );