[libinline-java-perl] 380/398: ok, portalbe fixes
Jonas Smedegaard
dr at jones.dk
Thu Feb 26 11:43:27 UTC 2015
This is an automated email from the git hooks/post-receive script.
js pushed a commit to tag 0.55
in repository libinline-java-perl.
commit fe0d8255a47b4e5093776807811fe2bf07454f3c
Author: patrick_leb <>
Date: Wed May 24 00:38:32 2006 +0000
ok, portalbe fixes
---
Java/Makefile.PL | 12 ++--
Java/Portable.pm | 206 ++++++++++++++++++++++++-------------------------------
2 files changed, 92 insertions(+), 126 deletions(-)
diff --git a/Java/Makefile.PL b/Java/Makefile.PL
index d9d1ded..c801c02 100644
--- a/Java/Makefile.PL
+++ b/Java/Makefile.PL
@@ -139,14 +139,10 @@ if ($build_jni){
map {print " $_\n"; } @main::SO_DIRS ;
print "See README.JNI for more information.\n\n" ;
- @main::I = (
- Inline::Java::Portable::portable('SUB_FIX_MAKE_QUOTES',
- "-I" . $files->{'jni.h'}->{selected}),
- Inline::Java::Portable::portable('SUB_FIX_MAKE_QUOTES',
- "-I" . $files->{'jni_md.h'}->{selected})) ;
- @main::L = (
- Inline::Java::Portable::portable('SUB_FIX_MAKE_QUOTES',
- "-L" . $files->{$jvm_lib}->{selected})) ;
+ @main::I = map { Inline::Java::Portable::portable('SUB_FIX_MAKE_QUOTES', "-I$_") }
+ ($files->{'jni.h'}->{selected}, $files->{'jni_md.h'}->{selected}) ;
+ @main::L = map { Inline::Java::Portable::portable('SUB_FIX_MAKE_QUOTES', "-L$_") }
+ ($files->{$jvm_lib}->{selected}) ;
my $DIR = [] ;
if (! defined($build_perl_natives)){
diff --git a/Java/Portable.pm b/Java/Portable.pm
index 26bce6a..b5461a5 100644
--- a/Java/Portable.pm
+++ b/Java/Portable.pm
@@ -130,11 +130,9 @@ sub find_classes_in_dir {
}
-sub portable {
- my $key = shift ;
- my $val = shift ;
- my $defmap = {
+my $map = {
+ _DEFAULT_ => {
EXE_EXTENSION => $Config{exe_ext},
GOT_ALARM => $Config{d_alarm} || 0,
GOT_FORK => $Config{d_fork} || 0,
@@ -164,131 +162,103 @@ sub portable {
J2SDK_BIN => 'bin',
DEFAULT_J2SDK_DIR => undef,
OTHERLDFLAGS => '',
- } ;
-
- my $map = {
- MSWin32 => {
- ENV_VAR_PATH_SEP_CP => ';',
- # 2>&1 doesn't work under command.com
- IO_REDIR => ($COMMAND_COM ? '' : undef),
- MAKE => 'nmake',
- DEV_NULL => 'nul',
- COMMAND_COM => $COMMAND_COM,
- SO_LIB_PATH_VAR => 'PATH',
- DETACH_OK => 0,
- JVM_LIB => 'jvm.lib',
- JVM_SO => 'jvm.dll',
- GOT_NEXT_FREE_PORT => 0,
- GOT_SYMLINK => 0,
- GOT_SAFE_SIGNALS => 0,
-
-# Can't remember what this was supposed to fix, but it breaks
-# when there are spaces in the J2SDK directory...
-#
-# SUB_FIX_CMD_QUOTES => ($COMMAND_COM ? undef : sub {
-# my $val = shift ;
-# $val = qq{"$val"} ;
-# return $val ;
-# }),
-#
- SUB_FIX_MAKE_QUOTES => sub {
- my $val = shift ;
- $val = qq{"$val"} ;
- return $val ;
- },
- PRE_WHOLE_ARCHIVE => '',
- POST_WHOLE_ARCHIVE => '',
- },
- cygwin => {
- ENV_VAR_PATH_SEP_CP => ';',
- SUB_FIX_JAVA_PATH => sub {
- my $val = shift ;
- if (defined($val)&&($val)){
- $val = `cygpath -w \"$val\"` ;
- chomp($val) ;
- }
- return $val ;
- },
- JVM_LIB => 'jvm.lib',
- JVM_SO => 'jvm.dll',
- BUILD_JNI_BY_DFLT => 0,
- },
- hpux => {
- GOT_NEXT_FREE_PORT => 0,
- },
- solaris => {
- GOT_NEXT_FREE_PORT => 0,
- PRE_WHOLE_ARCHIVE => '-Wl,-zallextract',
- POST_WHOLE_ARCHIVE => '-Wl,-zdefaultextract',
- },
- aix => {
- JVM_LIB => "libjvm$Config{lib_ext}",
- JVM_SO => "libjvm$Config{lib_ext}",
+ },
+ MSWin32 => {
+ ENV_VAR_PATH_SEP_CP => ';',
+ # 2>&1 doesn't work under command.com
+ IO_REDIR => ($COMMAND_COM ? '' : undef),
+ MAKE => 'nmake',
+ DEV_NULL => 'nul',
+ COMMAND_COM => $COMMAND_COM,
+ SUB_FIX_MAKE_QUOTES => sub {
+ my $arg = shift ;
+ $arg = qq{"$arg"} ;
+ return $arg ;
},
- darwin => {
- # Suggested by Ken Williams, mailing list 2004/07/07
- SO_EXT => $Config{so},
- # Andrew Bruno
- JVM_LIB => "libjvm.dylib",
- JVM_SO => "libjvm.dylib",
- PRE_WHOLE_ARCHIVE => '-Wl',
- POST_WHOLE_ARCHIVE => '-Wl',
- GOT_SYMLINK => 1,
- J2SDK_BIN => 'Commands',
- DEFAULT_J2SDK_DIR => '/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK',
- # Tim Bunce:
- OTHERLDFLAGS => '',
+ SO_LIB_PATH_VAR => 'PATH',
+ DETACH_OK => 0,
+ JVM_LIB => 'jvm.lib',
+ JVM_SO => 'jvm.dll',
+ GOT_NEXT_FREE_PORT => 0,
+ GOT_SYMLINK => 0,
+ GOT_SAFE_SIGNALS => 0,
+ PRE_WHOLE_ARCHIVE => '',
+ POST_WHOLE_ARCHIVE => '',
+ },
+ cygwin => {
+ ENV_VAR_PATH_SEP_CP => ';',
+ SUB_FIX_JAVA_PATH => sub {
+ my $arg = shift ;
+ if (defined($arg)&&($arg)){
+ $arg = `cygpath -w \"$arg\"` ;
+ chomp($arg) ;
+ }
+ return $arg ;
},
- } ;
+ JVM_LIB => 'jvm.lib',
+ JVM_SO => 'jvm.dll',
+ BUILD_JNI_BY_DFLT => 0,
+ },
+ hpux => {
+ GOT_NEXT_FREE_PORT => 0,
+ },
+ solaris => {
+ GOT_NEXT_FREE_PORT => 0,
+ PRE_WHOLE_ARCHIVE => '-Wl,-zallextract',
+ POST_WHOLE_ARCHIVE => '-Wl,-zdefaultextract',
+ },
+ aix => {
+ JVM_LIB => "libjvm$Config{lib_ext}",
+ JVM_SO => "libjvm$Config{lib_ext}",
+ },
+ darwin => {
+ # Suggested by Ken Williams, mailing list 2004/07/07
+ SO_EXT => $Config{so},
+ # Andrew Bruno
+ JVM_LIB => "libjvm.dylib",
+ JVM_SO => "libjvm.dylib",
+ PRE_WHOLE_ARCHIVE => '-Wl',
+ POST_WHOLE_ARCHIVE => '-Wl',
+ GOT_SYMLINK => 1,
+ J2SDK_BIN => 'Commands',
+ DEFAULT_J2SDK_DIR => '/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK',
+ # Tim Bunce:
+ OTHERLDFLAGS => '',
+ },
+} ;
+
+sub portable {
+ my $key = shift ;
+ my $arg = shift ;
- if (! exists($defmap->{$key})){
+ if (! exists($map->{_DEFAULT_}->{$key})){
croak "Portability issue $key not defined!" ;
}
+ my $val = undef ;
if ((defined($map->{$^O}))&&(defined($map->{$^O}->{$key}))){
- if ($key =~ /^RE_/){
- if (defined($val)){
- my $f = $map->{$^O}->{$key}->[0] ;
- my $t = $map->{$^O}->{$key}->[1] ;
- $val =~ s/$f/$t/g ;
- Inline::Java::Portable::debug(4, "portable: $key => $val for $^O is '$val'") ;
- return $val ;
- }
- else{
- Inline::Java::Portable::debug(4, "portable: $key for $^O is 'undef'") ;
- return undef ;
- }
- }
- elsif ($key =~ /^SUB_/){
- my $sub = $map->{$^O}->{$key} ;
- if (defined($sub)){
- $val = $sub->($val) ;
- Inline::Java::Portable::debug(4, "portable: $key => $val for $^O is '$val'") ;
- return $val ;
- }
- else{
- return $val ;
- }
- }
- else{
- Inline::Java::Portable::debug(4, "portable: $key for $^O is '$map->{$^O}->{$key}'") ;
- return $map->{$^O}->{$key} ;
- }
+ $val = $map->{$^O}->{$key} ;
}
- else{
- if ($key =~ /^RE_/){
- Inline::Java::Portable::debug(4, "portable: $key => $val for $^O is default '$val'") ;
- return $val ;
- }
- if ($key =~ /^SUB_/){
- Inline::Java::Portable::debug(4, "portable: $key => $val for $^O is default '$val'") ;
- return $val ;
+ else {
+ $val = $map->{_DEFAULT_}->{$key} ;
+ }
+
+ if ($key =~ /^SUB_/){
+ my $sub = $val ;
+ if (defined($sub)){
+ $arg = $sub->($arg) ;
+ Inline::Java::Portable::debug(4, "portable: $key => $arg for $^O is '$arg'") ;
+ return $arg ;
}
- else{
- Inline::Java::Portable::debug(4, "portable: $key for $^O is default '$defmap->{$key}'") ;
- return $defmap->{$key} ;
+ else {
+ Inline::Java::Portable::debug(4, "portable: $key => $arg for $^O is default '$arg'") ;
+ return $arg ;
}
}
+ else {
+ Inline::Java::Portable::debug(4, "portable: $key for $^O is '$val'") ;
+ return $val ;
+ }
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libinline-java-perl.git
More information about the Pkg-perl-cvs-commits
mailing list