use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. @OBJECTS = qw(ORBit.o client.o demarshal.o errors.o extras.o exttypes.o idl.o interfaces.o marshal.o server.o types.o); chomp($orbit_version = `orbit-config --version`); undef $orbit_version if $?; if (!defined $orbit_version) { print STDERR "orbit-config not found\n"; exit 1; } my ($a,$b,$c) = $orbit_version =~ /ORBit\s+(\d+).(\d+).(\d+)/; if (defined $a) { my $version = $a * 1000 + $b + $c / 1000; if ($version < 5.013) { print STDERR "CORBA::ORBit requires ORBit 0.5.13 or better\n"; exit 1; } } else { print STDERR "Could not parse version string '$orbit_version', assuming OK\n"; } chomp($orbit_cflags = `orbit-config --cflags client server`); if ($orbit_cflags =~ m|-I(\S+)/orbit-(\S+)|) { $orbit_cflags .= " -I$1/libIDL-$2 "; } chomp($orbit_libs = `orbit-config --libs client server`); #$orbit_libs .= ' -R/opt/ORBit/lib '; chomp($idl_cflags = `libIDL-config --cflags`); undef $idl_cflags if $?; chomp($idl_libs = `libIDL-config --libs`); undef $idl_libs if $?; if (!defined $idl_libs) { print STDERR "libIDL-config not found\n"; exit 1; } if ($] < 5.0045) { print STDERR "Using compatibility macros/routines for Perl 5.004\n"; push @OBJECTS,'constsub.o'; } WriteMakefile( 'NAME' => 'CORBA::ORBit', 'VERSION_FROM' => 'ORBit.pm', 'PREREQ_PM' => { 'Error' => 0.12 }, 'LIBS' => ["$orbit_libs $idl_libs"], 'DEFINE' => ($] < 5.0045 ? '-DPERL5004_COMPAT ' : ''), 'INC' => "$orbit_cflags $idl_cflags", 'OBJECT' => join(' ', @OBJECTS), 'XSOPT' => '-prototypes', # 'XSOPT' => '-nolinenumbers', # 'OPTIMIZE' => '-g', # 'OPTIMIZE' => '-O2 -Wall', # 'MAP_TARGET' => 'orbitperl', # 'MAKEAPERL' => 1, 'dist' => { COMPRESS => 'gzip', SUFFIX => 'gz' } );