First clang roll in a few weeks, so lots of new stuff:
* better 'unused' warnings. Now catches e.g. "AutoLock(&lock);"
* better 'uninitialized' warnings
* template type eliding in diagnostics
* TLS attribute support
* New -Wunused-private-field warning (disabled for now)
* style plugin has better warning for implicit destructors
* method_iterator interface changed back to what it was, update plugin again
* Warn on member variable self assignments
BUG=135207
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10689041
git-svn-id: http://src.chromium.org/svn/trunk/src/build@145022 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
There are basically three categories of changes here:
1) Most OS==mac becomes OS==mac or OS==ios
2) Some Xcode-related settings move into OS==mac blocks since Xcode is no longer Mac-only
3) Addition of iOS-specific settings (SDK, compile flags, etc)
BUG=None
TEST=None
Review URL: https://chromiumcodereview.appspot.com/10704039
git-svn-id: http://src.chromium.org/svn/trunk/src/build@145008 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Change common.gypi to pass scale_factors=2x to grit on Mac
(as a side effect, the close button on about:settings now looks
good).
Change bookmark_manager/main.html to type="chrome_html"
so that it gets the 2x image auto-treatment that's documented at
sites.google.com/a/chromium.org/dev/developers/design-documents/high-dpi-resources
The icon in the upper left corner of about:bookmarks looks good
with this change, but the tree icons don't yet because cr/ui/tree.js
needs js code changes to make HiDPI icons work.
BUG=134372,123162
TEST=Open bookmark manager. Almost all images look good in HiDPI.
Review URL: https://chromiumcodereview.appspot.com/10662039
git-svn-id: http://src.chromium.org/svn/trunk/src/build@144305 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
v8/build/common.gypi now uses environment variable CXX_target which is only
set in android_gyp, not set when gyp_chromium is called by gclient or automatic
makefile regeneration.
Now exports the environment variables needed by gyp generation.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10511019
git-svn-id: http://src.chromium.org/svn/trunk/src/build@140431 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Without this CL, the gyp define release_extra_cflags is applied to both host and
target compiles. With this CL, the gyp define is only applied to the target
compiles.
BUG=v8:2157
TEST=gyp_chromium with extra flags. Made sure that the target mk files like
v8_shell.host.mk did not have the flags while v8_nosnapshot.target.mk had the
flags.
Review URL: https://chromiumcodereview.appspot.com/10456020
git-svn-id: http://src.chromium.org/svn/trunk/src/build@139909 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Set the install name of all dylibs to @rpath.
Set the rpath of all executables to '@loader_path/.' (for normal binaries)
and '@loader_path/../../..' (for bundled binaries).
Also, Chromium Helper.app doesn't end up in out/Release but
somewhere below Chromium.app, so set its rpath to
'@loader_path/../../../../../../..' to get all the way back to
out/Release.
Also add "(allow file-read-metadata)" to the sandbox definition when
running on 10.6 or earlier when using the component build, to work
around a bug in dyld (see http://crbug.com/127465).
BUG=90078,127465
TEST=Do a components build. DYLD_LIBRARY_PATH isn't necessary at
build time, and isn't necessary when running chromium or test binaries.
Review URL: https://chromiumcodereview.appspot.com/10389047
git-svn-id: http://src.chromium.org/svn/trunk/src/build@139550 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The primary issues is specifying the right path to PRODUCT_DIR (i.e.
out/Release). The gyp generator for make specifies the absolute path but
for ninja would use a relative path. Since the gyp targets don't line
up with where the ant build files are located this causes failures such
as base's java being generated in base/android/out/Release/...
See:
https://groups.google.com/forum/#!msg/gyp-developer/K2T_9obUya0/qq78_Ut-E-AJ
for details.
A couple of other minor fixes:
- content java files are placed in out/Release/java/content to be
consisent with other packages.
- shared-libraries are now referenced by correct variables for apk-based
tests
- removed unused media/base/android/java/java.gyp (target is in
media/media.gyp)
TBR=mark@chromium.org,ben@chromium.org,rsleevi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10386188
git-svn-id: http://src.chromium.org/svn/trunk/src/build@139418 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The flag was mostly redundant with the enable_touch_ui flag, the only
additional effect of turning it on was to change the behavior of
ui::GetDisplayLayout.
If we later wanted to duplicate the effect that disabling the
enable_metro flag prior to this change would have, we can simply
change the condition in common.gypi that determines whether to turn on
the enable_touch_ui flag.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/10440037
git-svn-id: http://src.chromium.org/svn/trunk/src/build@139181 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The error is caused by missing '-m32' parameter when building v8 for host.
CXX(host) out/Release/obj.host/v8_base/v8/src/accessors.o
v8/src/globals.h:120:2: error: #error Target architecture arm is only supported on arm and ia32 host
v8/build/common.gypi tests if the compiler supports -m32:
'm32flag': '<!((echo | $(echo ${CXX_host:-$(which g++)}) -m32 -E - > /dev/null 2>&1) && echo -n "-m32" || true)',
but goma is confused by the environment variable GOMA_WRAPPER and exits
with an error:
GOMA_WRAPPER=<anything>: unkown GOMA_ parameter
and the gyp script thinks that the compiler doesn't support -m32.
Rename GOMA_WRAPPER to ANDROID_GOMA_WRAPPER to avoid confusing goma.
git-svn-id: http://src.chromium.org/svn/trunk/src/build@138916 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This will make the android_test bot red when apk tests fail.
The ANDROID_APK_TEST_TARGET flag is required while we transition from executable to APK tests.
- Executable tests need the DIR_CACHE override as the default path comes from the java side.
BUG=125059
Review URL: https://chromiumcodereview.appspot.com/10332230
git-svn-id: http://src.chromium.org/svn/trunk/src/build@138407 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Enable the Clang error that makes it a warning/error to derive from
base::RefCounted/RefCountedThreadSafe directly and have a public
destructor for Linux and Mac builds.
For ChromeOS builds, do not yet enable the warning, as it does not
yet build cleanly.
BUG=123295
TEST=it compiles
R=thakis
Review URL: https://chromiumcodereview.appspot.com/10414016
git-svn-id: http://src.chromium.org/svn/trunk/src/build@138031 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This way, those of us working on the proxy switch need only add:
{
'variables': {
'build_ppapi_ipc_proxy_untrusted': '1',
},
}
to "~/.gyp/include.gypi"
...and we'll be able to build our untrusted targets without editing all.gyp. For anybody who doesn't set that flag, our ppapi_proxy_untrusted.gypi file will still be parsed, but it doesn't matter if the source files build (or even exist).
BUG=116317
TEST=
Review URL: https://chromiumcodereview.appspot.com/10399068
git-svn-id: http://src.chromium.org/svn/trunk/src/build@137751 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
When enabled, this tool is built into Chrome and makes it log its routine invocations. Every time a routine is called and if it is called for the first time (per each thread), the log is updated with current time and the address of the routine. Later, such logs can be merged (across all threads), symbolized and fed into linker ('order_text_section') so it produces binary with more optimal code layout. This must make code work faster because of better CPU cache utilization.
See more technical details in tools/cygprofile/cygprofile.cc header.
Cyg prefix is taken after the callback names in gcc that we use to hook the code: __cyg_profile_func_enter and __cyg_profile_func_exit.
More info at https://sites.google.com/a/google.com/chrome-msk/dev/boot-speed-up-effort
BUG=chromium-os:20187
TEST=units, build cros with
declare -x EXTRA_BUILD_ARGS="order_profiling=1 linux_use_tcmalloc=0"
run it and check the log at /var/log/chrome/cyglog.*.
Review URL: https://chromiumcodereview.appspot.com/8770054
git-svn-id: http://src.chromium.org/svn/trunk/src/build@137391 4ff67af0-8c30-449e-8e8b-ad334ec8d88c