File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4141 }],
4242 ['OS=="solaris" and target_arch=="x64"' , {
4343 'javalibdir%' : "<!(h=\" `node findJavaHome.js`\" sh -c 'if [ -d \" $h/jre/lib/amd64/classic\" ]; then echo $h/jre/lib/amd64/classic; else echo $h/jre/lib/amd64/server; fi')"
44- }]
44+ }],
4545 ]
4646 },
4747 'targets' : [
8989 '<(javahome)/include/solaris' ,
9090 ],
9191 'libraries' : [
92- '-L<(javalibdir) ' ,
93- '-Wl,-rpath,<(javalibdir) ' ,
92+ '-L<(javahome)/jre/lib/<(arch)/server/ ' ,
93+ '-Wl,-rpath,<(javahome)/jre/lib/<(arch)/server/ ' ,
9494 '-ljvm'
9595 ]
9696 }
Original file line number Diff line number Diff line change 11var glob = require ( 'glob' ) ;
22var fs = require ( 'fs' ) ;
33var path = require ( 'path' ) ;
4+ var os = require ( 'os' ) ;
45
56require ( 'find-java-home' ) ( function ( err , home ) {
67 var dll ;
78 var dylib ;
8- var so ;
9+ var so , soFiles ;
910 var binary ;
1011
1112 if ( home ) {
1213 dll = glob . sync ( '**/jvm.dll' , { cwd : home } ) [ 0 ] ;
13- so = glob . sync ( '**/libjvm.so' , { cwd : home } ) [ 0 ] ;
14+ soFiles = glob . sync ( '**/libjvm.so' , { cwd : home } ) ;
1415 dylib = glob . sync ( '**/libjvm.dylib' , { cwd : home } ) [ 0 ] ;
1516 binary = dll || dylib || so ;
1617
18+ so = getCorrectSoForPlatform ( soFiles ) ;
19+
1720 fs . writeFileSync (
1821 path . resolve ( __dirname , './build/jvm_dll_path.json' ) ,
1922 binary
@@ -25,3 +28,26 @@ require('find-java-home')(function(err, home){
2528 ) ;
2629 }
2730} ) ;
31+
32+ function getCorrectSoForPlatform ( soFiles ) {
33+
34+ var architectureFolderNames = {
35+ 'ia32' : 'i386' ,
36+ 'x64' : 'amd64'
37+ } ;
38+
39+ if ( os . platform ( ) != 'sunos' )
40+ return soFiles [ 0 ] ;
41+
42+ var requiredFolderName = architectureFolderNames [ os . arch ( ) ] ;
43+
44+ for ( var i = 0 ; i < soFiles . length ; i ++ ) {
45+ var so = soFiles [ i ] ;
46+
47+ if ( so . indexOf ( 'server' ) )
48+ if ( so . indexOf ( requiredFolderName ) )
49+ return so ;
50+ }
51+
52+ return so [ 0 ] ;
53+ }
You can’t perform that action at this time.
0 commit comments