Now, to build with goma, you must:
1) Set $GOMA_DIR
2) Specify Goma in the path such as:
PATH=$GOMA_DIR/android/:$PATH ninja -j250 -C out/Release base_unittests_apk
"2)" above is necessary temporarily until the *_target variables are removed from build/android/envsetup.sh
Review URL: https://chromiumcodereview.appspot.com/10834296
git-svn-id: http://src.chromium.org/svn/trunk/src/build@151532 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Currently third_party/zlib/zlib.gyp uses the system libz if:
os_posix == 1 and OS != "mac" and OS != "ios" and OS != "openbsd"
I'm assuming that Android sets os_posix==1 and therefore this change is
a no-op. But it consolidates control of this variable in a single
location.
BUG=none
https://chromiumcodereview.appspot.com/10837100/
git-svn-id: http://src.chromium.org/svn/trunk/src/build@150355 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
These gyp defines are set unconditionally in envsetup, which means they
are not in fact part of the "environment" but just the defaults for the
Android build. Move them into common.gypi instead to make this clear.
Several of them were already the correct setting and can simply be
removed.
The makefiles generated by gyp are identical before and after this
change.
Review URL: https://chromiumcodereview.appspot.com/10825131
git-svn-id: http://src.chromium.org/svn/trunk/src/build@149609 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This broke the WebKit Mac bot, as the directory it works in is different there
compared to the Chromium configuration. Determine the source's root through the
DEPTH define, and then walk up in the build/mac/ directory.
BUG=
TEST=WebKit Mac builder doesn't break after a Chromium DEPS roll.
Review URL: https://chromiumcodereview.appspot.com/10824105
git-svn-id: http://src.chromium.org/svn/trunk/src/build@149181 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Having to manually set mac_sdk was a FAQ when Xcode 4 was released. Now
we're using the 10.6 SDK by default, but Xcode 4.4 ships only with the
10.7 and 10.8 SDKs, so it'll likely become a FAQ again. Automatically
set mac_sdk to something sensible.
(People who explicitly say "mac_sdk=10.6" will have to stop doing so
when they switch to Xcode 4.4.)
BUG=121162
TEST=Build without mac_sdk in GYP_DEFINES. Something useful happens
with Xcode 3.2.6, Xcode 4, Xcode 4.4.
Review URL: https://chromiumcodereview.appspot.com/10824055
git-svn-id: http://src.chromium.org/svn/trunk/src/build@148817 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Now requires you to specifically change the GYP_GENERATORS to specify Ninja. The original change broke because gyp ran for both make and ninja and the webkit bot determines whether to use ninja by the presence of build.ninja (thanks to Peter for figuring this out)
BUG=137569,136693
Review URL: https://chromiumcodereview.appspot.com/10827073
git-svn-id: http://src.chromium.org/svn/trunk/src/build@148790 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is useful for cases where Xcode doesn't know about the SDK, possibly
because the SDK is installed outside of Xcode altogether. For example, Xcode
4.4 does not include a copy of the 10.6 SDK, so if you have a copy of the 10.6
SDK present at /SDKs/MacOSX10.6.sdk, you can put this in ~/.gyp/include.gypi:
{
'variables': {
'mac_sdk_path': '/SDKs/MacOSX10.6.sdk',
},
}
Review URL: https://chromiumcodereview.appspot.com/10831039
git-svn-id: http://src.chromium.org/svn/trunk/src/build@148680 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Includes:
1) Allowing overridding of android_ndk_sysroot (addition of "%" in
variable name).
2) Disable NOTIMPLEMENTED output for official builds (see base/logging.h)
3) Add clang build configurations
4) Remove unnecessary cflags from regular build.
5) Include crtbegin_so.o and crtend_so.so for _type=="loadable_module"
which is needed for ppapi_tests.
BUG=137569
Review URL: https://chromiumcodereview.appspot.com/10808042
git-svn-id: http://src.chromium.org/svn/trunk/src/build@147986 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The gyp settings for libjpeg currently have a number of problems ...
- Settings for using the system libjpeg are replicated in the gyp files for both libjpeg and libjpeg_turbo.
- The default setting for use_system_libjpeg is different depending on whether libjpeg or libjpeg_turbo is in use. This is unintuitive, as libjpeg_turbo is a drop-in replacement for libjpeg.
This patch improves the situation ...
- Improve documentation about the interaction between use_system_libjpeg and use_libjpeg_turbo.
- Use the libjpeg gyp file whenever use_system_libjpeg==1. This means that the settings for using the system libjpeg are only needed here. (A later patch will remove them from libjpeg_turbo's gyp file). It also means that the libjpeg_turbo repository can be excluded when use_system_libjpeg==1.
- Move all settings concerned with use_system_libjpeg to the libjpeg gyp file.
Note that with this change, we lose the OS-specific defaults for use_system_libjpeg when use_libjpeg_turbo==0. These defaults are currently not used, as use_libjpeg_turbo==1 always.
Review URL: https://chromiumcodereview.appspot.com/10696082
git-svn-id: http://src.chromium.org/svn/trunk/src/build@147254 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
- Use of the system zlib is already the default, but set it explicitly here in
case the default changes.
- Use of the system ICU was fixed in r145879, so we now make use of it.
Also remove static_link_system_icu, which is not used.
Review URL: https://chromiumcodereview.appspot.com/10777006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@146565 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The initial iOS version was over-ambitious, and doesn't yet build. To
get the build working, this:
- only builds base:base on iOS, not base:*, and
- disables warnings-as-errors in third-party code for iOS, since
at least NSS and ICU have warnings for iOS.
This also adds nss.gyp to the iOS build, now that its gyp support
has landed
BUG=None
TEST=None
Review URL: https://chromiumcodereview.appspot.com/10704153
git-svn-id: http://src.chromium.org/svn/trunk/src/build@146120 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This enables DCHECK, NOTREACHED, and other debugging code on Android
non-official release builds. Since all Android builds are done in
release mode, we don't set NDEBUG according to whether the build is in
release or debug mode. Rather we set NDEBUG for official builds only.
This requires a change to skia.gyp to define SK_RELEASE exactly the
same when building skia and its direct dependencies:
SK_RELEASE should be defined in skia.gyp only when use_system_skia is
set to 1 because system skia is always in release mode. When building
with chromium version of skia (which is what we do now) this should
not be defined and left to the skia headers to figure out whether to
include debug code or not (they define SK_RELEASE only if NDEBUG was
defined).
BUG=http://b/6712716
Review URL: https://chromiumcodereview.appspot.com/10695047
git-svn-id: http://src.chromium.org/svn/trunk/src/build@145789 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
For the directx it probes in src\third_party\directxsdk if you have the dxsdk there and
for the regular sdk it probems in src\third_party\platformsdk_win8
If it does not find them it takes an educated guess.
The gyp variables windows_sdk_path and directx_sdk_path can be overriden from the environment if
the defaults are wrong.
BUG=none
TEST=chrome builds
Review URL: https://chromiumcodereview.appspot.com/10690072
git-svn-id: http://src.chromium.org/svn/trunk/src/build@145619 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Moves targets that will likely never exist for iOS to a !ios condition block. For the rest of the targets, moves all dependencies to a !ios condition block, with the plan being to move many of them back to the main dependencies section as they come online.
While this is arguably uglier than using a separate file in the short term, in the long term the targets will look essentially like this just with many of the dependencies moved back where they were, so this is a clearer step toward the final state.
Note that this target won't actually build yet; this is just enough that 'gclient runhooks' will succeed.
BUG=None
TEST=None (an FYI bot building all.gyp:All will follow later)
Review URL: https://chromiumcodereview.appspot.com/10695060
git-svn-id: http://src.chromium.org/svn/trunk/src/build@145205 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
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