Insert -d32 flag only when os == mac and vm is 64-bit.
Review by: jat
git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/1.7@6164 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/tools/WebAppCreator.java b/user/src/com/google/gwt/user/tools/WebAppCreator.java
index 8bd738c..ddb8da1 100644
--- a/user/src/com/google/gwt/user/tools/WebAppCreator.java
+++ b/user/src/com/google/gwt/user/tools/WebAppCreator.java
@@ -229,6 +229,7 @@
// Figure out what platform we're on
boolean isMacOsX = gwtDevPath.substring(gwtDevPath.lastIndexOf('/') + 1).indexOf(
"mac") >= 0;
+ boolean is64BitVm = "64".equals(System.getProperty("sun.arch.data.model"));
// Compute module package and name.
int pos = moduleName.lastIndexOf('.');
@@ -259,16 +260,25 @@
replacements.put("@shellClass", HostedMode.class.getName());
replacements.put("@compileClass", Compiler.class.getName());
replacements.put("@startupUrl", moduleShortName + ".html");
- replacements.put("@antSetUp32BitVmarg", isMacOsX
- ? "\n <condition property=\"HostedMode32BitVmarg\" value=\"-d32\""
- + " else=\"-Dgwt.dummy.arg\">\n"
- + " <equals arg1=\"${sun.arch.data.model}\" arg2=\"64\"/>\n"
- + " </condition>\n" : "");
- replacements.put("@antUse32BitVmarg", isMacOsX
- ? "\n <jvmarg value=\"${HostedMode32BitVmarg}\"/>" : "");
- replacements.put("@antVmargs", isMacOsX
- ? "\n <jvmarg value=\"-XstartOnFirstThread\"/>" : "");
- replacements.put("@vmargs", isMacOsX ? " -XstartOnFirstThread" : "");
+
+ String antVmargs = "";
+ if (isMacOsX) {
+ antVmargs = "\n <jvmarg value=\"-XstartOnFirstThread\"/>";
+ if (is64BitVm) {
+ antVmargs += "\n <jvmarg value=\"-d32\"/>";
+ }
+ }
+ replacements.put("@antVmargs", antVmargs);
+
+ String vmargs = "";
+ if (isMacOsX) {
+ vmargs = " -XstartOnFirstThread";
+ if (is64BitVm) {
+ vmargs += " -d32";
+ }
+ }
+ replacements.put("@vmargs", vmargs);
+
replacements.put("@renameTo", moduleShortName.toLowerCase());
String antEclipseRule = "";
diff --git a/user/src/com/google/gwt/user/tools/project.ant.xmlsrc b/user/src/com/google/gwt/user/tools/project.ant.xmlsrc
index a88972c..8b3ef42 100644
--- a/user/src/com/google/gwt/user/tools/project.ant.xmlsrc
+++ b/user/src/com/google/gwt/user/tools/project.ant.xmlsrc
@@ -43,14 +43,13 @@
</java>
</target>
- <!-- Note: hosted mode requires a 32-bit JVM -->@antSetUp32BitVmarg
<target name="hosted" depends="javac" description="Run hosted mode">
<java failonerror="true" fork="true" classname="@shellClass">
<classpath>
<pathelement location="src"/>
<path refid="project.class.path"/>
</classpath>
- <jvmarg value="-Xmx256M"/>@antUse32BitVmarg@antVmargs
+ <jvmarg value="-Xmx256M"/>@antVmargs
<arg value="-startupUrl"/>
<arg value="@startupUrl"/>
<!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->