Skip to content

Commit 894ad81

Browse files
committed
better build experience on linux
1 parent 6d61257 commit 894ad81

2 files changed

Lines changed: 13 additions & 7 deletions

File tree

README.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@ Bridge API to connect with existing Java APIs.
55
## Installation Linux
66

77
```bash
8-
$ sudo ln -s /usr/local/share/jdk1.6.0_30/jre/lib/i386/client/libjvm.so /usr/local/lib/libjvm.so
9-
$ export JDK_INCLUDE_DIR=/usr/local/share/jdk1.6.0_30/include/
10-
$ export JDK_AUX_INCLUDE_DIR=/usr/local/share/jdk1.6.0_30/include/linux/
11-
$ export JDK_LIB_DIR=/usr/local/share/jdk1.6.0_30/jre/lib/i386/client/
8+
$ export JAVA_HOME=/usr/local/share/jdk1.6.0_30
129
$ npm install java
1310
```
1411

wscript

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,27 @@ def configure(conf):
2525

2626
conf.env.append_unique('LINKFLAGS', [ '-framework', 'JavaVM' ])
2727
else:
28-
jdk_include_dir = environ.get("JDK_INCLUDE_DIR", "/usr/local/share/jdk1.6.0_30/include/")
28+
java_home = environ.get("JAVA_HOME")
29+
30+
jdk_include_dir = environ.get("JDK_INCLUDE_DIR", java_home + "/include")
2931
if jdk_include_dir:
3032
conf.env.append_unique('CXXFLAGS', [ '-I' + jdk_include_dir ])
3133

32-
jdk_additional_include_dir = environ.get("JDK_AUX_INCLUDE_DIR", "/usr/local/share/jdk1.6.0_30/include/linux/")
34+
jdk_additional_include_dir = environ.get("JDK_AUX_INCLUDE_DIR", jdk_include_dir + "/linux")
3335
if jdk_additional_include_dir:
3436
conf.env.append_unique('CXXFLAGS', [ '-I' + jdk_additional_include_dir ])
3537

36-
jdk_lib_dir = environ.get("JDK_LIB_DIR", "/usr/local/share/jdk1.6.0_30/jre/lib/i386/client/")
38+
jdk_lib_dir_guess = ""
39+
if os.path.exists(java_home + "/jre/lib/i386/client/"):
40+
jdk_lib_dir_guess = java_home + "/jre/lib/i386/server/"
41+
else:
42+
jdk_lib_dir_guess = java_home + "/jre/lib/amd64/server/"
43+
44+
jdk_lib_dir = environ.get("JDK_LIB_DIR", jdk_lib_dir_guess)
3745
if jdk_lib_dir:
3846
conf.env.append_unique('LINKFLAGS', [ '-L' + jdk_lib_dir ])
3947

48+
conf.env.append_unique('LINKFLAGS', ['-Wl,-rpath,' + jdk_lib_dir])
4049
conf.env.append_unique('LINKFLAGS', ['-ljvm'])
4150

4251
def build(bld):

0 commit comments

Comments
 (0)