Bug 1410475: Add support for detecting whether c-c is topdir in mozconfigs; r=mshal

MozReview-Commit-ID: DYveJX8J3lr

--HG--
extra : rebase_source : d98a7be704dae5058c0e06490e077c81d6b8a781
This commit is contained in:
Tom Prince 2017-10-19 13:56:13 -06:00
Родитель ac36ad85a7
Коммит 4b8f90917d
1 изменённых файлов: 49 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,49 @@
# This file exists to support comm-central from building with mozilla-central
# as a subdirectory to building as a subdirectory of mozilla-central.
# In order to have mozconfig files that support building in either
# configuration during the transition, without duplicating the logic
# in every mozconfig file, there needs to exist a file that exists at the
# same path in mozilla-central and comm-central.
# This file gets included under two circumstances.
# 1. comm-central is being built as a subdirectory of mozilla-central.
# 2. comm-central is being built as a parent directory of mozilla-central,
# but `mach` was invoked from the objdir and thinks that $topsrcdir is
# the mozilla-central directory. If we detect this is the case, we fix
# $topsrcdir before proceeding.
# In either case, we then invoke the identically named file that lives in
# comm-central, which sets some variables that can be used by the rest of the
# mozconfig.
# Note that the top-level mozconfig file is in $2.
if [ "$(dirname "$2")" = "$topsrcdir" ]; then
# No weirdness
if [ -d "$topsrcdir/mail" ]; then
# Building with comm-central as top-level directory.
echo "ERROR: Should not include mozilla/build/mozconfig.comm when building"
echo " with comm-central as top-level directory."
exit 1
elif [ -d "$topsrcdir/comm/mail" ]; then
# Building with mozila-central as top-level directory.
. "$topsrcdir/comm/build/mozconfig.comm-support"
else
echo "ERROR: Unknown build directory layout."
exit 1
fi
elif [ "$(dirname "$2")" = "$(dirname "$topsrcdir")" ]; then
if [ -d "$topsrcdir/../mail" ]; then
# Building with comm-central as top-level directory;
# but invoked with $topsrcdir as "mozilla/".
topsrcdir=$(dirname "$topsrcdir")
. "$topsrcdir/build/mozconfig.comm-support"
else
echo "ERROR: Unknown build directory layout."
exit 1
fi
else
echo "ERROR: Unknown build directory layout."
exit 1
fi