jamvm

changeset 404:f70700d622a8

Load libjava.so when using OpenJDK.

2008-08-04 Andrew John Hughes <gnu_andrew@member.fsf.org>

* src/natives.c:
Add support for OpenJDK loading of libjava.so.
author andrew
date Tue Aug 05 06:07:38 2008 +0100 (2008-08-05)
parents 907df5a02819
children 99039a39df1f
files ChangeLog src/natives.c
line diff
     1.1 --- a/ChangeLog	Tue Aug 05 06:03:08 2008 +0100
     1.2 +++ b/ChangeLog	Tue Aug 05 06:07:38 2008 +0100
     1.3 @@ -5,6 +5,11 @@
     1.4  ==============
     1.5  2008-08-04  Andrew John Hughes  <gnu_andrew@member.fsf.org>
     1.6  
     1.7 +	* src/natives.c:
     1.8 +	Add support for OpenJDK loading of libjava.so.
     1.9 +
    1.10 +2008-08-04  Andrew John Hughes  <gnu_andrew@member.fsf.org>
    1.11 +
    1.12  	* src/class.c,
    1.13  	* src/jam.h:
    1.14  	Change signature of defineClass to include
     2.1 --- a/src/natives.c	Tue Aug 05 06:03:08 2008 +0100
     2.2 +++ b/src/natives.c	Tue Aug 05 06:07:38 2008 +0100
     2.3 @@ -43,9 +43,12 @@
     2.4  #define TRACE(fmt, ...)
     2.5  #endif
     2.6  
     2.7 +#ifdef WITH_JAVA_RUNTIME_LIBRARY_CLASSPATH
     2.8  static int pd_offset;
     2.9 +#endif
    2.10  
    2.11  void initialiseNatives() {
    2.12 +#ifdef WITH_JAVA_RUNTIME_LIBRARY_CLASSPATH
    2.13      FieldBlock *pd = findField(java_lang_Class, SYMBOL(pd),
    2.14                                 SYMBOL(sig_java_security_ProtectionDomain));
    2.15  
    2.16 @@ -54,6 +57,14 @@
    2.17          exitVM(1);
    2.18      }
    2.19      pd_offset = pd->offset;
    2.20 +#elif WITH_JAVA_RUNTIME_LIBRARY_OPENJDK
    2.21 +   char *name = getDllName("java");
    2.22 +   char *bootpath = getBootDllPath();
    2.23 +   char *buff = sysMalloc(strlen(name) + strlen(bootpath) + 2);
    2.24 +   sprintf(buff, "%s/%s", bootpath, name);
    2.25 +   resolveDll(buff, NULL);
    2.26 +   sysFree(buff);
    2.27 +#endif
    2.28  }
    2.29  
    2.30  /* java.lang.VMObject */