Commit Graph

9 Commits

Author SHA1 Message Date
Joey Parrish 68b50f656d build: Stop using hermetic clang, libc++, etc
This brings our default build config more in line with what is
necessary for some platforms anyway: using the system-installed
toolchain and sysroot to build everything.

We will no longer fetch source or binaries for any specific build
tools, such as libc++, clang, gold, binutils, or valgrind.

The main part of this change is the changing of default gyp settings
in gyp_packager.py.  For this, a bug in gyp_packager.py had to be
fixed, in which similar GYP_DEFINE key names (such as clang and
host_clang) would conflict, causing some defaults not to be installed
properly.

In order to enable clang=0 by default, some changes had to be made in
common.gypi:
  - compiler macros added to fix a compatibility issue between
    Chromium's base/mac/ folder and the actual OSX SDK
	- replaced clang_warning_flags variables with standard cflags
	  settings, plus xcode_settings for OSX
  - turned off warnings-as-errors for non-shaka code, rather than
		allow-listing specific warning types, since we can't actually fix
    those warnings on any platform
  - disabled two specific warnings in shaka code, both of which are
    caused by headers from our non-shaka dependencies

Also, one warning (missing "override" keyword) has been fixed in
vod_media_info_dump_muxer_listener.h.

Although these changes were done to make building simpler on a wider
array of platforms (arm64, for example), it seems to make the build a
bit faster, too.  For me, at least, on my main Linux workstation:
  - "gclient sync" now runs 20-30% faster
  - "ninja -C out/Release" now runs 5-13% faster

The following environment variables are no longer required:
  - DEPOT_TOOLS_WIN_TOOLCHAIN
  - MACOSX_DEPLOYMENT_TARGET
Documentation, Dockerfiles, and GitHub Actions workflows have been
updated to reflect this.

The following GYP_DEFINES are no longer required for anyone:
  - clang=0
  - host_clang=0
  - clang_xcode=1
  - use_allocator=none
  - use_experimental_allocator_shim=0
Documentation, Dockerfiles, and GitHub Actions workflows have been
updated to reflect this.

The following repos are no longer dependencies in gclient:
  - binutils
  - clang
  - gold
  - libc++
  - libc++abi
  - valgrind

The following gclient hooks have been removed:
  - clang
  - mac_toolchain
  - sysroot

Change-Id: Ie94ccbeec722ab73c291cb7df897d20761a09a70
2021-07-29 13:54:44 -07:00
Joey Parrish 56e227267c Fix python linter errors and add linter checks to CI
Internal CI systems and the new GitHub CI system were out of sync,
with the external system not doing any linting.  Further, the internal
system was using an internal-only linter for Python.

This creates a script for Python linting based on the open-source
pylint tool, checks in the Google Style Guide's pylintrc file, creates
a custom action for linting and adds it to the existing workflows,
fixes pre-existing linter errors in Python scripts, and updates pylint
overrides.

b/190743862

Change-Id: Iff1f5d4690b32479af777ded0834c31c2161bd10
2021-06-21 21:46:48 +00:00
KongQun Yang 5f48cbb0c1 Fix build failures in MacOS 10.12.6 with XCode 9.0
- Update curl to 7.57.0
- Roll clang, which is needed due to MacOS / XCode update
- Fixes and suppress compilation errors due to clang update

Fixes #285

Change-Id: Ibac3288c641861605c3c0500d34d27373e6eecfe
2018-01-05 12:21:41 -08:00
Rintaro Kuroiwa baf28815f5 Batch script should fail if ninja fails
Change-Id: I29c1db5ff049cdb322fdbbf3552e11b4e9631755
2017-04-20 21:25:10 +00:00
Rintaro Kuroiwa d320e245bb Move config files to match job configs
- The env variables that change the build configs are now defined in the
  config file.

Change-Id: Ia9428667bfd00f640a416ca2c31f155a9e9baef9
2017-04-18 21:41:19 +00:00
Rintaro Kuroiwa fe53cd0337 Fix batch script
- Miscellaneous tweaks to satisfy the builders.

Change-Id: I4874eae7b5f5cbd52c32fd12bdf83abf4c2aadc9
2017-04-14 22:02:23 +00:00
Rintaro Kuroiwa 379e9de0e8 Add presubmit config and script
- Changed continuous.bat to build.bat to share with presubmit task.
- Modified the build script to figure out the directory structure in the
  builder.

Change-Id: Id559f81e2206757f31e925cef7e3560a26d0a3ab
2017-04-13 15:18:41 -07:00
Rintaro Kuroiwa 9fa61a65c9 Fix build_file path in continuous config
Change-Id: I5759cc713891b53d025da154dbc4ef8fe59b4e25
2017-04-13 14:23:13 -07:00
Rintaro Kuroiwa d675c42bf2 Add continous testing configuration and script
- Initial script and config for windows x64.
- Add script that replaces strings in DEPS, so that it can point to
  a mirror if needed.

Change-Id: Ib94a5902dba91fe521517b01aaa439c16cccebf9
2017-04-11 16:45:27 -07:00