config/baseconfig.mk
author Emilio Cobos Álvarez <emilio@crisal.io>
Wed, 24 Feb 2021 16:35:17 +0000
changeset 635363 fa8995f5a2c0f17c393675ff9d172de77dd5bd7c
parent 604461 1050d8b1456cde001c41614015c99c3d64d3e32b
permissions -rw-r--r--
Bug 1692684 - Don't create transitions for invalid ::marker properties. r=hiro, a=tjr The test-case in the bug does something interesting, where it causes a transition on the parent by removing a CSS rule, and that causes us to transition text-underline-offset on our ::marker, via the magic of font-size-relative properties. text-underline-offset, while it gets inherited from ::marker, is not a valid CSS property to specify on marker per spec, so we trim it here: https://searchfox.org/mozilla-central/rev/899bbd9e5a0d6de9bb9f068c48b1445c7905d9cf/servo/ports/geckolib/glue.rs#5709-5712 And that causes us to create a transition with an empty effect and everything goes downhill from here. For now, just bail out in a nicer way than we were doing. I still need to look into whether we should handle inherited transitions differently from non-inherited one in this case... I think our behavior after this patch would be correct for the test-case (because text-underline-offset would transition on the parent and ::marker would inherit it). If you specify transition only on the marker we'd refuse to transition (which I guess it is somewhat of a sensible behavior). Differential Revision: https://phabricator.services.mozilla.com/D105124

# This file is normally included by autoconf.mk, but it is also used
# directly in python/mozbuild/mozbuild/base.py for gmake validation.
# We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
# whether a normal build is happening or whether the check is running.
installdir = $(libdir)/$(MOZ_APP_NAME)
ifeq (.,$(DEPTH))
DIST = dist
else
DIST = $(DEPTH)/dist
endif
ABS_DIST = $(topobjdir)/dist

ifeq ($(HOST_OS_ARCH),WINNT)
# We only support building with a non-msys gnu make version
# strictly above 4.0.
ifdef .PYMAKE
$(error Pymake is no longer supported. Please upgrade to MozillaBuild 1.9 or newer and build with 'mach' or 'mozmake')
endif

ifeq (a,$(firstword a$(subst /, ,$(abspath .))))
$(error MSYS make is not supported)
endif
# 4.0- happens to be greater than 4.0, lower than the mozmake version,
# and lower than 4.0.1 or 4.1, whatever next version of gnu make will
# be released.
ifneq (4.0-,$(firstword $(sort 4.0- $(MAKE_VERSION))))
$(error Make version too old. Only versions strictly greater than 4.0 are supported.)
endif

ifdef INCLUDED_AUTOCONF_MK
ifeq (a,$(firstword a$(subst /, ,$(srcdir))))
$(error MSYS-style srcdir are not supported for Windows builds.)
endif
endif
endif # WINNT

ifndef INCLUDED_AUTOCONF_MK
default::
else
# All possible tiers
ALL_TIERS := artifact win32-artifact android-fat-aar-artifact pre-export export pre-compile rust compile misc libs android-stage-package android-archive-geckoview tools check

# All tiers that may be used manually via `mach build $tier`
RUNNABLE_TIERS := $(ALL_TIERS)
ifndef MOZ_ARTIFACT_BUILDS
RUNNABLE_TIERS := $(filter-out artifact,$(RUNNABLE_TIERS))
endif
ifndef MOZ_EME_WIN32_ARTIFACT
RUNNABLE_TIERS := $(filter-out win32-artifact,$(RUNNABLE_TIERS))
endif
ifndef MOZ_ANDROID_FAT_AAR_ARCHITECTURES
RUNNABLE_TIERS := $(filter-out android-fat-aar-artifact,$(RUNNABLE_TIERS))
endif
ifneq ($(MOZ_BUILD_APP),mobile/android)
RUNNABLE_TIERS := $(filter-out android-stage-package,$(RUNNABLE_TIERS))
RUNNABLE_TIERS := $(filter-out android-archive-geckoview,$(RUNNABLE_TIERS))
endif

# All tiers that run automatically on `mach build`
TIERS := $(filter-out pre-compile check,$(RUNNABLE_TIERS))
ifndef COMPILE_ENVIRONMENT
TIERS := $(filter-out rust compile,$(TIERS))
endif
ifndef MOZ_RUST_TIER
TIERS := $(filter-out rust,$(TIERS))
endif

endif

# These defines are used to support the twin-topsrcdir model for comm-central.
ifdef MOZILLA_SRCDIR
  MOZILLA_DIR = $(MOZILLA_SRCDIR)
else
  MOZILLA_DIR = $(topsrcdir)
endif