shaka-packager/packager
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
..
app Fix python linter errors and add linter checks to CI 2021-06-21 21:46:48 +00:00
buildtools/third_party Update DEPS to fix mac build failure 2016-08-19 13:49:41 -07:00
file Workaround warning spam using http_file 2021-06-22 11:57:51 -07:00
hls fix: Explicitly signal the lack of CEA captions in HLS 2021-03-30 18:26:37 +00:00
media build: Stop using hermetic clang, libc++, etc 2021-07-29 13:54:44 -07:00
mpd Add segment_list support for DASH on-demand profile 2021-05-25 12:08:58 -07:00
testing build: Stop using hermetic clang, libc++, etc 2021-07-29 13:54:44 -07:00
third_party build: Stop using hermetic clang, libc++, etc 2021-07-29 13:54:44 -07:00
tools Fix python linter errors and add linter checks to CI 2021-06-21 21:46:48 +00:00
version Fix python linter errors and add linter checks to CI 2021-06-21 21:46:48 +00:00
common.gypi build: Stop using hermetic clang, libc++, etc 2021-07-29 13:54:44 -07:00
packager.cc Add segment_list support for DASH on-demand profile 2021-05-25 12:08:58 -07:00
packager.gyp Fix Windows shared_library builds 2021-06-15 13:16:47 -07:00
packager.h Add cc_index to stream descriptor. 2021-02-17 18:33:53 +00:00
packager_test.cc Return an error when seeing duplicated outputs 2018-11-27 22:38:48 +00:00
protoc.gypi Support generation of libpackager.so (shared_library) 2017-06-13 20:42:32 +00:00
status.cc Fix error code message for trick play error 2018-12-13 00:26:55 +00:00
status.h Cleans up Status class 2018-01-31 03:32:07 +00:00
status_macros.h Generate full segment after cue point 2018-03-27 19:14:26 +00:00
status_test_util.h Implement multi DRM support. (Part 1) 2018-03-03 01:39:16 +00:00
status_unittest.cc Cleans up Status class 2018-01-31 03:32:07 +00:00