# 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