Add boilerplate to webAppCreator build.xml files to supply a -d32 arg
when the runtime JVM is 64-bit. Currently this happens only on Mac.

Review by: jat, scottb



git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/1.7@6156 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 280372e..8bd738c 100644
--- a/user/src/com/google/gwt/user/tools/WebAppCreator.java
+++ b/user/src/com/google/gwt/user/tools/WebAppCreator.java
@@ -259,8 +259,15 @@
     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\"/>" : "");
+        ? "\n      <jvmarg value=\"-XstartOnFirstThread\"/>" : "");
     replacements.put("@vmargs", isMacOsX ? "&#10;-XstartOnFirstThread" : "");
     replacements.put("@renameTo", moduleShortName.toLowerCase());
 
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 8b3ef42..a88972c 100644
--- a/user/src/com/google/gwt/user/tools/project.ant.xmlsrc
+++ b/user/src/com/google/gwt/user/tools/project.ant.xmlsrc
@@ -43,13 +43,14 @@
     </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"/>@antVmargs
+      <jvmarg value="-Xmx256M"/>@antUse32BitVmarg@antVmargs
       <arg value="-startupUrl"/>
       <arg value="@startupUrl"/>
       <!-- Additional arguments like -style PRETTY or -logLevel DEBUG -->