r73412 - in /branches/upstream/libpgplot-perl/current: CHANGES META.yml Makefile.PL PGPLOT.pm PGPLOT.xs

gregoa at users.alioth.debian.org gregoa at users.alioth.debian.org
Sun Apr 24 16:41:43 UTC 2011


Author: gregoa
Date: Sun Apr 24 16:41:23 2011
New Revision: 73412

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=73412
Log:
[svn-upgrade] new version libpgplot-perl (2.21)

Modified:
    branches/upstream/libpgplot-perl/current/CHANGES
    branches/upstream/libpgplot-perl/current/META.yml
    branches/upstream/libpgplot-perl/current/Makefile.PL
    branches/upstream/libpgplot-perl/current/PGPLOT.pm
    branches/upstream/libpgplot-perl/current/PGPLOT.xs

Modified: branches/upstream/libpgplot-perl/current/CHANGES
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpgplot-perl/current/CHANGES?rev=73412&op=diff
==============================================================================
--- branches/upstream/libpgplot-perl/current/CHANGES (original)
+++ branches/upstream/libpgplot-perl/current/CHANGES Sun Apr 24 16:41:23 2011
@@ -1,5 +1,14 @@
 PGPLOT module Changes list
 --------------------------
+
+v2.21, released Jan 1st, 2011
+-----------------------------
+
+* Semi-dirty hack in Makefile.PL to force i386/x86_64 single arch only builds on Mac OS X. - Karl 
+  (for libpgplot compatibility which seems to be generally built this way, e.g. in SciKarl)
+  Note added some clever code to try and match the arch of the pgplot binaries.
+* PGPLOT::HANDLE warning fix (Chris Phillips Jun 2010)
+* Make linking order -lcpgplot -lpgplot for cygwin (Chris Marshall Dec 2010)
 
 CHANGES v2.20, released, May 16th 2007
 --------------------------------------

Modified: branches/upstream/libpgplot-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpgplot-perl/current/META.yml?rev=73412&op=diff
==============================================================================
--- branches/upstream/libpgplot-perl/current/META.yml (original)
+++ branches/upstream/libpgplot-perl/current/META.yml Sun Apr 24 16:41:23 2011
@@ -1,11 +1,19 @@
-# http://module-build.sourceforge.net/META-spec.html
-#XXXXXXX This is a prototype!!!  It will change in the future!!! XXXXX#
-name:         PGPLOT
-version:      2.20
-version_from: PGPLOT.pm
-installdirs:  site
+--- #YAML:1.0
+name:               PGPLOT
+version:            2.21
+abstract:           ~
+author:  []
+license:            unknown
+distribution_type:  module
+configure_requires:
+    ExtUtils::MakeMaker:  0
 requires:
-    ExtUtils::F77:                 1.13
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.17
+    ExtUtils::F77:  1.13
+no_index:
+    directory:
+        - t
+        - inc
+generated_by:       ExtUtils::MakeMaker version 6.48
+meta-spec:
+    url:      http://module-build.sourceforge.net/META-spec-v1.4.html
+    version:  1.4

Modified: branches/upstream/libpgplot-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpgplot-perl/current/Makefile.PL?rev=73412&op=diff
==============================================================================
--- branches/upstream/libpgplot-perl/current/Makefile.PL (original)
+++ branches/upstream/libpgplot-perl/current/Makefile.PL Sun Apr 24 16:41:23 2011
@@ -64,7 +64,7 @@
 		  );
 
 my $LIBS = join(' ', map { "-l$_" }
-		qw/ pgplot cpgplot /,
+		qw/ cpgplot pgplot /,
 		map { split( ',', $_ ) } @Arg{qw/ XLIB EXLIB /}
 	       );
 
@@ -168,6 +168,28 @@
     #
     $items{LDDLFLAGS} = "$Config{lddlflags} -Wl,-framework -Wl,Foundation"
 	if $is_osx;
+ 
+    # Nasty hack to build only i386/x86_64 only instead of a Universal binary on OS X
+    # I put this in to avoid an error if linking with the pgplot libs in 
+    # SciKarl (2.4.6 and above). Hope one day to remove this.
+    # - Karl Glazebrook
+    if ($is_osx) {
+       
+       $items{CCFLAGS} = $Config{ccflags};
+       $items{LDFLAGS} = $Config{ldflags};
+       $items{LDDLFLAGS} = $Config{lddlflags};
+       
+       # Karl - now figure out automagically WHICH binary arch
+       # to build for and change the various flags
+       
+       mac_universal( \$items{CCFLAGS}, \$items{LDFLAGS}, \$items{LDDLFLAGS});
+       print "TEST $items{CCFLAGS}\n";
+       print "TEST $items{LDFLAGS}\n";
+       print "TEST $items{LDDLFLAGS}\n";
+
+  
+    }   
+
 }
 
 WriteMakefile(
@@ -179,3 +201,60 @@
     %items
 );
 
+
+# This subroutine is a nasty hack to modify OS X compile strings
+# to only build for a single architectutre
+# Karl Glazebrook (Dec 2010);
+
+sub mac_universal { # Note args passed as refs otherwise don't get modified!
+	my @args = @_;
+	my $s = ${$args[0]};
+	
+	my $count=0;
+	
+	# Do matching against various combinations of 
+	# -arch ppc -arch i386 -arch x86_64
+	# Prefer i386 then prefer x86_64.
+	
+	
+	$count++ while $s =~ /-arch\s\S+/g;	
+	return  if $count <2;  # Do nothing
+	
+	print "\nMac OS X with multiple architecture perl detected...\n";
+	print "Trying to figure out which arch to build for...\n";
+	
+	# Figure out which single architecture to build for
+	# when we have more than one
+	
+	my $singlearch = 'x86_64';
+	$singlearch = 'i386' if $s=~/-arch\s+i386/ & $s=~/-arch\s+ppc/;
+	$singlearch = 'x86_64' if $s=~/-arch\s+x86_64/;
+		
+	# If we can find pgplot's xwindow server try and match the arch it is built for
+	
+	my $pgarch = '';
+	my $f1 =  `which pgxwin_server`; chomp $f1; # Find in path
+	$f1 = '/usr/local/bin/pgxwin_server' if !-e $f1; # Backuo choice
+	
+	if (-e $f1) {
+	    print "- Found $f1, trying to determine binary type\n";
+	    my $exe = `file $f1`; chomp $exe;
+	    $pgarch = (split(' ',$exe))[-1];
+	}
+	 if ($pgarch ne '') {
+	    print "- Found binary type $pgarch\n";
+	    $singlearch = $pgarch;
+	}
+	
+	print "- Building for single architecture -arch $singlearch\n";
+	# Now substitute the single arch for the multiple pnes
+	
+	my $t;
+	for $t (@args) {
+	   $$t =~ s/-arch\s\S+/TESTMARKER/; # Temp mark first occurence
+   	   $$t =~ s/-arch\s\S+/ /g; # Remove all -arch's
+	   $$t =~ s/TESTMARKER/-arch $singlearch/; # Put one back
+	   print "\nRESULT: $$t\n";
+	}
+	
+}

Modified: branches/upstream/libpgplot-perl/current/PGPLOT.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpgplot-perl/current/PGPLOT.pm?rev=73412&op=diff
==============================================================================
--- branches/upstream/libpgplot-perl/current/PGPLOT.pm (original)
+++ branches/upstream/libpgplot-perl/current/PGPLOT.pm Sun Apr 24 16:41:23 2011
@@ -7,7 +7,7 @@
 #
 #  WWW info: http://www.aao.gov.au/local/www/kgb/pgperl/
 
-$VERSION="2.20";
+$VERSION="2.21";
 
 use Exporter;
 use DynaLoader;

Modified: branches/upstream/libpgplot-perl/current/PGPLOT.xs
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libpgplot-perl/current/PGPLOT.xs?rev=73412&op=diff
==============================================================================
--- branches/upstream/libpgplot-perl/current/PGPLOT.xs (original)
+++ branches/upstream/libpgplot-perl/current/PGPLOT.xs Sun Apr 24 16:41:23 2011
@@ -1432,6 +1432,6 @@
        by other modules
    */
 
-   sv_setiv(perl_get_sv("PGPLOT::HANDLE",TRUE), (IV) (void*) &myPGPLOT_handle);
+   sv_setiv(perl_get_sv("PGPLOT::HANDLE",TRUE|GV_ADDMULTI), (IV) (void*) &myPGPLOT_handle);
    
 




More information about the Pkg-perl-cvs-commits mailing list