Reason for revert:
Breaks builds where use_udev==0 since certain targets just assume udev and never check against use_udev.
Udev package should be wrapped in a use_udev confitional altogether and all the locations using Udev should check against use_udev.
Original issue's description:
> Run pkg-config for Udev only if use_udev==1
>
> Some embedded platforms do not have udev support. The change will skip
> running pkg-config if use_udev=0.
>
> BUG=none
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=288770TBR=brettw@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/469763002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@289280 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
When CL 430573002 landed, it forced the use of libpci on linux, but
many embedded systems lack this library (and probably lack a pci bus
altogether). Let's add a new config variable to make it possible to
disable the use of libpci.
BUG=398416
Review URL: https://codereview.chromium.org/462433002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@289262 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is a reland of r284079 which was reverted in r284248 for components build
issues. That, in turn, was a reland of r283813 which was reverted in r283845
because it broke WebRTC tests on Android. That, in turn, was a reland of
r283542 which was reverted in r283591 because it broke the WebView build.
This is a much larger change than its diff suggests. If it breaks
something, please revert first and ask questions later.
BUG=393317
R=agl@chromium.org, jam@chromium.org
Review URL: https://codereview.chromium.org/401153002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@284729 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
(This is a reland of r283813 which was reverted in r283845 because it broke
WebRTC tests on Android. That, in turn, was a reland of of r283542 which was
reverted in r283591 because it broke the WebView build.)
This is a much larger change than its diff suggests. If it breaks
something, please revert first and ask questions later.
BUG=none
Review URL: https://codereview.chromium.org/401613008
git-svn-id: http://src.chromium.org/svn/trunk/src/build@284079 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The //build directory in GN shouldn't refer to anything outside of itself so that non-Chrome projects can copy it and re-use the build configuration. speechd relies on third_party/speech-dispatcher. This patch just moves the loader to the speech-dispatcher target, which makes more sense anyway.
TBR=grunell@chromium.org
Review URL: https://codereview.chromium.org/377403002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@282138 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
We already have a variable for tracking the system libdir name in the
gyp files, so let's use that instead of hardcoding the logic based on
the arch.
BUG=chromium:219015
TEST=`cbuildbot amd64-generic-tot-chrome-pfq-informational` works
Review URL: https://codereview.chromium.org/244593002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@272792 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Speculative revert because we think this might have caused Mac Build bot
failure "gyp: Call to 'python ../../../build/mac/find_sdk.py 10.6' returned exit status -9."
> ozone: Add egltest platform
>
> This supports testing rendering using EGL. Creation of the
> EGLNativeWindowType is punted to a separate library, which has an
> interface defined in eglplatform_shim.h.
>
> TEST=content_shell --ozone-platform=egltest --ignore-gpu-blacklist
> BUG=none
> NOTRY=true
>
> Review URL: https://codereview.chromium.org/288603002TBR=spang@chromium.org
Review URL: https://codereview.chromium.org/288013002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@270474 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This supports testing rendering using EGL. Creation of the
EGLNativeWindowType is punted to a separate library, which has an
interface defined in eglplatform_shim.h.
TEST=content_shell --ozone-platform=egltest --ignore-gpu-blacklist
BUG=none
NOTRY=true
Review URL: https://codereview.chromium.org/288603002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@270471 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The status quo was unmaintainable. These 'component build specific .isolate
files' are superseeded by tools/isolate_driver.py which packages dynamic
libraries automatically.
The new way is much more sane and dynamic, isolate_driver.py is currently very
crude but 'does the job', the expected way to make it work is to read the .ninja
files to extract all the dynamic libraries marked as a dependency to the main
target being executed.
TBR=csharp@chromium.org
BUG=333473
Review URL: https://codereview.chromium.org/226123004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@261871 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Since r257419, linker warning starts to cause the build failure.
This CL is fixing some linker warnings on cross compilation build so that build with target_arch=ia32 option works properly.
Here are the error logs:
/usr/bin/ld: skipping incompatible /lib/x86_64-linux-gnu/libgcrypt.so when searching for -lgcrypt
/usr/bin/ld: skipping incompatible /lib/x86_64-linux-gnu/libgcrypt.a when searching for -lgcrypt
/usr/bin/ld: skipping incompatible /lib/x86_64-linux-gnu/libcap.so when searching for -lcap
/usr/bin/ld: skipping incompatible /lib/x86_64-linux-gnu/libcap.a when searching for -lcap
/usr/bin/ld: warning: libgnutls.so.26, needed by /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib32/libcups.so, may conflict with libgnutls.so.28
BUG=n/a
TEST=build with GYP_DEFINES=target_arch=ia32, run trybot.
Review URL: https://codereview.chromium.org/202633008
git-svn-id: http://src.chromium.org/svn/trunk/src/build@259463 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Right now when supplying a 32-bit sysroot via the 'sysroot' GYP flag on a 64-bit host arch,
pkg-config (and pkg-config-wrapper) fail to generate the correct 32-bit paths within that sysroot.
The solution is to chroot into that directory and run pkg-config from there.
This is intended to work with schroot scripts like 'precise32' generated when running build/install-chroot.sh
BUG=324207
R=piman@chromium.org
Review URL: https://codereview.chromium.org/163583003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@251353 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
chrome/browser/extensions/extension_commands_global_registry_apitest.cc,
which is linked into interactive_ui_tests, uses some functions from libXtst
and thus should declare a dependency on xtst. The only other file that uses
the XTest.h header is in remoting, which declares an xtst dependency already.
This lets us drop the dependency from glib on xtst since most targets don't need
it.
R=phajdan.jr
BUG=339518
Review URL: https://codereview.chromium.org/153893011
git-svn-id: http://src.chromium.org/svn/trunk/src/build@250585 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This converts the remaining targets that depend on X11 libraries over to
depending on targets from build/linux/system.gyp instead of adding the
libraries manually to the link line. This ensures that the link line is
generated with pkg-config and makes the dependencies a bit tighter by
getting rid of the all_dependent_settings entry in ui/ui.gyp
BUG=339518
Review URL: https://codereview.chromium.org/151713003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@250311 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This sets up gyp targets for the various X11 libraries we use and uses
pkg-config to determine the correct cflags/ldflags incantations to use to
link against them instead of listing out -lXfoo lines in libraries sections
in gyp targets throughout the tree. This is more likely to generate the right
lines and makes the dependencies a bit more explicit.
BUG=339518
Review URL: https://codereview.chromium.org/153223002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@248939 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The `file` program follows POSIX as outlined here:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/file.html
Specifically, this part causes troubles:
If the file named by the file operand does not exist, cannot be read, or
the type of the file named by the file operand cannot be determined, this
shall not be considered an error that affects the exit status.
With older versions of `file` (that does not conform to POSIX), this
script will exit 0 with "unknown" as its output when "$1" does not exist.
But with recent releases (that conform to POSIX), this script will exit 1
and can break the build.
Have the script explicitly check for the existence of $1 and if it does
not exist, then runt he unknown logic like normal.
BUG=chromium:332547
TEST=ran python_arch.sh on bogus files with new & old `file` programs
Review URL: https://codereview.chromium.org/137433002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@244778 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The dependency is unnecessary and causes build error in the standalone webrtc project due to missing base.gyp when SCTP is enabled (it depends on usrsctp.gyp, which depends on system.gyp). All system.typ needs from base.gyp is the "include_dirs" pointing to ".." relative to "base". So we can remove the dependency on base.gyp and add "include_dirs":["../.."] instead.
BUG=
Review URL: https://codereview.chromium.org/128933005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@243863 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
armhf (hardware float) is the ubuntu default these
days so should be used over armel in most cases.
Also, the chromium ARM/linux test hardware is
running armhf.
This CL does not change the default or remove armel
support. That is left for a future CL.
BUG=308256
Review URL: https://codereview.chromium.org/27197011
git-svn-id: http://src.chromium.org/svn/trunk/src/build@231487 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The GpsLocationProvider is not actually used anywhere, and has most likely bit
rotted after years of no maintenance. It is brittle code written for a
specific version (3.1) of gpsd that is now outdated.
The only Chrome version that had this feature enabled (ChromeOS) makes no use
of it as no hardware was ever shipped that used GPS.
TBR=jam,brettw
Review URL: https://codereview.chromium.org/25752005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@227104 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The linux_aura port didn't deal with multiple monitors very well because
it was treating the X root window as one big display. When xrandr is
present, get the screen areas from it, and exposes this data back to
chrome.
This patch also factors out the EDID parser than chromeos was using into
a common directory. Like chromeos, we use it to assign stable display
IDs.
BUG=287972
R=brettw@chromium.org, derat@chromium.org, sky@chromium.org
Review URL: https://codereview.chromium.org/23536057
git-svn-id: http://src.chromium.org/svn/trunk/src/build@225054 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This adds a g_type_init() call to the beginning of the test,
apparently needed for GLib version earlier than 2.36.
Original change:
linux: Avoid leak in PlatformFontPangoTest.FamilyList.
Call FcFini() at the end of the test to prevent FontConfig
from leaking memory.
BUG=114750
TBR=sky@chromium.org,behdad@chromium.org
Review URL: https://chromiumcodereview.appspot.com/20910002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@214638 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Sometimes ld.so.conf has pattern include like "include ld.so.conf.d/*.conf",
but there is no files that match pattern. In this case "for" loop in process_ld_so_conf
function fails with error "No such file or directory".
This patch uses "ls" to check that pattern matches at least one file.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/19044004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@214230 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is to move back icu headers in
third_party/icu/public/{i18n,common}/unicode back to their upstream
locations in third_party/icu/source/{i18n,common}/unicode.
http://codereview.chromium.org/18836004 has is a CL to move
ICU header files.
Roll ICU to the version with the above ICU CL (http://crrev.com/211851 ).
In addition to the global replacement of third_party/icu/public with third_party/icu/source, the top-level DEPS, DEPS in printing and chrome/ are tightened up. (the latter two were too permissive (it used to allow any header from third_party/icu).
Besides, sync '-foo' list in ios/public/DEPS with '+foo' in the top-level DEPS and build/linux/unbundled/icu.gyp is updated.
BUG=251433
TEST=Compile succeeds on all bots. checkdeps.py does not find any error.
TBR=brettw,sky,wtc
Review URL: https://chromiumcodereview.appspot.com/18252003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@212324 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
speech-dispatcher 0.8 has changed the location where the libspeechd.h header
file is installed, and users are expected to reference it from the top-level
directory, ie.
#include <speech-dispatcher/libspeechd.h>
Version 0.8 also installs a .pc pkg-config file.
Since speech-dispatcher 0.7 is still very widespread, we cannot assume this new
structure and .pc file are always available, so resort to adding the
"speech-dispatcher/" prefix to the #include based on whether `pkg-config
--exists' does not fail.
Arguably, we should also start calling `pkg-config --{cflags,libs-only-l,etc}',
but not having the .pc file always available would make the changes more
complicated. Since everything has worked so far without that, keeping the
status quo for now should be fine.
BUG=
TEST=Build with speech-dispatcher >= 0.8 installed.
Review URL: https://chromiumcodereview.appspot.com/14296005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@195204 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Added call to a new script in:
build/install-build-deps.sh
to download and install the ChromeOS default font
(Noto Sans UI). The installation is in:
/usr/local/share/fonts.
ChromeOS on Linux will use the font if present.
The installation creates (or recreates) a subdir:
"chromeos". In it it creates a .stamp file which is used
to avoid re-installation if it is already up to date.
It also creates a README file.
BUG=148945
TEST=manual;
One way to test is to instrument the file:
src/ui/gfx/platform_font_pango.cc
to log default_font_->GetFontName(); in ctor
PlatformFontPango::PlatformFontPango()
Expect:
W/out font installation: DejaVu Sans
With font installation: Noto Sans UI
Review URL: https://chromiumcodereview.appspot.com/12313039
git-svn-id: http://src.chromium.org/svn/trunk/src/build@184006 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
install-arm-sysroot.py is now seperated out from
install-build-deps.sh so that it can be invoked
independently by the gclient hooks.
This addresses a couple of different issues with
configuring the arm buildbots. Firstly it means
that they will always have an up-to-date arm
sysroot installed. Secondly, it means the script
is always run as the user (and not as root) which
mean the expanded files that the correct ownership.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11468014
git-svn-id: http://src.chromium.org/svn/trunk/src/build@171990 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
base/base.gypi:
- Add native_library_linux.cc to the openbsd build.
- Add '..' to include_dirs so that OS_* definitions are
available in symbolize.cc
base/debug/debugger_posix.cc:
- Add support for figuring out if the process is being
debugged on OpenBSD by sharing some code with Mac.
base/process_util_unittest.cc:
- Disable the OutOfMemoryTest on OpenBSD
base/third_party/symbolize/symbolize.cc:
- Include the correct elf header on OpenBSD
build/linux/system.gyp:
- The dl library is linux only, so only use it there.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8329023
git-svn-id: http://src.chromium.org/svn/trunk/src/build@106078 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
. aura is never built with gtk anymore. So it's not necesary to disable GTK
events in the message-pump.
. Make sure glib headers are included when building non-gtk aura.
. Update the 'glib' target to include gobject-2.0 and gthread-2.0 packages.
BUG=none
TEST=aura_builder builds on linux with use_aura=1
Review URL: http://codereview.chromium.org/8144009
git-svn-id: http://src.chromium.org/svn/trunk/src/build@104165 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Explicitly disable GTK by setting TOOLKIT_USES_GTK. This is the first in a series of changes required to have chrome on aura build and link without GTK. This CL makes base/ build without GTK. Subsequent CLs will do this for other components.
BUG=97131
TEST=none
Review URL: http://codereview.chromium.org/7904034
git-svn-id: http://src.chromium.org/svn/trunk/src/build@102005 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Clean up SSL false start blacklist code. Numerous changes, including:
* Handle trailing dots in LastTwoLabels() as in http://codereview.chromium.org/7518035/ . Rename this function to LastTwoComponents() to match the terminology used in the RegistryControlledDomainService and elsewhere in Chrome.
* Since callers are using std::string anyway, make the functions in the header take const std::string& instead of char*. This also allows doing string operations on them.
* Use string operations (like find_last_of()) in place of hand-written algorithms, for brevity, clarity, and safety.
* Avoid "unsigned", which the style guide forbids, and use allowed types like size_t, uint32, or int (depending on the situation).
* Avoid #define and "using".
* Use standard algorithms for similar reasons as using string ops.
* Use file_util functions to significantly abbreviate file reading/writing code.
* Use wmain() (on Windows) in combination with FilePath to avoid issues if the provided pathname has extended characters that don't flatten losslessly to the default codepage (thanks Darin for pointing out this issue).
* Avoid casting where possible. Avoid some casts for printf()-style calls by using a string stream, which also allows for slightly less boilerplate.
* Convert non-error uses of stderr to the chrome-standard VLOG(1).
* Correctly handle hostnames with trailing dots in the input file.
* In general, shorten code where possible.
Because this adds a dependency on base, and ssl_false_start_blacklist_process has the "#host" specifier in net.gyp, bradnelson tells me that base and its dependencies need an explicit "host, target" toolchain list for the Linux builds to work correctly. It would be nice if we could avoid this but I guess gyp would have to be smarter or something.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7903016
git-svn-id: http://src.chromium.org/svn/trunk/src/build@101378 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Clean up SSL false start blacklist code. Numerous changes, including:
* Handle trailing dots in LastTwoLabels() as in http://codereview.chromium.org/7518035/ . Rename this function to LastTwoComponents() to match the terminology used in the RegistryControlledDomainService and elsewhere in Chrome.
* Since callers are using std::string anyway, make the functions in the header take const std::string& instead of char*. This also allows doing string operations on them.
* Use string operations (like find_last_of()) in place of hand-written algorithms, for brevity, clarity, and safety.
* Avoid "unsigned", which the style guide forbids, and use allowed types like size_t, uint32, or int (depending on the situation).
* Avoid #define and "using".
* Use standard algorithms for similar reasons as using string ops.
* Use file_util functions to significantly abbreviate file reading/writing code.
* Use wmain() (on Windows) in combination with FilePath to avoid issues if the provided pathname has extended characters that don't flatten losslessly to the default codepage (thanks Darin for pointing out this issue).
* Avoid casting where possible. Avoid some casts for printf()-style calls by using a string stream, which also allows for slightly less boilerplate.
* Convert non-error uses of stderr to the chrome-standard VLOG(1).
* Correctly handle hostnames with trailing dots in the input file.
* In general, shorten code where possible.
Because this adds a dependency on base, and ssl_false_start_blacklist_process has the "#host" specifier in net.gyp, bradnelson tells me that base and its dependencies need an explicit "host, target" toolchain list for the Linux builds to work correctly. It would be nice if we could avoid this but I guess gyp would have to be smarter or something.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7804001TBR=pkasting@chromium.org
Review URL: http://codereview.chromium.org/7778035
git-svn-id: http://src.chromium.org/svn/trunk/src/build@98917 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Clean up SSL false start blacklist code. Numerous changes, including:
* Handle trailing dots in LastTwoLabels() as in http://codereview.chromium.org/7518035/ . Rename this function to LastTwoComponents() to match the terminology used in the RegistryControlledDomainService and elsewhere in Chrome.
* Since callers are using std::string anyway, make the functions in the header take const std::string& instead of char*. This also allows doing string operations on them.
* Use string operations (like find_last_of()) in place of hand-written algorithms, for brevity, clarity, and safety.
* Avoid "unsigned", which the style guide forbids, and use allowed types like size_t, uint32, or int (depending on the situation).
* Avoid #define and "using".
* Use standard algorithms for similar reasons as using string ops.
* Use file_util functions to significantly abbreviate file reading/writing code.
* Use wmain() (on Windows) in combination with FilePath to avoid issues if the provided pathname has extended characters that don't flatten losslessly to the default codepage (thanks Darin for pointing out this issue).
* Avoid casting where possible. Avoid some casts for printf()-style calls by using a string stream, which also allows for slightly less boilerplate.
* Convert non-error uses of stderr to the chrome-standard VLOG(1).
* Correctly handle hostnames with trailing dots in the input file.
* In general, shorten code where possible.
Because this adds a dependency on base, and ssl_false_start_blacklist_process has the "#host" specifier in net.gyp, bradnelson tells me that base and its dependencies need an explicit "host, target" toolchain list for the Linux builds to work correctly. It would be nice if we could avoid this but I guess gyp would have to be smarter or something.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7804001
git-svn-id: http://src.chromium.org/svn/trunk/src/build@98885 4ff67af0-8c30-449e-8e8b-ad334ec8d88c