diff src/share/tools/ProjectCreator/WinGammaPlatformVC10.java @ 14317:b59507f713e0

8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher Summary: decoupled the '-XXaltjvm=<path>' option from the gamma launcher. Clearing the way for removing the remaining cruft associated with the previously removed gamma launcher. Reviewed-by: dcubed, dholmes
author rdurbin
date Thu, 30 Jan 2014 14:12:22 -0800
parents 31f3b1e1c5e5
children d8041d695d19
line wrap: on
line diff
--- a/src/share/tools/ProjectCreator/WinGammaPlatformVC10.java	Thu Jan 30 09:41:45 2014 +0100
+++ b/src/share/tools/ProjectCreator/WinGammaPlatformVC10.java	Thu Jan 30 14:12:22 2014 -0800
@@ -161,7 +161,18 @@
         for (BuildConfig cfg : allConfigs) {
             startTag(cfg, "PropertyGroup");
             tagData("LocalDebuggerCommand", cfg.get("JdkTargetRoot") + "\\bin\\java.exe");
-            tagData("LocalDebuggerCommandArguments", "-XXaltjvm=$(TargetDir) -Dsun.java.launcher=gamma");
+            // The JVM loads some libraries using a path relative to
+            // itself because it expects to be in a JRE or a JDK. The java
+            // launcher's '-XXaltjvm=' option allows the JVM to be outside
+            // the JRE or JDK so '-Dsun.java.launcher.is_altjvm=true'
+            // forces a fake JAVA_HOME relative path to be used to
+            // find the other libraries. The '-XX:+PauseAtExit' option
+            // causes the VM to wait for key press before exiting; this
+            // allows any stdout or stderr messages to be seen before
+            // the cmdtool exits.
+            tagData("LocalDebuggerCommandArguments", "-XXaltjvm=$(TargetDir) "
+                    + "-Dsun.java.launcher.is_altjvm=true "
+                    + "-XX:+UnlockDiagnosticVMOptions -XX:+PauseAtExit");
             tagData("LocalDebuggerEnvironment", "JAVA_HOME=" + cfg.get("JdkTargetRoot"));
             endTag();
         }