diff --git a/build/conf/mac/Contents/Info.plist b/build/conf/mac/Contents/Info.plist
index ea216539100c..ff4e84643833 100644
--- a/build/conf/mac/Contents/Info.plist
+++ b/build/conf/mac/Contents/Info.plist
@@ -74,6 +74,12 @@
VMOptions
@@vmoptions@@ -Xbootclasspath/a:../lib/boot.jar
+ VMOptions.i386
+ @@vmoptions32@@
+
+ VMOptions.x86_64
+ @@vmoptions64@@
+
WorkingDirectory
$APP_PACKAGE/bin
diff --git a/build/scripts/dist.gant b/build/scripts/dist.gant
index 9a29437eae32..a3b367df69e6 100644
--- a/build/scripts/dist.gant
+++ b/build/scripts/dist.gant
@@ -67,8 +67,6 @@ target('default': 'The default target') {
buildNumber: "IC-104.SNAPSHOT",
version: "IdeaX",
system_selector: "IntelliJIdeaCE10",
- jdk_req: "1.6*",
- vmoptions: "-Xms128m -Xmx512m -XX:MaxPermSize=250m -ea",
home, out)
}
@@ -102,7 +100,7 @@ private def layoutWin(Map args, String home, Paths paths) {
}
patchPropertiesFile(paths.distWin)
- ant.echo(file: "$paths.distWin/bin/idea.exe.vmoptions", message: args.vmoptions.replace(' ', '\n'))
+ ant.echo(file: "$paths.distWin/bin/idea.exe.vmoptions", message: vmoptions32().replace(' ', '\n'))
def winZipPath = "$paths.artifacts/idea${args.buildNumber}.win.zip"
ant.zip(zipfile: winZipPath) {
@@ -179,7 +177,7 @@ def layoutLinux(Map args, String home, Paths paths) {
patchPropertiesFile(paths.distUnix)
- ant.echo(file: "$paths.distUnix/bin/idea.vmoptions", message: args.vmoptions.replace(' ', '\n') )
+ ant.echo(file: "$paths.distUnix/bin/idea.vmoptions", message: vmoptions32().replace(' ', '\n') )
ant.fixcrlf(srcdir: "$paths.distUnix/bin", includes: "idea.vmoptions", eol: "unix")
ant.fixcrlf(srcdir: "$paths.distUnix/bin", includes: "*.sh", eol: "unix")
diff --git a/build/scripts/utils.gant b/build/scripts/utils.gant
index c6e9524b3e39..9731d695c165 100644
--- a/build/scripts/utils.gant
+++ b/build/scripts/utils.gant
@@ -25,6 +25,13 @@ binding.setVariable("isEap", {
return "true" == p("component.version.eap")
})
+binding.setVariable("mem32", "-Xms128m -Xmx512m -XX:MaxPermSize=250m")
+binding.setVariable("mem64", "-Xms128m -Xmx800m -XX:MaxPermSize=350m")
+binding.setVariable("common_vmoptions", "-ea")
+
+binding.setVariable("vmoptions32", {"$mem32 $common_vmoptions"})
+binding.setVariable("vmoptions64", {"$mem64 $common_vmoptions"})
+
binding.setVariable("isDefined", {String key ->
try {
this[key]
@@ -153,7 +160,9 @@ binding.setVariable("layoutMacApp", { String path, String ch, Map args ->
replacefilter(token: "@@year@@", value: "$todayYear")
replacefilter(token: "@@version@@", value: version)
- replacefilter(token: "@@vmoptions@@", value: args.vmoptions + " -Xverify:none -XX:+UseCompressedOOPS")
+ replacefilter(token: "@@vmoptions@@", value: "$common_vmoptions -Xverify:none")
+ replacefilter(token: "@@vmoptions32@@", value: "$mem32")
+ replacefilter(token: "@@vmoptions64@@", value: "$mem64 -XX:+UseCompressedOOPS")
replacefilter(token: "@@system_selector@@", value: args.system_selector)
replacefilter(token: "@@platform@@", value: platform)
}