mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-07 05:15:09 +00:00
5893476bdb
This follows the model set down for EME artifacts: - a new tier is added that uses a new Python build action to fetch and artifacts - the action unpacks the fetched artifacts and moves specific inputs into places expected by the build and packager - in automation, MOZ_ARTIFACT_TASK* is used to ensure the artifacts come from the correct tasks In this case, the artifact fetching is done entirely in a new Python build action that internally uses `mach artifact install --job ...`. The action also verifies that the fetched artifacts are compatible and that we're not assembling a fat AAR that is nonsensical. The specific inputs are not used in the Fennec APK that is produced; they're only used in the GeckoView AAR that is produced. The artifact fetching itself required tweaking to fetch only `target.maven.zip` artifacts and to not unpack them. The specific inputs used are the native libraries (libs/$ARCH/*.so) and the architecture-specific preference files ($ARCH/greprefs.js and defaults/pref/$ARCH/geckoview-prefs.js). None of these inputs are impacted by l10n. Differential Revision: https://phabricator.services.mozilla.com/D31572 --HG-- extra : moz-landing-system : lando
54 lines
1.9 KiB
Makefile
54 lines
1.9 KiB
Makefile
# 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
|
|
|
|
# We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
|
|
# manually use it before config.mk inclusion
|
|
_OBJ_SUFFIX := $(OBJ_SUFFIX)
|
|
OBJ_SUFFIX = $(error config/config.mk needs to be included before using OBJ_SUFFIX)
|
|
|
|
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
|
|
TIERS := $(if $(MOZ_ARTIFACT_BUILDS),artifact )$(if $(MOZ_EME_WIN32_ARTIFACT),win32-artifact )$(if $(MOZ_ANDROID_FAT_AAR_ARCHITECTURES),android-fat-aar-artifact )pre-export export $(if $(COMPILE_ENVIRONMENT),compile )misc libs tools$(if $(filter check recurse_check,$(MAKECMDGOALS)), check)
|
|
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
|