shaka-packager/packager
Joey Parrish b411af7ed9
ci: Produce static release executables on Linux (#978)
We never produced static release executables on Linux before, but the dynamic libraries they depended on were universal enough that nobody noticed. Now that we have released v2.5 and switched to GitHub Actions for CI builds, the Linux executables depend on libatomic, which is causing issues for some users.

Although we can't create fully-static executables on macOS or Windows, we can at least do so on Linux.

This adds a GYP variable static_link_binaries which can be set to request full-static binaries on Linux. This also exposes the Chromium build variable disable_fatal_linker_warnings, which is necessary when static linking on Linux due to static-link-related warnings generated by libcurl for its use of getaddrinfo. Finally, this enforces the definition of __UCLIBC__ with static linking on Linux, which is the only way to disable malloc hooks in Chromium base. Those hooks cause linker failures when linking statically on Linux.

A new check has been added to the release workflow to ensure that the builds we create are statically linked on Linux.

Closes #965
2021-08-12 20:14:43 -07:00
..
app cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
buildtools/third_party Update DEPS to fix mac build failure 2016-08-19 13:49:41 -07:00
file cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
hls cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
media cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
mpd cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +00:00
testing build: Stop using hermetic clang, libc++, etc 2021-07-29 13:54:44 -07:00
third_party build: Disable CPU-specific optimizations in libpng 2021-08-04 12:27:10 -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 ci: Produce static release executables on Linux (#978) 2021-08-12 20:14:43 -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 cleanup: Convert all time parameters to signed 2021-08-05 18:24:15 +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