shaka-packager/packager/media
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
..
base Added MPEG-H support (mha1, mhm1) 2021-06-29 23:10:53 -07:00
chunking Fix vector+unique_ptr issues with MSVS 2019 2021-06-14 12:17:24 -07:00
codecs Properly handle AVC profiles with SPS extension 2020-08-05 17:08:53 -07:00
crypto Add flag for extra PlayReady header data. 2020-06-22 22:55:25 +00:00
demuxer Make WebVttParser a MediaParser. 2020-09-16 20:12:48 +00:00
event build: Stop using hermetic clang, libc++, etc 2021-07-29 13:54:44 -07:00
formats Added MPEG-H support (mha1, mhm1) 2021-06-29 23:10:53 -07:00
origin Address gcc build failures in some platforms 2017-12-07 11:45:26 -08:00
public Support different IVs for each track (#793) 2020-06-25 20:37:50 -07:00
replicator Address gcc build failures in some platforms 2017-12-07 11:45:26 -08:00
test Support Dolby Vision backward compatible profiles 2020-02-11 05:24:09 +00:00
trick_play [DASH] Support TrickPlay using separate trick play specific streams (#736) 2020-03-24 12:15:30 -07:00