Bug 800847: Correctly regenerate Makefiles from gyp files, and handle fancy symlinked objdirs r=ted

This commit is contained in:
Randell Jesup 2012-10-12 16:06:33 -04:00
parent 16a5b894ba
commit 31d9b62d0d
2 changed files with 14 additions and 5 deletions

View File

@ -8866,7 +8866,9 @@ fi
if test -n "$MOZ_WEBRTC"; then
AC_MSG_RESULT("generating WebRTC Makefiles...")
WEBRTC_CONFIG="-D build_with_mozilla=1 --include ${srcdir}/media/webrtc/webrtc_config.gypi"
dnl Any --include files must also appear in -D FORCED_INCLUDE_FILE= entries
dnl so that regeneration via dependencies works correctly
WEBRTC_CONFIG="-D build_with_mozilla=1 --include ${srcdir}/media/webrtc/webrtc_config.gypi -D FORCED_INCLUDE_FILE=${srcdir}/media/webrtc/webrtc_config.gypi"
GYP_WEBRTC_OPTIONS="--format=mozmake ${WEBRTC_CONFIG} ${EXTRA_GYP_DEFINES} --depth=${srcdir}/media/webrtc/trunk --toplevel-dir=${srcdir} -G OBJDIR=${_objdir}"

View File

@ -440,13 +440,20 @@ def GenerateOutput(target_list, target_dicts, data, params):
swapslashes(top),
swapslashes(src),
swapslashes(relative_srcdir))
scriptname = topsrcdir_path(__file__)
if scriptname[-4:] in ('.pyc', '.pyo'):
scriptname = scriptname[:-1]
scriptname = "$(topsrcdir)/media/webrtc/trunk/tools/gyp/pylib/gyp/generator/mozmake.py"
# Reassemble a commandline from parts so that all the paths are correct
# NOTE: this MUST match the commandline generated in configure.in!
# since we don't see --include statements, duplicate them in FORCE_INCLUDE_FILE lines
# Being in a define, they also get used by the common.mk invocation of gyp so they
# they don't disappear in the second round of tail-swallowing
forced_includes = ""
for option in options.defines:
if option[:20] == "FORCED_INCLUDE_FILE=":
forced_includes += "--include=%s" % option[20:]
commandline = [topsrcdir_path(sys.argv[0]),
"--format=mozmake",
forced_includes,
"--depth=%s" % topsrcdir_path(options.depth),
"--generator-output=%s" % objdir_path(options.generator_output),
"--toplevel-dir=$(topsrcdir)",