Build settings are coming from the Chromium build settings in packager/build/common.gypi.
We need to override those settings and set CLANG_CXX_LIBRARY = libc++ for MacOSX builds.
packager/common.gypi does some override but only for packages that explicitly include it.
We want a global override.
Introduce packager/common_overrides.gypi which is injected as an argument to gyp in gyp_packager.py
When gyp is generating the ninja files a circular dependency error is reported:
packager/media/file/file.gyp -> packager/media/base/media_base.gyp -> packager/media/file/file.gyp
This isn't a problem with ninja, but presumably is a problem with Xcode.
Change gyp_packager.py to use "--no-circular-check" for all generators except xcode
- Check if 'output_dir=' is already defined in GYP_GENERATOR_FLAGS
before appending the one generated in the script.
- Reusing out/ with different GYP_DEFINES causes everything to rebuild.
- This change allows the user to use different directories for different
GYP_DEFINES; it can make sanity checking faster for different
GYP_DEFINES.
Change-Id: Iffa6880381dabdd80a3aa7777a1d20cc3900f3e3
For mp4 outputs, a metadata box with version information is added to
moov box.
For mpd outputs, a text comment with version information is added in
the beginning of mpd file.
Issue #60
Change-Id: I783ba370781c0a8f77c910ff1172bad2e7edff75
The bundled gold (third_party/gold) does not work on Ubuntu 64bit server.
Did some benchmarking on some systems: the build is around 1% faster,
which is not significant.
"gold" tool will still be pulled in using gclient. It can be enabled via
GYP_DEFINES flag:
GYP_DEFINES="linux_use_gold_binary=1 linux_use_gold_flags=1" gclient runhooks
Issue: 7
Change-Id: Ic5a83368e0e475280f6722ddbd3f5cead2276712
"{} {}" formatting in python is introduced in version 2.7. Replaced
with "{0} {1}" to support python 2.6 and below.
Change-Id: Ic20fdc5fce554a5a5cb57383d5587581f70de598
gyp and gyp_helper path are obtained dynamically. Pylint generates
format checker warning. The Workaround is recommended by:
http://google-styleguide.googlecode.com/svn/trunk/pyguide.html.
Although the style guide prefers using symbolic names, which is
supported since pylint 0.25.3, the depot_tools/pylint is 0.25.1.
Change-Id: I6c9bc21a46102f38cab68c07c98339003cbd6991
build/gyp_chromium uses gyp_helper to get variables for GYP from
chromium.gyp_env file.
More on chromium.gyp_env can be found here
http://www.chromium.org/developers/how-tos/component-build
This is useful if you want to override some GYP varibles to test
different flags, e.g. using clang to build.
Change-Id: I14fc76abdd6503bf66ef3e27fb9216b3fb8aaa02
This is for cross platform support. gyp_packager.py is modified
from build/gyp_chromium and adapted to packager code.
New build instructions:
1. Setup gyp: ./gyp_packager.py
clang is not enabled by default, which can be enabled by overriding
GYP_DEFINE environment variable, i.e. "GYP_DEFINES='clang=1
use_openssl=1' ./gyp_packager.py".
Ninja is the default build system. User can also change to make by
overriding GYP_GENERATORS to make, i.e. "GYP_GENERATORS='make'
./gyp_packager.py".
2. The first step generates the make files but does not start the
build process. Ninja is the default build system. Refer to Ninja
manual on how to do the build.
Common syntaxes: ninja -C out/{Debug/Release} [Module]
Module is optional. If not specified, build everything.
Step 1 is only required if there is any gyp file change. Otherwise, you
may just run ninja.
Change-Id: I89cade7278bfdd3992644457e896e5a10085568b