build/mozconfig.cache
author Andrew Osmond <aosmond@mozilla.com>
Thu, 29 Nov 2018 14:38:28 -0500
changeset 449414 0861a85d13bb1664c019b76fc543d2679e39c99f
parent 437162 0780fdf31ce1a59db9cdaefe3319006a6e23035c
child 456423 c1a1d4380a8ede2f8f6e5050cb92a8fc0c708912
permissions -rw-r--r--
Bug 1510601 - Part 1. Move size increments into AnimationFrameBuffer::InsertInternal. r=tnikkel The size was originally incremented in AnimationFrameBuffer::Insert however if an animation was reset before we finished decoding, it would count some frames twice in the counter. Now we increment it inside InsertInternal, where AnimationFrameDiscardingQueue can make a more informed decision on whether the frame is a duplicate or not. Additionally we now fail explicitly when we insert more frames on subsequent decodes than the original decoders. This will help avoid getting out of sync with FrameAnimator. Differential Revision: https://phabricator.services.mozilla.com/D13464

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# Setup for build cache

# builds where buildprops didn't have the data (eg: taskcluster) and without sccache disabled:
if test -z "$bucket" -a -z "$SCCACHE_DISABLE" -a -z "$MOZ_PGO"; then

    # prevent rerun if az is set, or wget is not available
    if test -z "$availability_zone" -a -x "$(command -v wget)"; then
        if test -n "${TASKCLUSTER_WORKER_GROUP}"; then
            # TASKCLUSTER_WORKER_GROUP is just the region now, so
            # stick an extra character on to make the already-convoluted logic
            # here simpler.
            availability_zone="${TASKCLUSTER_WORKER_GROUP}x"
        else
            # timeout after 1 second, and don't retry (failure indicates instance is not in ec2 or network issue)
            # availability_zone is of the form <region><letter> where region is e.g. us-west-2, and az is us-west-2a
            availability_zone=$(wget -T 1 -t 1 -q -O - http://169.254.169.254/latest/meta-data/placement/availability-zone || true)
        fi
        if test -z "$availability_zone" -o "$availability_zone" = "not-ec2"; then
            availability_zone=not-ec2
        else
            # region is az with last letter trimmed
            region=${availability_zone%?}
            # set S3 bucket according to tree (level)
            case "${GECKO_HEAD_REPOSITORY}" in
            *hg.mozilla.org/try*)
                bucket=taskcluster-level-1-sccache-${region}
                ;;
            *hg.mozilla.org/integration/autoland*|*hg.mozilla.org/integration/mozilla-inbound*)
                bucket=taskcluster-level-3-sccache-${region}
                ;;
            esac

            # set a dummy master
            case "${region}" in
            eu-central-1)
                master=dummy.euc1.mozilla.com
                ;;
            us-east-1)
                master=dummy.use1.mozilla.com
                ;;
            us-west-1)
                master=dummy.usw1.mozilla.com
                ;;
            us-west-2)
                master=dummy.usw2.mozilla.com
                ;;
            esac
        fi
    fi
fi

# if platform hasn't been determined from buildprops, and we're on windows,
# it must be set to prevent adding ac_add_options --with-ccache below
if test -z "$platform"; then
    # set platform based on the SYSTEMROOT env var
    case "${SYSTEMROOT}" in
    *Windows)
        platform=windows
        suffix=.exe
        ;;
    esac
fi

if test -n "$bucket"; then
    mk_add_options "export SCCACHE_BUCKET=$bucket"
    case "$master" in
    *us[ew][12].mozilla.com*|*euc1.mozilla.com*)
        mk_add_options "export SCCACHE_NAMESERVER=169.254.169.253"
        ;;
    esac
    export CCACHE="$topsrcdir/sccache2/sccache${suffix}"
    export SCCACHE_VERBOSE_STATS=1
    mk_add_options MOZBUILD_MANAGE_SCCACHE_DAEMON=${topsrcdir}/sccache2/sccache
    case "$platform" in
    win*)
        # For now, sccache doesn't support separate PDBs so force debug info to be
        # in object files.
        mk_add_options "export COMPILE_PDB_FLAG="
        mk_add_options "export HOST_PDB_FLAG="
        mk_add_options "export MOZ_DEBUG_FLAGS=-Z7"
        ;;
    esac
fi