Diff of /Makefile.PL [a6076b] .. [eb1dc2]  Maximize  Restore

  Switch to side-by-side view

--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,33 +1,4 @@
 # Makefile.PL for a package defined by PP code.
-
-# Check for a PDL installation
-BEGIN
- {
-
-    eval{ require PDL::Core::Dev };
-    if( $@ ){
-            print "\n#### Error requiring 'PDL::Core::Dev': Perhaps you don't have PDL installed ###\n";
-            print "####  This module requires a PDL installation                           ###\n";
-            
-	    require ExtUtils::MakeMaker;
-	    import  ExtUtils::MakeMaker;
-
-            # Write out a simple makefile with PREREQ_PM, so CPAN will at least detect our
-            #   prerequesites.
-            WriteMakefile( 
-                'VERSION_FROM'  => 'hdf5.pd',
-                'NAME'     => 'PDL::IO::HDF5',
-                'DISTNAME' => "PDL-IO-HDF5",
-                'CONFIGURE_REQUIRES' => { PDL => '2.004' },
-                'BUILD_REQUIRES'     => { PDL => '2.004' },
-                'PREREQ_PM'          => { PDL => '2.004' },
-		'LICENSE'  => 'perl',
-                );
-            exit();
-    }
-    
-}  
-
 
 use PDL::Core::Dev;            # Pick up development utilities
 use ExtUtils::MakeMaker;
@@ -37,31 +8,20 @@
 ## Search for hdf5 library and include file
 #
 $ENV{'HOME'} = '' unless defined( $ENV{'HOME'} ) ;
-$ENV{'HDF5_PATH'} = '' unless defined ( $ENV{'HDF5_PATH'} );
 
-@libdirs =  (
-    $ENV{'HDF5_PATH'}."/lib",
-    $ENV{'HDF5_PATH'}."/lib64",
-    split(/ /, $Config{libpth}),  # TODO: This will break for paths with spaces
-    '/usr/local/hdf5/lib',
-    '/usr/local/lib',
-    '/opt/local/lib',
-    '/usr/lib',
-    '/opt/lib',
-    '/usr/lib64'
-    );
-push(@libdirs,split(":",$ENV{'LD_LIBRARY_PATH'}));
-foreach my $libdir ( @libdirs ) {
-    
+foreach my $libdir (
+		    '/usr/local/hdf5/lib',
+		    '/usr/local/lib',
+		    '/opt/local/lib',
+		    '/usr/lib',
+		    '/opt/lib',
+		    "$ENV{HOME}/hdf5/lib",  # for local hdf5 installs
+		                  # Add new library paths here!!
+		    ) {
+
   if (-e "$libdir/libhdf5.so") {
     $hdf5_lib_path = $libdir;
     print "Found libhdf5.so at $libdir/libhdf5.so\n";
-    last;
-  }
-
-  if (-e "$libdir/libhdf5.dll.a") {
-    $hdf5_lib_path = $libdir;
-    print "Found libhdf5.dll.a at $libdir/libhdf5.dll.a\n";
     last;
   }
 
@@ -73,153 +33,56 @@
 
 }
 
-# We don't do a die here, because we would get bogus emails from CPAN testers
-unless(defined ($hdf5_lib_path) ){
-	print "####### Cannot find hdf5 library, libhdf5.so or libhdf5.a.  
-#######   Please add the correct library path to Makefile.PL or install HDF\n";
-	exit();
-} 
+die "Cannot find hdf5 library, libhdf5.so or libhdf5.a.  
+Please add the correct library path to Makefile.PL or install HDF" 
+  unless defined ($hdf5_lib_path);
 
-@incdirs =  (
-    $ENV{'HDF5_PATH'}."/include",
-    $Config{usrinc},
-    '/usr/local/hdf5/include',
-    '/usr/local/include',
-    '/opt/local/include',
-    '/usr/include',
-    '/opt/include'
-    );
-push(@incdirs,map { local $_ = $_; $_ =~ s/\/lib([^\/]+)$/\/include/; $_ } split(":",$ENV{'LD_LIBRARY_PATH'}));
-foreach my $incdir ( @incdirs ) {
-    if (-e "$incdir/hdf5.h") {
+foreach my $incdir (
+		    '/usr/local/hdf5/include',
+		    '/usr/local/include',
+		    '/opt/local/include',
+		    '/usr/include',
+		    '/opt/include',
+		    "$ENV{HOME}/hdf5/include",  # for local hdf5 installs
+
+		                  # Add new header paths here!!
+		    ) {
+
+  if (-e "$incdir/hdf5.h") {
     $hdf5_include_path = $incdir;
     print "Found hdf5.h at $incdir/hdf5.h\n";
     last;
   }
 }
 
-# We don't do a die here, because we would get bogus emails from CPAN testers
-unless ( defined ($hdf5_include_path) ){
-	print "####### Cannot find hdf5 header file, hdf5.h.
-#######   Please add the correct library path to Makefile.PL or install HDF5\n";
-	exit();
-} 
-
-# Flags to include jpeg and/or zlib during compilation
-$jpegLib = 0;
-$zLib = 0;
-if( -e "$hdf5_include_path/H5config.h"){
-	open( H5CONFIG, "$hdf5_include_path/H5config.h") or 
-           die("Can't Open Include File '$hdf5_include_path/H5config.h'\n");
-	while(defined( $_ = <H5CONFIG>)){
-		$jpegLib = 1 if( /^\s*\#define\s+HAVE_LIBJPEG\s+1/ );
-		$zLib = 1 if( /^\s*\#define\s+HAVE_LIBZ\s+1/ );
-	}
-}
+die "Cannot find hdf5 header file, hdf5.h.
+Please add the correct library path to Makefile.PL or install HDF" 
+  unless defined ($hdf5_include_path);
 
 
 # The following code was originally in the PDL::netCDF Makefile.PL
 #  (Not sure if it is really needed here)
 # Check if compiled under gcc/Linux.  In which case, define bool for the compiler
 $define_bool = '';
-if ($Config{'osname'} =~ /linux/) {
+if ($Config{'osname'} =~ linux) {
   $define_bool = '-Dbool=int';
   print "Defining bool=int (linux seems to need this)\n";
 }
+            
 
-#If in win32, add the required defined for the HDF5 libs to work:
-$define_win32HDF = '';
-if ($Config{'osname'} =~ /win32/i) {
-  $define_win32HDF = '-D _HDF5USEDLL_ -D HASATTRIBUTE ';
-  print "Defining _HDF5USEDLL_ for win32\n";
-}
-            
-$LIBS = "-L$hdf5_lib_path -lhdf5 ";
-$LIBS .= " -lz" if($zLib);
-$LIBS .= " -ljpeg" if($jpegLib);
-$LIBS .= " -lm";
-
-$package = ["hdf5.pd",HDF5,PDL::IO::HDF5];
-$meta_merge = {
-   'name' => 'PDL-IO-HDF5',
-   'abstract' => 'PDL Interface to the HDF5 Data Format',
-   'release_status' => 'stable',   # 'testing',
-   'author'   => [ 'Chris Marshall <chm@cpan.org>', ],
-   'license'  => [ 'perl_5' ],
-   'version' => '0.73',
-   'meta_spec' => {
-      'version' => '2',
-      'url'     => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
-   },
-   'prereqs' => {
-      'runtime' => {
-         'requires' => {
-            'PDL' => '2.004',
-         },
-      },
-      'build' => {
-         'requires' => {
-            'ExtUtils::MakeMaker' => '0',
-            'PDL' => '2.007',
-            'Test::More' => '0',
-         },
-      },
-      'configure' => {
-         'requires' => {
-            'ExtUtils::MakeMaker' => '0',
-            'PDL' => '2.004',
-         },
-      },
-   },
-   resources => {
-      license     => [ 'http://cpansearch.perl.org/src/CHM/PDL-IO-HDF5-0.73/COPYRIGHT' ],
-      homepage    => 'http://pdl.perl.org/',
-      bugtracker  => {
-         web    => 'http://rt.cpan.org/Public/Dist/Display.html?Name=PDL-IO-HDF5',
-      },
-      repository  => {
-         url  => 'git://git.code.sf.net/p/pdl/pdl-io-hdf5',
-         web  => 'http://sourceforge.net/p/pdl/pdl-io-hdf5/ci/master/tree/',
-         type => 'git',
-      },
-   },
-   'dynamic_config' => 1,
-   'meta-spec' => {
-      'version' => '2',
-      'url'     => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
-   },
-   'generated_by' => 'Chris Marshall',
-   'provides' => {
-      'PDL::IO::HDF5' => {
-         'file' => 'hdf5.pd',
-         'version' => '0.73',
-      },
-   },
-};
-# create GENERATED subdir with *.pm files during 'make dist' (to make metacpan.org happy)
-my $preop = '$(PERL) -I$(INST_ARCHLIB) -I$(INST_LIB) -MPDL::Core::Dev -e pdlpp_mkgen $(DISTVNAME)';
+$package = ["hdf5.pd",HDF5,PDL::HDF5];
 WriteMakefile(
-	      'NAME'  	     => 'PDL::IO::HDF5',
-	      'CCFLAGS'      => "$Config{ccflags} $define_bool $define_win32HDF -DH5_USE_16_API -g",  
-              'CONFIGURE_REQUIRES' => { PDL => '2.004' },
-              'BUILD_REQUIRES'     => { PDL => '2.004' },
-               # 'TEST_REQUIRES'      => { PDL => '2.004' },
-              'PREREQ_PM'          => { PDL => '2.004' },
-	      'LICENSE'      => 'perl',
-	      'VERSION_FROM' => 'hdf5.pd',   # Need to fix duplicate info in provides META key
-              'META_MERGE'   => $meta_merge,
+	      'NAME'  	     => 'PDL::HDF5',
+	      'CCFLAGS'      => "$define_bool -g",  
+	      'VERSION_FROM' => 'hdf5.pd',
 	      'TYPEMAPS'     => [&PDL_TYPEMAP()], 
 	      'OBJECT'       => 'HDF5.o ',
-	      'PM'           => { 'HDF5.pm' => '$(INST_LIBDIR)/HDF5.pm',
-	      			  'HDF5/Group.pm' => '$(INST_LIBDIR)/HDF5/Group.pm',
-	      			  'HDF5/Dataset.pm' => '$(INST_LIBDIR)/HDF5/Dataset.pm',
-	      			  'HDF5/tkview.pm' => '$(INST_LIBDIR)/HDF5/tkview.pm',
-				},
+	      'PM'           => { 'HDF5.pm' => '$(INST_LIBDIR)/HDF5.pm'},
 	      'INC'          => &PDL_INCLUDE()." -I$hdf5_include_path", 
-	      'LIBS'         => [$LIBS],  
+	      'LIBS'         => ["-L$hdf5_lib_path -lhdf5 "],  
 	      'clean'        => {'FILES'  => 
 				   'HDF5.pm HDF5.xs HDF5.o HDF5.c'},
-	      'dist'         => { COMPRESS => 'gzip', SUFFIX => 'gz', PREOP => $preop },	
+	      'dist'         => { COMPRESS => 'gzip', SUFFIX => 'gz' },	
 	      );
 
 sub MY::postamble { pdlpp_postamble($package); }	

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks