Fuchsia support has been upstreamed into Clang, so the existing
Linux-hosted Clang toolchain binaries in third_party with the correct
--target are sufficient. Fuchsia is POSIXy so a lot of things will just
work, but some places will require different implementations, so this CL
adds support for is_fuchsia as well as a basic implementation of the
toolchain config.
The SDK (headers, sysroot, etc.) is currently available at
go/fuchsia-sdk until a standard location for it is decided upon.
The near term goal behind this CL is to bring up base/ and net/ on an
fyi bot running Fuchsia.
BUG=706592
Review-Url: https://codereview.chromium.org/2784063002
Cr-Original-Commit-Position: refs/heads/master@{#471360}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2f97ee120e2d83a87e36e50432b58e790db160ff
build_config.h *looks* like a list of all of the OS_* macros, but it is
missing OS_CHROMEOS. This can lead to confusion. Documenting OS_CHROMEOS
here makes build_config.h the source of truth that developers already
assume that it is.
Review-Url: https://codereview.chromium.org/2130543002
Cr-Original-Commit-Position: refs/heads/master@{#436217}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8ad45afb36ab22013743ec48c7d1b34fc3bdd810
ui/views/BUILD.gn adds this as a define in gn, so rely on that on Windows
just like we do on other platforms that use views. No intended behavior
change.
BUG=
Review-Url: https://codereview.chromium.org/2479913002
Cr-Original-Commit-Position: refs/heads/master@{#430017}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b0df253516308e693edfe25b161efd3db85f980d
This switches the USE_OPENSSL Linux and CrOS builds to continue
setting USE_NSS_CERTS. This lets it use BoringSSL for the crypto
and SSL stack and NSS for certificate verification. See design
doc for details on the flags:
https://docs.google.com/document/d/1x4DOCKwFkAxl9MGfd6snIzFigO4ku6Shuci0r5BzasQ/edit
On Linux, only client auth and OCSP stapling are missing. On ChromeOS,
there are some problematic USE_NSS_CERTS APIs in RSAPrivateKey to
resolve. We also still need to resolve crbug.com/347404 to maintain
parity.
As a follow-up, USE_OPENSSL_CERTS on non-Android can now be
removed (it was never supported anyway).
BUG=462040
Review URL: https://codereview.chromium.org/881213004
Cr-Original-Commit-Position: refs/heads/master@{#326222}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2bcbc6bceb6017c762ef01553a55a12fe390de16
USE_NSS is confusing because it's not actually the analog of USE_OPENSSL; it's
the analog to USE_OPENSSL_CERTS. This is in preparation for the chimera build
which will set USE_OPENSSL and USE_NSS(_CERTS).
This CL was partially done automatically by the following command:
git grep -l USE_NSS | xargs sed -i -e 's/defined(USE_NSS)/defined(USE_NSS_CERTS)/'
The remaining were caught by the following command and fixed manually:
git grep 'USE_NSS\([^_]\|$\)'
Finally, the following command verified nothing in a separate repository was
sensitive to this change:
find . -name '*.cc' -o -name '*.h' | xargs grep 'USE_NSS\([^_]\|$\)'
For now, the old name is still defined, but not used within Chromium.
A follow-up CL will remove deprecated use_nss and USE_NSS #defines
together which will then cause downstream churn. Though from a grep
of known downstreams, the churn seems to be fairly minimal. The
removal is split from this CL so that, if we need to revert, the
CL to revert is small.
TBR=pneubeck@chromium.org
BUG=462040
Review URL: https://codereview.chromium.org/1082123003
Cr-Original-Commit-Position: refs/heads/master@{#325710}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 71f35ff13af84be1b97483307e050d83c2179134
PNaCl toolchain starts to support "Non-SFI build binary" mode.
Some sources are built both for SFI binary and for Non-SFI binary, but, in some
cases, there are small diffs which need to be guarded by #ifdef.
In "Non-SFI build binary" mode, __native_client_nonsfi__ is defined.
This CL introduce OS_NACL_SFI and OS_NACL_NONSFI which can be used among the
chrome code, to slightly simplify the #ifdef conditions.
This CL is the follow up of crrev.com/659243002
BUG=358465
TEST=Ran trybot.
Review URL: https://codereview.chromium.org/664373003
Cr-Original-Commit-Position: refs/heads/master@{#301603}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f7295f2e7b0c17a7784f23e06b924ab966fea3a8
Move the include of the Mac TargetConditionals.h file to after we've
checked if we're building for Android. Apparently this file doesn't
exist on all macs used to build android and the rest of android builds
fine without it, so including it there causes the build to fail. It
appears to only be used to test TARGET_OS_IPHONE which will never be
true on android.
BUG=
Review URL: https://codereview.chromium.org/538563002
Cr-Original-Commit-Position: refs/heads/master@{#293495}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ecb23485e511b4c9eaf6e20ee48c21f216abe523
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
Add support for the architecture to build/build_config.h (define
new macro ARCH_CPU_ARM64 to identify the CPU architecture and
set the other appropriate macros to 1).
Fix DEBUG_BREAK_ASM() macro to expand to the correct instruction
on arm64 cpu (as instruction set is not compatible with previous
version of ARM instruction sets).
BUG=339477
R=mark@chromium.org
Review URL: https://codereview.chromium.org/145273028
git-svn-id: http://src.chromium.org/svn/trunk/src/build@249246 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
An "#ifdef" statement is more confusing than using C++ syntax and
"if (XXX)". They should be used only when strictly necessary (i.e. when
code cannot compile).
For the cases where #ifdef are not strictly necessary, these new helpers can
be used.
Thanks to compiler optimization, the final compiled code will be the
same when these helpers are used instead of #ifdef.
R=rsesek@chromium.org
Review URL: https://codereview.chromium.org/103293003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@239079 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
uClibc pretends to be glibc, so just checking for __GLIBC__ doesn't always
work. Rather than check for defined(__GLIBC__) && !defined(__UCLIBC__) in
multiple places, do it once and define LIBC_GLIBC if we're certain that we're
really using glibc.
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/15405003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@201761 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is part of the effort to bring TCMalloc to android.
The first goal is to get instrumentation to facilitate
integration with DMP and memory profiling.
This is not yet intended for full production usage as the
default allocator.
BUG=162208
Review URL: https://chromiumcodereview.appspot.com/14321006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@201524 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The Android port relies on the global define ANDROID to identify that
we are crosscompiling for Android, but __APPLE__ was being checked first
in build_config.h, and so builds on a Mac sometimes ended up with the
wrong OS_* macro defined. Reorder the list so that ANDROID is tested
first, as it will only be set manually when crosscompiling (__APPLE__ is
set internally by the compiler).
BUG=
Review URL: https://chromiumcodereview.appspot.com/13541003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@192303 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This was a #define that was added when we were deciding
whether we should use the bytecode interpreter or FreeType's
autohinter when rendering UI text on Chrome OS. The text
had different heights depending on which setting was used,
so a bunch of constants were special-cased when BCI was
enabled. We've been using the autohinter for a long time,
and we'll need to update lots of newer code if we decide to
switch to BCI someday.
BUG=none
TEST=UI text looks the same as before
TBR=tony@chromium.org,davemoore@chromium.org,zork@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10828336
git-svn-id: http://src.chromium.org/svn/trunk/src/build@151928 4ff67af0-8c30-449e-8e8b-ad334ec8d88c