Release builds with the Jessie sysroot currently have a dependency on
libglib2.0-0 (>= 2.41.1). However, the version of libglib packaged
with Trusty is only 2.40. This means users won't be able to install a
debian package on Trusty compiled with the Jessie sysroot.
This CL sets GLIB_VERSION_MAX_ALLOWED to 2.32, because that is the
version that ships with Wheezy. We can't use a later minimum glib
version because we still build with the Wheezy sysroot, and macro
versions later than GLIB_VERSION_2_32 are not defined. Keeping it at
2.32 is not harmful.
R=dpranke@chromium.org,thestig@chromium.org
Review-Url: https://codereview.chromium.org/2707203007
Cr-Original-Commit-Position: refs/heads/master@{#452749}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d92ddb31281a028252ed844d200fc58a0efec783
Reason for revert:
Breaks official Android builds, see https://bugs.chromium.org/p/chromium/issues/detail?id=676894
Original issue's description:
> Validate origins when generating subdomain tokens
>
> Subdomain tokens will match against any subdomains of the given origin.
> This relaxed matching should not be applied when subdomains represent
> separate logical sites (e.g. <user>.github.io). Thus, subdomain tokens
> are not to be issued for such domains. For more detail, see the last
> question in the Origin Trials developer guide:
> https://github.com/jpchase/OriginTrials/blob/gh-pages/developer-guide.md
>
> This CL adds a utility to validate that a origin is not found in the
> Public Suffix List. The token generation script will now call the
> utility to check the origin, only for subdomain tokens. The utility
> is used when the generation script is manually run by the origin
> trials team to issue tokens. The intent is to automate the origin
> checks, to reduce the number of manual steps in issuing tokens.
>
> BUG=658856
>
> Committed: https://crrev.com/6205808cb4e9c61264e4aa48676e2f5833a61326
> Cr-Commit-Position: refs/heads/master@{#440554}
TBR=iclelland@chromium.org,agrieve@chromium.org,rdsmith@chromium.org,rsleevi@chromium.org,brettw@chromium.org,chasej@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=658856
Review-Url: https://codereview.chromium.org/2605563003
Cr-Original-Commit-Position: refs/heads/master@{#440670}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 14e7a72edd0b2d0b313d047e33069cebc76cc0ab
Subdomain tokens will match against any subdomains of the given origin.
This relaxed matching should not be applied when subdomains represent
separate logical sites (e.g. <user>.github.io). Thus, subdomain tokens
are not to be issued for such domains. For more detail, see the last
question in the Origin Trials developer guide:
https://github.com/jpchase/OriginTrials/blob/gh-pages/developer-guide.md
This CL adds a utility to validate that a origin is not found in the
Public Suffix List. The token generation script will now call the
utility to check the origin, only for subdomain tokens. The utility
is used when the generation script is manually run by the origin
trials team to issue tokens. The intent is to automate the origin
checks, to reduce the number of manual steps in issuing tokens.
BUG=658856
Review-Url: https://codereview.chromium.org/2456053004
Cr-Original-Commit-Position: refs/heads/master@{#440554}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6205808cb4e9c61264e4aa48676e2f5833a61326
That way, buildtools/third_party/libc++/BUILD.gn can opt out of it,
fixing a TODO and a link-time warning when linking libc++. Once that's
done, we can enable warnings-as-errors for links in asan builds.
(Currently, warnings-as-errors-for-links is enabled everywhere except
asan and chromecast builds.)
No intended behavior change.
BUG=669072
TBR=brettw
Review-Url: https://codereview.chromium.org/2537493002
Cr-Original-Commit-Position: refs/heads/master@{#435255}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5b58fafbaa929d521e638c16ff638a433ae63f2f
Moves the global build flag from build/config/ui.gni to a separate file in a new "gtk" directory.
Create a virtual target to forward to the correct GTK implementation as needed.
Review-Url: https://codereview.chromium.org/2514413002
Cr-Original-Commit-Position: refs/heads/master@{#433644}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cdf496ad123d8b43452d65a81f76cbd26d348ebf
This CL adds libgtk3ui.so to supplement libgtk2ui.so so that the
builders can build using gtk3 without having to link the chrome binary
against it (or link against any component that links against it).
The next step is to add the target libgtk3ui to gn_all.
BUG=132847
R=erg@chromium.org,dpranke@chromium.org, sky@chromium.orgTBR=brettw@chromium.org
NOPRESUBMIT=true
Review-Url: https://codereview.chromium.org/2449243002
Cr-Original-Commit-Position: refs/heads/master@{#427927}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 215681db8aa96912f9ce19f9e1fffe38681e1af9
This change adds a confirmation dialog for the It2Me Linux host. This
dialog will be displayed when an incoming It2Me connection and will wait
up to 60 seconds for the user to accept/reject it. If the user accepts
the connection then we will complete the conneciton process, otherwise
the incoming request will be rejected.
BUG=645540
Review-Url: https://codereview.chromium.org/2343443002
Cr-Original-Commit-Position: refs/heads/master@{#418611}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6243fba501529b041abd75c9554157d70bd14d74
|use_gconf| was added back in commit 2f4a32e98 ("linux gn config should
check use_gconf before looking for it with pkg-config") back when the
pkg-config calls to atk and gconf were grouped together within a single
if check.
Since then, commit 95ba4446 ("Move linux pkg_config() calls into
separate BUILD.gn files") has split all the pkg-config checks. As atk
itself does not depend on gconf, we can drop use_gconf from the
assertion in atk's BUILD.gn.
R=brettw@chromium.org,dpranke@chromium.org,mostynb@opera.com
BUG=632297
Review-Url: https://codereview.chromium.org/2241513002
Cr-Original-Commit-Position: refs/heads/master@{#411440}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9ca5a503b8f28258126226df203bef7fd316dfad
Often times dbus dependencies get added without proper guards.
By guarding the component with assert(use_dbus) it forces proper guarding
when depending on dbus. This prevents downstream breakages in
chromecast.
BUG=internal b/28962923
Review-Url: https://codereview.chromium.org/2009983002
Cr-Original-Commit-Position: refs/heads/master@{#396948}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a12e5a5b7a36268c6196d0ab185a0d8f6cf1441c
Nacl uses its own toolchain with the target sysroot.
System libdir should be respected with that toolchain too.
BUG=606432
Review URL: https://codereview.chromium.org/1914103002
Cr-Original-Commit-Position: refs/heads/master@{#389830}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a82baa163c5969ef8f4733ecfeb5fe20cf51cd13
This showed up as a bottleneck for gn gen on Android. Refactoring these
out improves gn gen time (avg of 3 trails on my machine) from 2151->1984
BUG=none
Review URL: https://codereview.chromium.org/1909273002
Cr-Original-Commit-Position: refs/heads/master@{#389484}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 95ba4446355ffd95eca68d3c3ba7fc3c2e364b6d
Explicitly: This reverts the patch that reverted the patch that
removed the majority of absolute paths from linux builds, and makes
it possible to use an absolute path by setting dont_embed_build_metadata
to false.
In conjunction with codereview.chromium.org/1642193002 that modifies the codesearch
buildbot to use dont_embed_build_metadata = false, this CL should allow
codesearch to continue working, and all other buildbots and users
to gain the benefits of not requiring absolute paths.
BUG=580103
Review URL: https://codereview.chromium.org/1643523004
Cr-Original-Commit-Position: refs/heads/master@{#373432}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4b6f030a35226c0d6e412b1025e791e5391b1455
This change helps to reduce the external dependencies for OEMs to support cast_shell.
Updates third_party/libpng so it can be used as a dependency for freetype on Chromecast.
Remove the gyp variable use_custom_freetype because it is now unused.
BUG=internal b/26249831
TEST=builds and runs with gyp and gn
Review URL: https://codereview.chromium.org/1627533002
Cr-Original-Commit-Position: refs/heads/master@{#372996}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0ddf78a46654c13f9ee7de921a820087f45375e3
To avoid breakge on platforms that don't support cairo or pango, the
declaration of the "pangocairo" pkg-config target should be guarded by
these feature flags. Also update offending callsites.
BUG= b/26908482
Review URL: https://codereview.chromium.org/1657143002
Cr-Original-Commit-Position: refs/heads/master@{#372956}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a08ad8436ec87b7018facc26e535c3788d5de73f
Without this change when system_libdir is set (e.g.
to lib64) it would apply this to all toolchains
including the host toolchain.
Review URL: https://codereview.chromium.org/1583093002
Cr-Original-Commit-Position: refs/heads/master@{#371875}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d4566597ab32adc5586831308625c0de954e4920
[Note: Dependency claims are only valid on Linux builds]
This change removes absolute file paths from several locations in
produced binaries, reducing the total number of files containing
absolute file paths from ~30k to ~4k.
Specifically, this removes absolute paths from:
.rodata (sysroot based)
.debug_str, .debug_info (debug prefix based)
.debug_line (debug prefix and sysroot based)
.debug_info still contains (on Linux) 22 absolute paths, but
as discussed below, this is most likely simple to resolve.
This can be measured by using
$ find out/Default/ -type f | grep -v ninja | xargs -I '{}' grep -l \
'absolute-path-component' '{}' | wc -l
Before: 30420
After: 3917 (https://gist.github.com/anonymous/fd870076c990fcf792c7)
The remaining instances mostly originate from NaCL not
having the flag enabled. Enabling requires updating the
toolchain's version of clang to newer than release 3.8
Generated ninja files still have some absolute file paths. At
the very least, they contain -fdebug-prefix-map=/ABSOLUTE/PATH/TO/DIR.
This will be removed later.
BUG=439949
Review URL: https://codereview.chromium.org/1556923002
Cr-Original-Commit-Position: refs/heads/master@{#370320}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fdca0741b22a4dddbf1808b8d0081651662b22c5
Previously we were using PKG_CONFIG_PATH to tell pkg-config
to search the sysroot directories. However the default
libpath is always added to this path, so pkg-config would
fall back to looking in the system directories.
Using PKG_CONFIG_LIBDIR instead overrides the default
libdir which makes the build more hermetic and forces the
sysroot to provide all the required .pc files.
Review URL: https://codereview.chromium.org/1580643002
Cr-Original-Commit-Position: refs/heads/master@{#369224}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4d4a9acde47d5e955c12eb0bf3feaa800c2a6f55
When invoking pkg_config_script directly, it is important to pass
|pkg_config_args| together with the other arguments wanted, otherwise
parameters such as --sysroot will not be passed to the pkg-config.py
wrapper. In practice, this means that the libraries in the sysroots will
not be used and the dependencies will be unconditionally looked for in
the host system.
R=sbc@chromium.org,dtseng@chromium.org,dmazzoni@chromium.org,dpranke@chromium.org
Review URL: https://codereview.chromium.org/1536423003
Cr-Original-Commit-Position: refs/heads/master@{#369204}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 403ef7949f66bc95994276fa153a4e8e6464e68b
While making a seperate change I noticed this script
could use a re-factor.
- Add --debug/-d flag to output extra information to stderr.
- Move main logic into main() function (makes script more easily testable).
- Add #! line to make script runnable.
Review URL: https://codereview.chromium.org/1577163002
Cr-Original-Commit-Position: refs/heads/master@{#368967}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 688a776fea591ac9b292730e1f8ae708b15cf809
This change makes gn's pkg-config.py match more
closely the behavior of pkg-config-wrapper.
pkg-config-wrapper is always run with the third
argument set to '<(system_libdir)', which defaults to
'lib', which means that gyp never using lib64 in
practice. Even though system_libdir is supported in
gyp, there is currently no equivalent that I can find
in gn, so I left a TODO.
This change is required before we can land the sysroot
change that populates /usr/lib/pkgconfig:
https://codereview.chromium.org/1531513002
BUG=569947
Review URL: https://codereview.chromium.org/1530723002
Cr-Original-Commit-Position: refs/heads/master@{#365415}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b05b60bf32ce6f01253888ad0a0d1e0cbdac84b0
This adds the wayland library to third_party and libffi
as a build dependency on linux. libffi is already a run-time
dependency as libgobject depends on it.
BUG=549782
Review URL: https://codereview.chromium.org/1426583009
Cr-Original-Commit-Position: refs/heads/master@{#359701}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 754ca2c474484f29b3b33c1d2f1909c6a3193260
Nobody actually needs to remove these, so I merged them with the runtime library configs that don't need to be referenced by the BUILDCONFIG.gn file.
This adds a posix BUILD.gn file. More stuff from the compiler config can go here in the future. For now, it just has the sysroot setup for Posix.
Review URL: https://codereview.chromium.org/1367403002
Cr-Original-Commit-Position: refs/heads/master@{#352077}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 888b65f239fb3154c4adbe3fb3c42eae164f1031
libevdev-cros is not needed for the host tooling, and is not availale for
the host in a chroot chromeos building environment.
BUG=527996
Review URL: https://codereview.chromium.org/1322343002
Cr-Original-Commit-Position: refs/heads/master@{#347531}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 97739b5fcf32a746c38d8142bff56d0072953dbf
This adds a "use_gtk3" gyp/gn flag, along with a separate gtk2/gtk3
targets in system.gyp and //build/config/linux/gtk[23] in gn.
BUG=132847
Review URL: https://codereview.chromium.org/1293073006
Cr-Original-Commit-Position: refs/heads/master@{#346742}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b8f8f682a82bce992edb35c3030214ede236d3ba
The //build/config/linux library defined a number of targets
built through the generate_library_loader target. All of these
are fairly chrome-specific, so having them defined in the
//build/config/linux file made it harder to reuse that file
in non-chrome GN builds (like native_client).
This CL moves the targets out to a new //build/linux directory
and updates the callers accordingly.
R=brettw@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1314163005
Cr-Original-Commit-Position: refs/heads/master@{#346242}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ad0c1f495eca0968601ea74254b86fb91d412eb0
When specifying both --libs-only-l and --libs-only-L to
pkg-config, the results from the latter are not included.
This feels like a bug in pkg-config, reported upstream:
https://bugs.freedesktop.org/show_bug.cgi?id=91689
Our pkg-config.py wrapper can use --libs instead of the
flags mentioned above- this includes flags from both but
maybe also some additional flags (eg -rdynamic).
BUG=522564
Review URL: https://codereview.chromium.org/1291803008
Cr-Original-Commit-Position: refs/heads/master@{#344260}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f5c7b1a39088d8b2f78132b5488319d986abd16a
Uses forward_variables_from for some obvious cases not including the Android build, and use the template() function in the component() definition.
Remove uses of component_mode since I want to delete that.
Review URL: https://codereview.chromium.org/1265263002
Cr-Original-Commit-Position: refs/heads/master@{#341767}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a09029884e02a3c027a485877886cf75969f6b3d