summaryrefslogtreecommitdiffstats
path: root/build/internal
diff options
context:
space:
mode:
authorsiggi@chromium.org <siggi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-20 21:37:37 +0000
committersiggi@chromium.org <siggi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-20 21:37:37 +0000
commit2212d27f2cc41983901f45299cda82d704c76e82 (patch)
treefd93ccd2a78bf29937cd08d79bdb36d6f64378d3 /build/internal
parent91f0305ba68709d19b3ac85ffa67a0dc5525503e (diff)
downloadchromium_src-2212d27f2cc41983901f45299cda82d704c76e82.zip
chromium_src-2212d27f2cc41983901f45299cda82d704c76e82.tar.gz
chromium_src-2212d27f2cc41983901f45299cda82d704c76e82.tar.bz2
With this change, each target can select an optimization level for Windows official builds by setting a variable name "optimize" to one of three possible values:
- "size"; optimizes for minimal code size, the default. - "speed"; optimizes for speed over code size. - "max"; turns on link time code generation and whole program optimization, which is very expensive and should be used sparingly. Note that this change by itself lowers the optimization level to "size" for all targets. Separate changes to the V8 and WebKit repos will be needed to bring up their optimization levels to WPO. BUG=108167 TEST= Review URL: http://codereview.chromium.org/8983002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115187 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/internal')
-rw-r--r--build/internal/release_defaults.gypi6
-rw-r--r--build/internal/release_impl.gypi3
-rw-r--r--build/internal/release_impl_official.gypi14
3 files changed, 16 insertions, 7 deletions
diff --git a/build/internal/release_defaults.gypi b/build/internal/release_defaults.gypi
index 7f1ddb8..1bf674a 100644
--- a/build/internal/release_defaults.gypi
+++ b/build/internal/release_defaults.gypi
@@ -1,11 +1,17 @@
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
{
'msvs_settings': {
'VCCLCompilerTool': {
'StringPooling': 'true',
},
'VCLinkerTool': {
+ # No incremental linking.
'LinkIncremental': '1',
+ # Eliminate Unreferenced Data (/OPT:REF).
'OptimizeReferences': '2',
+ # Folding on (/OPT:ICF).
'EnableCOMDATFolding': '2',
},
},
diff --git a/build/internal/release_impl.gypi b/build/internal/release_impl.gypi
index aff06dc..2e95aee 100644
--- a/build/internal/release_impl.gypi
+++ b/build/internal/release_impl.gypi
@@ -1,3 +1,6 @@
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
{
'includes': ['release_defaults.gypi'],
}
diff --git a/build/internal/release_impl_official.gypi b/build/internal/release_impl_official.gypi
index d62e955..8c13349 100644
--- a/build/internal/release_impl_official.gypi
+++ b/build/internal/release_impl_official.gypi
@@ -1,23 +1,23 @@
+# Copyright (c) 2011 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
{
'includes': ['release_defaults.gypi'],
'defines': ['OFFICIAL_BUILD'],
'msvs_settings': {
'VCCLCompilerTool': {
- 'Optimization': '3',
'InlineFunctionExpansion': '2',
'EnableIntrinsicFunctions': 'true',
- 'FavorSizeOrSpeed': '2',
'OmitFramePointers': 'true',
'EnableFiberSafeOptimizations': 'true',
- 'WholeProgramOptimization': 'true',
},
'VCLibrarianTool': {
- 'AdditionalOptions': ['/ltcg', '/expectedoutputsize:120000000'],
+ 'AdditionalOptions': [
+ '/ltcg',
+ '/expectedoutputsize:120000000'
+ ],
},
'VCLinkerTool': {
- # Get more debug spew from the linker while we're sorting out
- # build problems and performance.
- # TODO(siggi): Remove these flags after we're out of the woods.
'AdditionalOptions': [
'/time',
# This may reduce memory fragmentation during linking.