build/mozconfig.comm-support
author Nathan Froyd <froydnj@mozilla.com>
Wed, 03 Apr 2019 00:06:04 +0000
changeset 467750 1b9e5f4b0589a636233affb84666a469a4cc4ef5
parent 464786 2c2dd59df579888dd52057037d468cab5c316a56
permissions -rw-r--r--
Bug 1537643 - update cc crate; r=glandium This update from the official sources brings in the changes that we were using glandium's fork for, as well as changes enabling us to tweak more settings on Windows. Differential Revision: https://phabricator.services.mozilla.com/D25888

# 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 mozilla-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