N.B. I had to move the sawbuck_provider in the .wxs out of the
installation directory. Even though it only contains registry changes,
candle will complain if it is not inside a directory, but the
application directory is platform specific, whereas sawbuck_provider is
always 32-bit.
BUG=394467
Review URL: https://codereview.chromium.org/398173002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@284007 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
If we omit the frame pointer on Arm64 there is no way for
breakpad to correctly symbolize stack traces which contain
stack frames for which we don't have CFI information (e.g.,
system libraries like libc.so). This is because the Arm64
ABI does not specify where a frame pointer should be in a
stack frame, so, without CFI information, there is no way
to calculate the start of the caller's frame if the caller
omits the frame pointer.
More details are on the bug.
BUG=391706
Review URL: https://codereview.chromium.org/381923002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@282370 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The existing safe_browsing=2 only exercises the code path using
flywheel protection. safe_browsing=1 uses new code path that
combines full safe browsing and flywheel.
However, the full safe browsing feature is controlled by Finch
experiment. Without Finch experiment setup, the behavior is the
same as before, i.e., only Flywheel safe browsing is enabled.
BUG=381896
Review URL: https://codereview.chromium.org/343183002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@281991 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Broke Android compile:
FAILED: cd ../../net; python ../build/android/gyp/pack_arm_relocations.py "--enable-packing=0" "--stripped-libraries-dir=../out/Release/gen/stripped_libraries" "--packed-libraries-dir=../out/Release/net_unittests_apk/libs/armeabi-v7a" "--libraries-file=../out/Release/net_unittests_apk/native_libraries.json" "--stamp=../out/Release/net_unittests_apk/pack_arm_relocations.stamp"
Traceback (most recent call last):
File "../build/android/gyp/pack_arm_relocations.py", line 108, in <module>
sys.exit(main())
File "../build/android/gyp/pack_arm_relocations.py", line 99, in main
CopyArmLibraryUnchanged(library_path, output_path)
File "../build/android/gyp/pack_arm_relocations.py", line 58, in CopyArmLibraryUnchanged
shutil.copy(library_path, output_path)
File "/usr/lib/python2.7/shutil.py", line 117, in copy
copyfile(src, dst)
File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 2] No such file or directory: u'../out/Release/net_unittests_apk/libs/armeabi-v7a/libnet_unittests.so'
ninja: build stopped: subcommand failed.
> Add gyp machinery to build with packed ARM relative relocations.
>
> Add gypi and python files to support packing ARM relative relocations
> during the build process.
>
> Define a use_relocation_packer gyp variable to turn ARM relocation
> packing on and off (currently set to 0).
>
> BUG=385553
>
> Review URL: https://codereview.chromium.org/358863002TBR=simonb@chromium.org
Review URL: https://codereview.chromium.org/370633002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@281303 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Add gypi and python files to support packing ARM relative relocations
during the build process.
Define a use_relocation_packer gyp variable to turn ARM relocation
packing on and off (currently set to 0).
BUG=385553
Review URL: https://codereview.chromium.org/358863002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@281286 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Reason for revert:
Linux dbg builder runs out of memory
Original issue's description:
> Adding -g3 to get macro expansion support. (Default is -g2.)
> Adding -gdwarf-4 for macro expansion support.
>
> * gcc 4.6 outputs DWARF-2 by default
> * gcc 4.7 outputs DWARF-4 by default
> * clang <3.4 outputs DWARF-3 by default
> * clang >3.4 outputs DWARF-4 by default
>
> From http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html
> > -g3
> > Level 3 includes extra information, such as all the macro
> > definitions present in the program. Some debuggers support macro
> > expansion when you use -g3.
> >
> > -gdwarf-4
> > Produce debugging information in DWARF format (if that is
> > supported). The value of version may be either 2, 3 or 4; the
> > default version for most targets is 4. Note that with DWARF
> > Version 2, some ports require and always use some non-conflicting
> > DWARF 3 extensions in the unwind tables.
> >
> > Version 4 may require GDB 7.0 and -fvar-tracking-assignments for
> > maximum benefit.
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=257944
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=280980TBR=mark@chromium.org,mithro@mithis.com,thestig@chromium.org
NOTRY=true
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/366963002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@280986 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Adding -gdwarf-4 for macro expansion support.
* gcc 4.6 outputs DWARF-2 by default
* gcc 4.7 outputs DWARF-4 by default
* clang <3.4 outputs DWARF-3 by default
* clang >3.4 outputs DWARF-4 by default
From http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html
> -g3
> Level 3 includes extra information, such as all the macro
> definitions present in the program. Some debuggers support macro
> expansion when you use -g3.
>
> -gdwarf-4
> Produce debugging information in DWARF format (if that is
> supported). The value of version may be either 2, 3 or 4; the
> default version for most targets is 4. Note that with DWARF
> Version 2, some ports require and always use some non-conflicting
> DWARF 3 extensions in the unwind tables.
>
> Version 4 may require GDB 7.0 and -fvar-tracking-assignments for
> maximum benefit.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=257944
Review URL: https://codereview.chromium.org/198363002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@280980 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The only difference is that ChromeVox is flattened and compressed from
the individual source files instead of taken froma closure compiled version
from upstream. Deleting the precompiled js binaries and removing support
for using that version will be done in a follow-up cl when this has
been used on canary/dev for a while.
BUG=371692
Review URL: https://codereview.chromium.org/336253003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@280048 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
1. Static linking (the way it is done today)
2. Standalone dynamic data file bundled with the application
3. Dynamic data file downloaded via the Component Updater
This change does NOT switch any implementation to a different cld data source.
Android/iOS remain pinned to CLD1, and all platforms continue to statically
link the data with cld2_data_source="static".
This change has several important side effects:
1. The gyp variables "cld2_dynamic" and "cld2_is_component" have been removed.
There is now a single variable, "cld2_data_source", that defines which
implementation is to be used.
2. cld_component_installer.[h,cc] and cld_component_installer_unittest.cc are
now conditionally built if and only if cld2_data_source=="component" and
have direct dependencies upon components/translate/content/browser.
3. Almost all preprocesser checks for the CLD data source have been removed,
greatly simplifying code flow. The logic previously gated by these checks
has been split into separate implementation classes whose inclusion is
controlled by the cld2_data_source gyp variable.
For more information, refer to crbug/383769.
BUG=383769
Review URL: https://codereview.chromium.org/333603002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@279415 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Reason for revert:
Media tests started failing consistently after this: http://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20Tests%20%28tsan%29%281%29?numbuilds=200
It doesn't look super related, but the <() / >() change in common.gypi looks a bit suspicious, so revert this speculatively and see if it helps.
Original issue's description:
> - Enable FIXED_POINT for Opus when building for arm64. This yields:
> ~21% speed up over floating point.
> 2.6% increase in executable size.
> - Also switched to late expansion of release_optimize in common.gypi (debug_optimize was already using it). This makes it possible to set optimization level via release_optimize in lower level targets.
>
> - Enable -O3 for Opus when building form arm32/arm64. This yields:
> arm32: Speed increase up to 21% (encode) and 5% (decode).
> arm32: 2.8% increase in executable size.
> arm32: Output is bit exact with the output when -Os is used.
> arm64: Speed increase up to 18% (encode) and 25% (decode).
> arm64: 7.4% increase in executable size.
> arm64: Output is exact within one LSB (max difference is 2) with the arm32 output.
>
> Measured using webrtc/audio_codec_speed_tests.
>
> BUG=chromium:354539
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=277414
TBR=tlegrand1, Sergey Ulanov, Solis
NOTRY=true
NOTREECHECKS=true
Review URL: https://codereview.chromium.org/349293006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@279198 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
By setting msan_track_origins, the user can now choose between no origin
tracking (0), simple tracking (1) and chained origins (2). The default is
still 1.
Note that this doesn't affect instrumented libraries build, and is not
currently compatible with instrumented libraries for values of
msan_track_origins other than 1.
BUG=178409
TBR=glider@chromium.org, thakis@chromium.org
NOTRY=true
TEST=compile
Review URL: https://codereview.chromium.org/339663009
git-svn-id: http://src.chromium.org/svn/trunk/src/build@279127 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Strictly speaking this flag isn't here to force a deterministic build, it's here to help us to make sure that no build metadata ends up in the build artifacts to help us guarantee a deterministic build.
(See the discussion in https://codereview.chromium.org/324403006/ for more details)
FTR, Nico said he'll take care of getting rid of __DATE__ and __TIME__ so this
new define will not be necessary for that.
On the other hand we may have issues with absolute path in __FILE__ and whatever
unforeseen C++ issue. This would require #ifdef'ing them out. This is not
something devs would want to do normally so this flag is off by default.
Eventually we'll want to fix the build system to not have to hack __FILE__ out
by ensuring they are *always* relative paths but until then, this variable can
be used to make progress
R=maruel@chromium.org, thakis@chromium.orgTBR=brettw@chromium.org
BUG=314403
Review URL: https://codereview.chromium.org/330813003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@278053 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
~21% speed up over floating point.
2.6% increase in executable size.
- Also switched to late expansion of release_optimize in common.gypi (debug_optimize was already using it). This makes it possible to set optimization level via release_optimize in lower level targets.
- Enable -O3 for Opus when building form arm32/arm64. This yields:
arm32: Speed increase up to 21% (encode) and 5% (decode).
arm32: 2.8% increase in executable size.
arm32: Output is bit exact with the output when -Os is used.
arm64: Speed increase up to 18% (encode) and 25% (decode).
arm64: 7.4% increase in executable size.
arm64: Output is exact within one LSB (max difference is 2) with the arm32 output.
Measured using webrtc/audio_codec_speed_tests.
BUG=chromium:354539
Review URL: https://codereview.chromium.org/315673002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@277414 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
I've started changing the way grit headers are included so the include path is relative to the root gen path (liek internal Google does). This also means we don't accumulate another implicit include path for every grit target in the build.
Updates the grit target a bit so that it also includes the generated id file as a dependency, since if this changes everything will need to be re-run.
This adds a bunch of tracing targets required by the content browser build
TBR=scottmg
Review URL: https://codereview.chromium.org/335693004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@277124 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
There's more optimization done on a PGO build than on a regular one, this results in some "Unreachable code" warnings that we don't see normally.
But probably anything that this would catch that wouldn't be caught in a normal build isn't going to actually be a bug, so the incremental value of C4702 for PGO builds is likely very small and blocks the setup of the PGO bots.
BUG=380175
Review URL: https://codereview.chromium.org/315323002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@276737 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This will be defined when a platform needs to use browser side CDM to implement
EME API. Currently this is only used on Android.
Note that MediaWebContentsObserver is shared by Android media player managers
and browser CDM managers. Since ENABLE_BROWSER_CDMS is always true on Android,
we only check ENABLE_BROWSER_CDMS to decide whether MediaWebContentsObserver
should be used. Also, in media_web_contents_observer.*, we only check
OS_ANDROID to decide whether Android media player code should be used. This is
not perfect but makes the current code simple. This will be fixed when we have
a general (not Android specic) media player manager.
TBR=yfriedman@chromium.org
BUG=315312
TEST=Compiles on Android. Test pages still work on Android. Compiles when I choose to use browser CDM on Linux.
Review URL: https://codereview.chromium.org/318753010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@276200 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
We ran "python detect_host_arch.py" ~15 times from gyp. Run
detect_host_arch.py directly from from within gyp for faster execution
and since the path is no longer part of the command, the result will
also be cached more often.
The total gain is at best 0.3 seconds. For most people it will be less.
BUG=362075
Review URL: https://codereview.chromium.org/256303003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@275361 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This makes us get XP/Server 2003 compatible metrics for window
sizes and so indirectly fixes pixels being cut off at the top
of the window.
(Server 2003 compatible metrics make us match x86 behaviour, and
since we need to maintain XP subsystem there indefinitely, I can
sort of rationalize it on that basis.)
R=jschuh@chromium.org, wfh@chromium.org
BUG=361720
Review URL: https://codereview.chromium.org/311953003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@274853 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Background: I am currently trying to test NaCl in clank by setting disable_nacl=0 and enable_plugins=1 in gyp. Some of the code required to get this to work is guarded under overly-specific OS==android and similar constructs. This first CL enables a coherent build with the flags set to gyp, but does not yet turn the functionality on completely. A sampling of issues fixed:
1) std:: prefix is more strictly observed on android
2) define NACL_LINUX, etc., is needed for nacl code
3) properly guard flag-setting code
BUG= https://code.google.com/p/nativeclient/issues/detail?id=3032R=bradnelson@google.com, darin@chromium.org
Review URL: https://codereview.chromium.org/299703016
git-svn-id: http://src.chromium.org/svn/trunk/src/build@274839 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Added a second configuration that can support two http proxies and one https proxy. In the process, added a new DataReductionProxyParams object to encapsulate static configuration details and made DataReductionSettingsAndroid a BrowserKeyedContextService.
BUG=370039
Review URL: https://codereview.chromium.org/286013002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@273810 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Seems causing failures on mac asan bots, e.g:
http://build.chromium.org/p/chromium.memory/waterfall?builder=Mac%20ASan%2064%20Tests%20(1)
> Enable mac_strip_release under ASan on OSX. Remove the .saves files.
>
> Unce upon a time the ASan runtime library used to be statically linked into
> the executables on OSX.
> Because that library provided a number of API functions needed by the shared
> libraries, we had custom ASan-specific .saves files that told the `strip`
> utility to preserve those functions when stripping the executables.
>
> Then ASan switched to using dynamic runtime library, which instantly broke the
> stripping step, because the executables weren't necessarily referencing all the
> ASan API functions (issue 242503).
> As a result, stripping has been disabled, and we haven't had .dSYM debug info
> for ASan builds for more than a year now (issue 148383).
>
> Because the ASan API functions are now undefined in the executables, it's
> actually senseless to use the .saves files to preserve those functions.
> This CL deletes the .saves files and turns mac_strip_release on for ASan
> builds.
>
> BUG=148383,242503,170739,166857
> R=mark@chromium.org
>
> Review URL: https://codereview.chromium.org/292153006TBR=glider@chromium.org
Review URL: https://codereview.chromium.org/298333007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@273302 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Unce upon a time the ASan runtime library used to be statically linked into
the executables on OSX.
Because that library provided a number of API functions needed by the shared
libraries, we had custom ASan-specific .saves files that told the `strip`
utility to preserve those functions when stripping the executables.
Then ASan switched to using dynamic runtime library, which instantly broke the
stripping step, because the executables weren't necessarily referencing all the
ASan API functions (issue 242503).
As a result, stripping has been disabled, and we haven't had .dSYM debug info
for ASan builds for more than a year now (issue 148383).
Because the ASan API functions are now undefined in the executables, it's
actually senseless to use the .saves files to preserve those functions.
This CL deletes the .saves files and turns mac_strip_release on for ASan
builds.
BUG=148383,242503,170739,166857
R=mark@chromium.org
Review URL: https://codereview.chromium.org/292153006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@273199 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Turn on ENABLE_NEW_GAMEPAD_API flag so that the new gamepad code is used.
Also remove the old code on Chromium side. The ENABLE_NEW_GAMEPAD_API is only
needed until the Blink side #ifdefs are removed.
BUG=344556
Review URL: https://codereview.chromium.org/289423004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@272723 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The refactoring in the final patchset landed as r269766 got the
condition backwards (the pre-refactoring version worked), so we were
accidentally excluding flag only on *target* builds, instead of host
builds as intended (the target compiler supports this flag). Fix it.
BUG=321833
R=primiano@chromium.org
Review URL: https://codereview.chromium.org/296273002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@272511 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Previously we would not define it in component builds because it didn't work with old versions of MSVC. These days it should work.
The macro is extra important for Clang, which doesn't currently support exceptions on Windows.
BUG=82385
Review URL: https://codereview.chromium.org/287193012
git-svn-id: http://src.chromium.org/svn/trunk/src/build@272478 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This flag defaults to true for official builds and false for unofficial builds. If the flag is false, Chromium will connect to sandbox wallet servers.
Net effect: instead of being controller by Chrome vs. Chromium, the default is controlled by Official vs. Unofficial buildtype.
BUG=334088
Review URL: https://codereview.chromium.org/288003004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@272348 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This adds tools and gyp targets to build ChromeVox directly from its original
source in the Chromium repository instead of using precompiled obfuscated
JavaScript binaries. In addition, this adds infrastructure to run
ChromeVox 'unbundled' inside of a chromeos build.
Note that this is still experimental and not enabled by default. Also, the
manifest to run ChromeVox unbundled is not provided yet.
BUG=371692
R=dtseng@chromium.org,dmazzoni@chromium.org
Review URL: https://codereview.chromium.org/299703003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@272146 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Currently:
- Based on #if, switches renderer rendering to PDF for preview
- Add PdfToEmfConvert based on PWGRasterConverter
- Various plumbing.
Preview works the same as other PDF based platforms. For getting
to EMF, the when PRINTING_WIN_USES_PDF_AS_METAFILE is on, the
renderer generates a PDF instead of EMF directly (this contains
all the pages in the desired range). This is returned to
PrintViewManagerBase, where it's passed to PdfToEmfConverter which
uses the sandboxed utility process and pdf.dll to convert via
RenderPDFPageToDC. The utility process renderers one emf page at
at time (into numbered files) to avoid having a very large emf file.
As this uses pdf.dll this is currently off-by-default controlled by
the gyp variable win_pdf_metafile_for_printing.
R=vitalybuka@chromium.org
BUG=170859
Review URL: https://codereview.chromium.org/255543006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@271772 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
[This is take three. I believe that I've now fixed all the static
initializers (including both files named debug_utils.cc that were
including <iostream>), the packaging failures, and the black border
on the app list as pointed out by mgiuca@.]
Running chrome with the "--open-ash" parameter will create an ash
desktop window. Ash on Linux has some problems, but at least we're now
compiling the code into the binary.
TODO: The applist isn't positioned correctly, and some details of the
system tray aren't correct.
BUG=300084, 303862
TBR=sky@chromium.org
First Review URL: https://codereview.chromium.org/25108005
Review URL: https://codereview.chromium.org/292443002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@271725 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Each time we add a new platform in the default build, products that want
only a single platform have to add an entry to GYP_DEFINES to turn it back
off.
This introduces a new setting, ozone_auto_platforms. If this is turned off
in GYP_DEFINES, we'll only build platforms that are explicitly enabled.
TEST=runhooks
BUG=none
Review URL: https://codereview.chromium.org/288273002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@271101 4ff67af0-8c30-449e-8e8b-ad334ec8d88c