+ /* Set the bootclasspath. */
+
+ p = getenv("BOOTCLASSPATH");
+
+ if (p != NULL) {
+ boot_class_path = MNEW(char, strlen(p) + strlen("0"));
+ strcpy(boot_class_path, p);
+ }
+ else {
+#if defined(ENABLE_JRE_LAYOUT)
+# if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
+
+ len =
+ strlen(java_home) + strlen("/share/cacao/vm.zip:") +
+ strlen(java_home) + strlen("/share/classpath/glibj.zip") +
+ strlen("0");
+
+ boot_class_path = MNEW(char, len);
+
+ strcpy(boot_class_path, java_home);
+ strcat(boot_class_path, "/share/cacao/vm.zip");
+ strcat(boot_class_path, ":");
+ strcat(boot_class_path, java_home);
+ strcat(boot_class_path, "/share/classpath/glibj.zip");
+
+# elif defined(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK)
+
+ /* This is the bootclasspath taken from HotSpot (see
+ hotspot/src/share/vm/runtime/os.cpp
+ (os::set_boot_path)). */
+
+ len =
+ strlen(java_home) + strlen("/lib/resources.jar:") +
+ strlen(java_home) + strlen("/lib/rt.jar:") +
+ strlen(java_home) + strlen("/lib/sunrsasign.jar:") +
+ strlen(java_home) + strlen("/lib/jsse.jar:") +
+ strlen(java_home) + strlen("/lib/jce.jar:") +
+ strlen(java_home) + strlen("/lib/charsets.jar:") +
+ strlen(java_home) + strlen("/classes") +
+ strlen("0");
+
+ boot_class_path = MNEW(char, len);
+
+ strcpy(boot_class_path, java_home);
+ strcat(boot_class_path, "/lib/resources.jar:");
+ strcat(boot_class_path, java_home);
+ strcat(boot_class_path, "/lib/rt.jar:");
+ strcat(boot_class_path, java_home);
+ strcat(boot_class_path, "/lib/sunrsasign.jar:");
+ strcat(boot_class_path, java_home);
+ strcat(boot_class_path, "/lib/jsse.jar:");
+ strcat(boot_class_path, java_home);
+ strcat(boot_class_path, "/lib/jce.jar:");
+ strcat(boot_class_path, java_home);
+ strcat(boot_class_path, "/lib/charsets.jar:");
+ strcat(boot_class_path, java_home);
+ strcat(boot_class_path, "/classes");
+
+# else
+# error unknown classpath configuration
+# endif
+#else
+# if defined(WITH_JAVA_RUNTIME_LIBRARY_GNU_CLASSPATH)
+
+ len =
+ strlen(CACAO_VM_ZIP) +
+ strlen(":") +
+ strlen(JAVA_RUNTIME_LIBRARY_CLASSES) +
+ strlen("0");
+
+ boot_class_path = MNEW(char, len);
+
+ strcpy(boot_class_path, CACAO_VM_ZIP);
+ strcat(boot_class_path, ":");
+ strcat(boot_class_path, JAVA_RUNTIME_LIBRARY_CLASSES);
+
+# elif defined(WITH_JAVA_RUNTIME_LIBRARY_OPENJDK)
+
+ /* This is the bootclasspath taken from HotSpot (see
+ hotspot/src/share/vm/runtime/os.cpp
+ (os::set_boot_path)). */
+
+ len =
+ strlen(JAVA_RUNTIME_LIBRARY_PREFIX"/lib/resources.jar:") +
+ strlen(JAVA_RUNTIME_LIBRARY_PREFIX"/lib/rt.jar:") +
+ strlen(JAVA_RUNTIME_LIBRARY_PREFIX"/lib/sunrsasign.jar:") +
+ strlen(JAVA_RUNTIME_LIBRARY_PREFIX"/lib/jsse.jar:") +
+ strlen(JAVA_RUNTIME_LIBRARY_PREFIX"/lib/jce.jar:") +
+ strlen(JAVA_RUNTIME_LIBRARY_PREFIX"/lib/charsets.jar:") +
+ strlen(JAVA_RUNTIME_LIBRARY_PREFIX"/classes") +
+ strlen("0");
+
+ boot_class_path = MNEW(char, len);
+
+ strcpy(boot_class_path, JAVA_RUNTIME_LIBRARY_PREFIX"/lib/resources.jar:");
+ strcat(boot_class_path, JAVA_RUNTIME_LIBRARY_PREFIX"/lib/rt.jar:");
+ strcat(boot_class_path, JAVA_RUNTIME_LIBRARY_PREFIX"/lib/sunrsasign.jar:");
+ strcat(boot_class_path, JAVA_RUNTIME_LIBRARY_PREFIX"/lib/jsse.jar:");
+ strcat(boot_class_path, JAVA_RUNTIME_LIBRARY_PREFIX"/lib/jce.jar:");
+ strcat(boot_class_path, JAVA_RUNTIME_LIBRARY_PREFIX"/lib/charsets.jar:");
+ strcat(boot_class_path, JAVA_RUNTIME_LIBRARY_PREFIX"/classes");
+
+# elif defined(WITH_JAVA_RUNTIME_LIBRARY_CLDC1_1)
+
+ len =
+ strlen(JAVA_RUNTIME_LIBRARY_CLASSES) +
+ strlen("0");
+
+ boot_class_path = MNEW(char, len);
+
+ strcpy(boot_class_path, JAVA_RUNTIME_LIBRARY_CLASSES);
+
+# else
+# error unknown classpath configuration
+# endif
+#endif
+ }
+
+ properties_add("sun.boot.class.path", boot_class_path);
+ properties_add("java.boot.class.path", boot_class_path);
+
+#if defined(ENABLE_JAVASE)
+
+ /* Set the classpath. */
+
+ p = getenv("CLASSPATH");
+
+ if (p != NULL) {
+ class_path = MNEW(char, strlen(p) + strlen("0"));
+ strcpy(class_path, p);
+ }
+ else {
+ class_path = MNEW(char, strlen(".") + strlen("0"));
+ strcpy(class_path, ".");
+ }
+
+ properties_add("java.class.path", class_path);
+
+ /* Add java.vm properties. */
+