We want 'use_system_harfbuzz' to always be false unless you are
building against a real ChromeOS sysroot targeted for an actual
device (i.e., just building with chromeos=1 isn't good enough).
This CL changes the defaults for the variables and fixes a few
unnecessary dependencies in the pangocairo pkg-config settings
in GYP that were causing us to get strange linker errors.
With this change, CrOS builds will need to explicitly set
use_system_harfbuzz=true, we will no longer try to guess
whether to use it or not.
R=drott@chromium.org, behdad@chromium.org
BUG=589342
Review URL: https://codereview.chromium.org/1862893002
Cr-Original-Commit-Position: refs/heads/master@{#385487}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 518b35929ff33d0dc2397a186eecbc3b536acb40
This relands https://codereview.chromium.org/1773233002/.
Original description:
Media Galleries Partial Deprecation: Remove image metadata & libexif.
Removing libexif is a great thing.
It will remove a ~200KB DLL from Windows, Mac, and ChromeOS. It will remove bugs and security issues.
BUG=542912,577272
TBR=
Review URL: https://codereview.chromium.org/1803883002
Cr-Original-Commit-Position: refs/heads/master@{#381121}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cd96b6f874573d7089bf2eb9d54ed53d7469bb56
Reason for revert:
Causes build errors on official waterfall.
https://bugs.chromium.org/p/chromium/issues/detail?id=593580
Original issue's description:
> Media Galleries Partial Deprecation: Remove image metadata & libexif.
>
> Removing libexif is a great thing.
>
> It will remove a ~200KB DLL from Windows, Mac, and ChromeOS. It will remove bugs and security issues.
>
> BUG=542912,577272
>
> Committed: https://crrev.com/f3890c75101ff9b07f48aed992285cc45bf5b4d5
> Cr-Commit-Position: refs/heads/master@{#380306}
TBR=phajdan.jr@chromium.org,rdevlin.cronin@chromium.org,thakis@chromium.org,tommycli@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=542912,577272
Review URL: https://codereview.chromium.org/1791623002
Cr-Original-Commit-Position: refs/heads/master@{#380852}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0978e4ebde4a1c07f4e8da88cc9daa7732a63b1a
Removing libexif is a great thing.
It will remove a ~200KB DLL from Windows, Mac, and ChromeOS. It will remove bugs and security issues.
BUG=542912,577272
Review URL: https://codereview.chromium.org/1773233002
Cr-Original-Commit-Position: refs/heads/master@{#380306}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f3890c75101ff9b07f48aed992285cc45bf5b4d5
The move to libvpx_new happened before M47 (landed in 2524, M47 branch was 2526):
crbug.com/481034
https://codereview.chromium.org/1323333002
Clients which try to transition directly between the tree after this change and before the previous move will end up in a very broken state.
Now it is 6 months later and M48 is stable so is unlikely that a client would check out the old code at all, much less try to transition directly between the two versions.
Leave a compatibility layer for targets which need to be updated out of band (webrtc, libyuv)
Review URL: https://codereview.chromium.org/1734613003
Cr-Original-Commit-Position: refs/heads/master@{#378739}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8cdf034791388299f18fba186f2941313320b706
Since we added udev to the sysroot /usr/lib/pkgconfig
now already exists (previously only /usr/lib/<arch>/pkgconfig
existed) so simply using 'mv' to rename the directory
is no longer enough.
BUG=561584
Review URL: https://codereview.chromium.org/1699353002
Cr-Original-Commit-Position: refs/heads/master@{#376030}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5c9493141fbc4afb6de44f31964adb01e4bfa4c0
The primary change/advantage here is gcc-4.8 and the
more recent libstdc++.
TEST=build chrome against the new sysroot
Review URL: https://codereview.chromium.org/1663863003
Cr-Original-Commit-Position: refs/heads/master@{#373405}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3bde47dff9fe951e18bdf71de95e358c84fcb7f1
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
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
This change bring is in following change to sysroot
contents:
82063a2: Add chromeos-specific packages to linux sysroot image
34a5998: Add more packages to the Wheezy sysroot
BUG=576807
Review URL: https://codereview.chromium.org/1576293002
Cr-Original-Commit-Position: refs/heads/master@{#369012}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fdd653a846bb55e0d2795bbe0f481c923d485b6e
x11proto-xinerama-dev is needed by libxinerama-dev, libxdmcp-dev is used
by xcb.
With this change (and after regenerating the sysroot), it is possible to
run gn and configure the build without having a single pkg-config in the
host system (tested on amd64).
R=sbc@chromium.org,dpranke@chromium.org
Review URL: https://codereview.chromium.org/1539393002
Cr-Original-Commit-Position: refs/heads/master@{#367302}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 34a5998d2a36de0149470d23b7f98df863e61d21
For some reason our intranet here is blocking googleapis.com.
Actually other tools that are updated via runhooks are using
that alias url already (e.g. clang).
Review URL: https://codereview.chromium.org/1534873002
Cr-Original-Commit-Position: refs/heads/master@{#366481}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: dbf2f363526a4a1fc90af90206a2e0e7761eb75d
This brings in the following changes to the sysroot:
- d746383 Include /usr/share/pkgconfig files in sysroot image
- 475c72a Add libpthread-stubs0-dev to sysroot image
BUG=569947
Review URL: https://codereview.chromium.org/1536433003
Cr-Original-Commit-Position: refs/heads/master@{#365655}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2199e4c1c2619ba1996515bccf7b5e33226b5662
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 is required by the xcb pkg-config file but
has gone unnoticed since most host systems have this
installed.
BUG=569949
Review URL: https://codereview.chromium.org/1530683003
Cr-Original-Commit-Position: refs/heads/master@{#365384}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 475c72a09a1167c4cf70fa99503a7f3fa3117f79
The gn bots require both host and target sysrot images
installed. This change is needed to convert the Linux
ARM bot gn.
BUG=564059
Review URL: https://codereview.chromium.org/1499313002
Cr-Original-Commit-Position: refs/heads/master@{#363916}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b564072892d52a11ae26004739111409be25ec44
This removes some of the smarts that relied on GYP_DEFINES being set.
With the move to GN, GYP_DEFINES will often not be set.
BUG=564869
Review URL: https://codereview.chromium.org/1493913002
Cr-Original-Commit-Position: refs/heads/master@{#363218}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 38d1fc620f41e8994079eb8532ed12631863d4c6
Reason for revert:
Couldn't reproduce the failure.
Original issue's description:
> Revert of Use sysroot by default for all linux builds (patchset #7 id:120001 of https://codereview.chromium.org/1464983003/ )
>
> Reason for revert:
> Seems to have caused issues with goma: https://code.google.com/p/chromium/issues/detail?id=560973
>
> Original issue's description:
> > Use sysroot by default for all linux builds
> >
> > Using a sysroot was already the default for official
> > build and when cross compiling (e.g. arm, mips, x86-32).
> > This change makes it the default in all cases.
> >
> > The old behavior of building against local
> > system libraries can still be achieved by
> > setting use_sysroot=0
> >
> > BUG=504446
> >
> > Committed: https://crrev.com/a931efd5dc8d8783ce73a64fc641627866b6869d
> > Cr-Commit-Position: refs/heads/master@{#361197}
>
> TBR=dpranke@chromium.org,thestig@chromium.org,thakis@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=504446
>
> Committed: https://crrev.com/05373dc078f0d5d3f2fb1398db9a4008a55d9016
> Cr-Commit-Position: refs/heads/master@{#361405}
TBR=dpranke@chromium.org,thestig@chromium.org,thakis@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=504446
Review URL: https://codereview.chromium.org/1472873004
Cr-Original-Commit-Position: refs/heads/master@{#361411}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 964155752e49f75260e86ba824fcec81b3fd4c3d
Reason for revert:
Seems to have caused issues with goma: https://code.google.com/p/chromium/issues/detail?id=560973
Original issue's description:
> Use sysroot by default for all linux builds
>
> Using a sysroot was already the default for official
> build and when cross compiling (e.g. arm, mips, x86-32).
> This change makes it the default in all cases.
>
> The old behavior of building against local
> system libraries can still be achieved by
> setting use_sysroot=0
>
> BUG=504446
>
> Committed: https://crrev.com/a931efd5dc8d8783ce73a64fc641627866b6869d
> Cr-Commit-Position: refs/heads/master@{#361197}
TBR=dpranke@chromium.org,thestig@chromium.org,thakis@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=504446
Review URL: https://codereview.chromium.org/1473363002
Cr-Original-Commit-Position: refs/heads/master@{#361405}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 05373dc078f0d5d3f2fb1398db9a4008a55d9016
Using a sysroot was already the default for official
build and when cross compiling (e.g. arm, mips, x86-32).
This change makes it the default in all cases.
The old behavior of building against local
system libraries can still be achieved by
setting use_sysroot=0
BUG=504446
Review URL: https://codereview.chromium.org/1464983003
Cr-Original-Commit-Position: refs/heads/master@{#361197}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a931efd5dc8d8783ce73a64fc641627866b6869d
Also, the extra libdrm dependencies needed.
The packagelists were updated by running:
./sysroot-creator-wheezy.sh UpdatePackageListsAll
BUG=559062
Review URL: https://codereview.chromium.org/1464123002
Cr-Original-Commit-Position: refs/heads/master@{#361035}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a0e3d0246001dd352580e670d34b7163fd2351ea
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
This is required by Android since it builds both 64 and 32 bit v8
snapshots, which need to be built on the host by toolchains with the matching bit-width.
BUG=552040
Review URL: https://codereview.chromium.org/1430143002
Cr-Original-Commit-Position: refs/heads/master@{#359212}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 79822596ae07da6b5b7c9a43d2c7bfffc3fa0d06
The is_headless setting configures the build in the same
way as the embedded flag in gyp.
Contributions by Alexander Timin <altimin@chromium.org> and
Alex Clarke <alexclarke@chromium.org>.
BUG=546953,318413
Review URL: https://codereview.chromium.org/1410883007
Cr-Original-Commit-Position: refs/heads/master@{#359096}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a557457caccb3c0f60e5d35ccc8c55af5849d76a
Leaves the previous version in place but updates BUILD.gn and libvpx.gn to point to the new version. This allows decoupling the WebRTC update which is also in DEPS.
libvpx DEPS changes ac1772e:0d6551
https://codereview.chromium.org/1339033002https://chromium-review.googlesource.com/299759https://codereview.chromium.org/1350853003https://codereview.chromium.org/1353433003
Copy directory to libvpx_new to avoid breaking bisecting. This allows the user to move between and older and newer revision. A followup to rename libvpx_new to libvpx will come in some ~months because there are additional complications if one tries to sync directly from pre-move to post-rename or the other way around.
Remove WATCHLISTS and codereview.settings from _new and use the parent versions.
Add DEPS file to enumerate the #include paths.
Check out third_party/libvpx_new/source/libvpx directly from upstream project
Update all the easy clients of libvpx to depend on the new tree directly.
ac1772e3db
BUG=481034
R=tomfinegan@chromium.org,brettw@chromium.org,phajdan.jr@chromium.org
Review URL: https://codereview.chromium.org/1323333002
Cr-Original-Commit-Position: refs/heads/master@{#349789}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5238138a422157576799266228c0c9ee174936ae
This fixes a build break for linux chromeos:
gyp: Dependency '/b/build/slave/linux_chromeos/build/src/build/linux/system.gyp:libdrm#target' not found while trying to load target /b/build/slave/linux_chromeos/build/src/content/content_shell_and_tests.gyp:vaapi_jpeg_decoder_unittest#target
BUG=531814
TEST=gclient runhooks with "use_ozone=1 chromeos=1"
Review URL: https://codereview.chromium.org/1346003002 .
Cr-Original-Commit-Position: refs/heads/master@{#349057}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 35ecf40fb75893838295418d07fa5d37bcca10d7
This is a software-only platform that was used early in the process
of bringing up the Chrome OS ozone/freon (no X11) build. It's time to
remove it because it now requires not only scary flags to get it going,
but also a patch (https://codereview.chromium.org/1216303004/).
If we need a build with software rasterization let's use vgem+swrast like
our VMtests do.
BUG=531814
TEST=link still works fine with platform=gbm
Review URL: https://codereview.chromium.org/1345703002
Cr-Original-Commit-Position: refs/heads/master@{#349012}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d0620b8a4b025b5d808644068d155e07dcaa0276
This library is used by Chrome on Chrome OS to allocate accelerated
graphics buffers. The version avaiable on Ubuntu is too old, and as a
result we can't run unit tests for the gbm platform code on developer
workstations or on the waterfall.
This adds the library to third_party and fixes up the build files to use
either the OS copy (for Chrome OS release builds) or gardened copy (for
testing on the waterfall) depending on the value of "use_system_minigbm".
BUG=530712
TEST=
GYP_DEFINES="use_ozone=1 chromeos=1 ozone_platform_gbm=1 use_system_minigbm=0" gclient runhooks
ninja -C out/Release ozone_unittests
./out/Release/ozone_unittests
gn gen out_gn_ozone --args='target_os="chromeos" use_ozone=true ozone_platform_gbm=true use_system_minigbm=false'
ninja -C out_gn_ozone ozone_unittests
./out_gn_ozone/Release/ozone_unittests
Review URL: https://codereview.chromium.org/1341473003
Cr-Original-Commit-Position: refs/heads/master@{#348758}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c231bffd37754a1ab09fbbb4a1260438be638df4
Reason for revert:
Caused check_licenses to fail:
https://build.chromium.org/p/chromium/builders/Linux/builds/66701
Original issue's description:
> Fix typo in install-sysroot.py
>
> install-sysroot.py was intended to default to installing
> the sysroot ia32, but within this script 'i386' is used to
> refer to this architecture.
>
> This most likely went unnoticed since the ia32 builder
> either use branding=Official, or explicitly set
> use_sysroot=1, or have a complete set of packages for
> cross building on the host system.
>
> BUG=504446
>
> Committed: https://crrev.com/1d62049b4c176fbd43bed90fc9a76273b11ad406
> Cr-Commit-Position: refs/heads/master@{#347821}
TBR=dpranke@chromium.org,sbc@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=504446
Review URL: https://codereview.chromium.org/1315773003
Cr-Original-Commit-Position: refs/heads/master@{#347839}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3b27a2de111759359162bcad49753e17ee1cf002
install-sysroot.py was intended to default to installing
the sysroot ia32, but within this script 'i386' is used to
refer to this architecture.
This most likely went unnoticed since the ia32 builder
either use branding=Official, or explicitly set
use_sysroot=1, or have a complete set of packages for
cross building on the host system.
BUG=504446
Review URL: https://codereview.chromium.org/1317973005
Cr-Original-Commit-Position: refs/heads/master@{#347821}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 1d62049b4c176fbd43bed90fc9a76273b11ad406
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
I found this issue, while trying to use libdrm with some custom changes
and not installed in the default system path. We are already checking
drm system library and cflags using pkg, this patch extends it for
the directory too.
Review URL: https://codereview.chromium.org/1254133009
Cr-Original-Commit-Position: refs/heads/master@{#342229}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d1c9e302bc024e90299771d20b59bc6b5d18d999