/* native/vm/VMRuntime.c - java/lang/VMRuntime
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- R. Grafl, A. Krall, C. Kruegel, C. Oates, R. Obermaisser,
- M. Probst, S. Ring, E. Steiner, C. Thalinger, D. Thuernbeck,
- P. Tomsich, J. Wenninger
+ Copyright (C) 1996-2005 R. Grafl, A. Krall, C. Kruegel, C. Oates,
+ R. Obermaisser, M. Platter, M. Probst, S. Ring, E. Steiner,
+ C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich, J. Wenninger,
+ Institut f. Computersprachen - TU Wien
This file is part of CACAO.
Changes: Joseph Wenninger
Christian Thalinger
- $Id: VMRuntime.c 1685 2004-12-05 22:57:53Z jowenn $
+ $Id: VMRuntime.c 1735 2004-12-07 14:33:27Z twisti $
*/
{
int retVal=0;
+#ifdef JOWENN_DEBUG
char *buffer;
int buffer_len;
+#endif
utf *data;
#ifdef JOWENN_DEBUG
char *user;
char *home;
struct utsname utsnamebuf;
+#if !defined(STATIC_CLASSPATH)
+ char *libpath;
+ s4 libpathlen;
+#endif
if (!p) {
- *exceptionptr = new_exception(string_java_lang_NullPointerException);
+ *exceptionptr = new_nullpointerexception();
return;
}
insert_property(m, p, "java.specification.name", "Java Platform API Specification");
insert_property(m, p, "java.class.version", "48.0");
insert_property(m, p, "java.class.path", classpath);
+
#if defined(STATIC_CLASSPATH)
insert_property(m, p, "java.library.path" , ".");
#else
- {
- char *libpath;
- size_t libpathlen=0;
- libpathlen=strlen(INSTALL_PREFIX"/lib/classpath")+1;
- if (getenv("CACAO_LIB_OVERRIDE")) libpathlen=libpathlen+strlen(getenv("CACAO_LIB_OVERRIDE"))+1;
- if (getenv("LD_LIBRARY_PATH")) libpathlen=libpathlen+strlen(getenv("LD_LIBRARY_PATH"))+1;
- libpath=(char*)malloc(libpathlen);
- libpath[0]=0;
- if (getenv("CACAO_LIB_OVERRIDE")) {
- strcat(libpath,getenv("CACAO_LIB_OVERRIDE"));
- strcat(libpath,":");
- }
- strcat(libpath,INSTALL_PREFIX"/lib/classpath");
- if (getenv("LD_LIBRARAY_PATH")) {
- strcat(libpath,":");
- strcat(libpath,getenv("LD_LIBRARY_PATH"));
- }
- insert_property(m, p, "java.library.path" , libpath);
+ libpathlen = strlen(INSTALL_PREFIX) + strlen(CACAO_LIBRARY_PATH) + 1;
+
+ if (getenv("CACAO_LIB_OVERRIDE"))
+ libpathlen += strlen(getenv("CACAO_LIB_OVERRIDE")) + 1;
+
+ if (getenv("LD_LIBRARY_PATH"))
+ libpathlen += strlen(getenv("LD_LIBRARY_PATH")) + 1;
+
+ libpath = MNEW(char, libpathlen);
+
+ if (getenv("CACAO_LIB_OVERRIDE")) {
+ strcat(libpath, getenv("CACAO_LIB_OVERRIDE"));
+ strcat(libpath, ":");
}
+
+ strcat(libpath, INSTALL_PREFIX);
+ strcat(libpath, CACAO_LIBRARY_PATH);
+
+ if (getenv("LD_LIBRARY_PATH")) {
+ strcat(libpath, ":");
+ strcat(libpath, getenv("LD_LIBRARY_PATH"));
+ }
+ insert_property(m, p, "java.library.path", libpath);
+
+ MFREE(libpath, char, libpathlen);
#endif
+
insert_property(m, p, "java.io.tmpdir", "/tmp");
insert_property(m, p, "java.compiler", "cacao.jit");
insert_property(m, p, "java.ext.dirs", "");
/* XXX do we need this one? */
{ "java.protocol.handler.pkgs", "gnu.java.net.protocol"}
#endif
- insert_property(m,p,"java.protocol.handler.pkgs","gnu.java.net.protocol");
+ insert_property(m, p, "java.protocol.handler.pkgs", "gnu.java.net.protocol");
/* insert properties defined on commandline */