Files
palemoon27/config/recurse.mk
T
roytam1 664ef9175d import changes from `dev' branch of rmottola/Arctic-Fox:
- enable shadow warnings (93e0fb3cf8)
- more bits of  Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS (f07e6eca96)
- Bug 1111892 - Ensure gdk_ungrab_pointer is always called in the correct process r=jimm (8bf40d8add)
- Bug 1220344 - remote some of nsSystemInfo to make it e10s ready on Android r=nchen,froydnj (365e961dfb)
- bug 1190018 - External protocol handlers don't work in e10s r=mrbkap (ff4567d517)
- Bug 1225618 - Do not capture stacks for cycle collection timeline markers; r=vporof (d734ca9d26)
- Bug 1218315 - Replace NS_LITERAL_STRING(...).get() with MOZ_UTF16(...) on xpcom. r=nfroyd (5cff917319)
- Bug 1218315 - Use L"..." instead of MOZ_UTF16(...) for MSVS2015. r=nfroyd (9f8b88f428)
- Bug 1199592 - support TV device type in UA string. r=fabrice. (2eecf7f3b4)
- Bug 1215723 - Part 1: Make DataStorage a singleton for each file name; r=keeler (be2e5947f1)
- Bug 1167693 - Ensure device and vendor IDs are zero-padded. r=mstange (6e583cbf71)
- Bug 1186817 - Replace nsBaseHashtable::EnumerateRead() calls in security/ with iterators. r=keeler (4a14f547a7)
- Bug 1215723 - Part 2: Initialize DataStorage items in the content process from the data in the parent; r=keeler (3a4d3ec7d5)
- Bug 1215723 - Part 3: Propagate updates to DataStorage from the parent process to the content processes; r=keeler (2140b412eb)
- Bug 1215723 - Part 4: Make isSecureHost and isSecureURI usable from the content process; r=keeler (c8b786ca1b)
- Bug 1215723 - Part 5: Add an automated test; r=keeler (012e820385)
- Bug 1154184 - Don't use Linux sandbox gtest dir if not building tests. r=gps (2993e27d44)
- Bug 930258 - Part 1: The file broker, and unit tests for it. r=kang f=froydnj (d3e8cab30d)
- Bug 930258 - Part 2: seccomp-bpf integration. r=kang (a40ef5e566)
- Bug 930258 - Part 3: a file broker policy for the B2G emulator. r=kang (2c0c3d55cf)
- Bug 930258 - Part 4: the PContent changes that connect the broker to its sandboxed client. r=kang r=billm (1206c3a20c)
- Bug 1168251 - Do a partial recursion when doing make -C some/path compile. r=gps (a6733048fc)
- Bug 1194951 - Suppress warnings in third-party code: pocketsphinx and sphinxbase. r=kdavis (4f679d6a1e)
- Bug 1195186 - Build media/pocketsphinx in unified mode. r=kdavis (6e6bb419e0)
- Bug 1203005 - Remove all traces of -Wdeclaration-after-statement. r=glandium. (a66d7a4760)
- bits of  Bug 1211568, land NSS_3_21_RTM (6b81926cd3)
- Bug 947753 - Make sure nsChildView::ComputeShouldAccelerate returns true even if it's called before layout lets the window know about whether it's transparent. r=smichaud (0d2980b44f)
- Bug 1162649 - Don't call setOpaque:NO or setHasShadow:NO for non-popup windows;r=mstange (6353bd2e96)
- Backed out changeset 2e731191c692 (bug 1189565) for causing bug 1201053 a=backout (e4bc37c823)
- Bug 1174703 - Add GLContextEAGL and GLContextProviderEAGL as an OpenGL provider for iOS. r=jgilbert (64c6538d7d)
- Bug 1184402 - Reset format usage authority on context lose/restore. r=jgilbert (3df2278888)
- more dupes... hackish (f432375460)
- Bug 1007975 - div with display:table exposes table semantics r=surkov (f3b389dcce)
- Bug 1159034 - Test uninitialized buffer data. - r=dvander Bug 1147441 - Add SharedArrayBuffer support to WebGL and WebGL 2. r=jgilbert, r=bzbarsky (a151e77beb)
- Bug 1184402 - Part 1: Rename GetInfo() to GetUsage() for obtaining FormatUsageInfo. r=jgilbert (efbfe39a2e)
- Bug 1184402 - Part 2: Added luminance float effective formats (2cb792990d)
- Bug 1184402 - Part 3: Add WebGL1 formats when enabling extensions. r=jgilbert (aba6beb541)
- Bug 1184402 - Part 4: Use WebGLFormat for validation in RenderbufferStorage_base. r=jgilbert (704c86386f)
- Bug 1193070 - Implement GetFramebufferAttachmentParameter. r=jgilbert (ef51efdce1)
- Bug 1188195 - always initialize WebGL2 BlitFramebuffer src/dst formats to some value. r=jgilbert (694a4d87a1)
- Bug 1143876 - Treat invalidate-framebuffer as optional for WebGL2. - r=kamidphish (53d8ef5a3f)
- Bug 1170845 - Remove WebGL2() exclusion on instanced draw divisor check. r=jgilbert (cd8d1375b3)
- Bug 1192989 - Simplify handling by ifdefing in all.js. - r=kamidphish (32a26b46c8)
- Bug 1179556 - Only call EnsureColorAttachPoints with a color attachment. r=jgilbert (8791f2e34a)
- Bug 1170893 - Return null for invalid internal format. r=kamidphish (425657b6b6)
- Bug 1225782 - Removes GlobalPropertiesAreOwn(). r=bz (a6ca6fd503)
- Bug 1225381 - ensure mozCurrentTransform is finite. r=jmuizelaar (c009040dca)
- Bug 1223740 - enforce max surface size for DrawTargetSkia. r=bas (505fe7ac3b)
- Bug 1059014 (part 2) - Remove support for reflow on zoom event pending. r=dbaron. (be2ae37e94)
- Bug 1059014 (part 3) - Remove support for pausing and resuming painting. r=dbaron. (35979215f3)
2023-02-06 08:55:00 +08:00

182 lines
6.0 KiB
Makefile

# 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/.
ifndef INCLUDED_RULES_MK
include $(topsrcdir)/config/rules.mk
endif
# Make sure that anything that needs to be defined in moz.build wasn't
# overwritten after including rules.mk.
_eval_for_side_effects := $(CHECK_MOZBUILD_VARIABLES)
# The traditional model of directory traversal with make is as follows:
# make -C foo
# Entering foo
# make -C bar
# Entering foo/bar
# make -C baz
# Entering foo/baz
# make -C qux
# Entering qux
#
# Pseudo derecurse transforms the above into:
# make -C foo
# make -C foo/bar
# make -C foo/baz
# make -C qux
ifeq (.,$(DEPTH))
include root.mk
# Main rules (export, compile, libs and tools) call recurse_* rules.
# This wrapping is only really useful for build status.
$(TIERS)::
$(call BUILDSTATUS,TIER_START $@)
+$(MAKE) recurse_$@
$(call BUILDSTATUS,TIER_FINISH $@)
# Special rule that does install-manifests (cf. Makefile.in) + compile
binaries::
+$(MAKE) recurse_compile
# Carefully avoid $(eval) type of rule generation, which makes pymake slower
# than necessary.
# Get current tier and corresponding subtiers from the data in root.mk.
CURRENT_TIER := $(filter $(foreach tier,$(TIERS),recurse_$(tier) $(tier)-deps),$(MAKECMDGOALS))
ifneq (,$(filter-out 0 1,$(words $(CURRENT_TIER))))
$(error $(CURRENT_TIER) not supported on the same make command line)
endif
CURRENT_TIER := $(subst recurse_,,$(CURRENT_TIER:-deps=))
# The rules here are doing directory traversal, so we don't want further
# recursion to happen when running make -C subdir $tier. But some make files
# further call make -C something else, and sometimes expect recursion to
# happen in that case.
# Conveniently, every invocation of make increases MAKELEVEL, so only stop
# recursion from happening at current MAKELEVEL + 1.
ifdef CURRENT_TIER
ifeq (0,$(MAKELEVEL))
export NO_RECURSE_MAKELEVEL=1
else
export NO_RECURSE_MAKELEVEL=$(word $(MAKELEVEL),2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20)
endif
endif
# Use the $(*_dirs) variables available in root.mk
CURRENT_DIRS := $($(CURRENT_TIER)_dirs)
# Need a list of compile targets because we can't use pattern rules:
# https://savannah.gnu.org/bugs/index.php?42833
# Only recurse the paths starting with RECURSE_BASE_DIR when provided.
.PHONY: $(compile_targets)
$(compile_targets):
$(if $(filter $(RECURSE_BASE_DIR)%,$@),$(call SUBMAKE,$(@F),$(@D)))
# The compile tier has different rules from other tiers.
ifneq ($(CURRENT_TIER),compile)
# Recursion rule for all directories traversed for all subtiers in the
# current tier.
$(addsuffix /$(CURRENT_TIER),$(CURRENT_DIRS)): %/$(CURRENT_TIER):
$(call SUBMAKE,$(CURRENT_TIER),$*)
.PHONY: $(addsuffix /$(CURRENT_TIER),$(CURRENT_DIRS))
# Dummy rules for possibly inexisting dependencies for the above tier targets
$(addsuffix /Makefile,$(CURRENT_DIRS)) $(addsuffix /backend.mk,$(CURRENT_DIRS)):
ifeq ($(CURRENT_TIER),export)
# At least build/export requires config/export for buildid, but who knows what
# else, so keep this global dependency to make config/export first for now.
$(addsuffix /$(CURRENT_TIER),$(filter-out config,$(CURRENT_DIRS))): config/$(CURRENT_TIER)
# The export tier requires nsinstall, which is built from config. So every
# subdirectory traversal needs to happen after building nsinstall in config, which
# is done with the config/host target. Note the config/host target only exists if
# nsinstall is actually built, which it is not on Windows, because we use
# nsinstall.py there.
ifdef COMPILE_ENVIRONMENT
ifneq (,$(filter config/host, $(compile_targets)))
$(addsuffix /$(CURRENT_TIER),$(CURRENT_DIRS)): config/host
endif
endif
endif
endif # ifeq ($(CURRENT_TIER),compile)
else
# Don't recurse if MAKELEVEL is NO_RECURSE_MAKELEVEL as defined above
ifeq ($(NO_RECURSE_MAKELEVEL),$(MAKELEVEL))
$(TIERS)::
else
#########################
# Tier traversal handling
#########################
define CREATE_SUBTIER_TRAVERSAL_RULE
.PHONY: $(1)
$(1):: $$(SUBMAKEFILES)
$$(LOOP_OVER_DIRS)
endef
$(foreach subtier,$(filter-out compile,$(TIERS)),$(eval $(call CREATE_SUBTIER_TRAVERSAL_RULE,$(subtier))))
ifndef TOPLEVEL_BUILD
ifdef COMPILE_ENVIRONMENT
compile::
@$(MAKE) -C $(DEPTH) compile RECURSE_BASE_DIR=$(relativesrcdir)/
endif # COMPILE_ENVIRONMENT
endif
endif # ifeq ($(NO_RECURSE_MAKELEVEL),$(MAKELEVEL))
endif # ifeq (.,$(DEPTH))
recurse:
@$(RECURSED_COMMAND)
$(LOOP_OVER_DIRS)
ifeq (.,$(DEPTH))
# Interdependencies for parallel export.
js/xpconnect/src/export: dom/bindings/export xpcom/xpidl/export
accessible/xpcom/export: xpcom/xpidl/export
# The widget binding generator code is part of the annotationProcessors.
widget/android/bindings/export: build/annotationProcessors/export
ifdef ENABLE_CLANG_PLUGIN
$(filter-out config/host build/unix/stdc++compat/% build/clang-plugin/%,$(compile_targets)): build/clang-plugin/target build/clang-plugin/tests/target
build/clang-plugin/tests/target: build/clang-plugin/target
endif
# Interdependencies that moz.build world don't know about yet for compilation.
# Note some others are hardcoded or "guessed" in recursivemake.py and emitter.py
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk3)
toolkit/library/target: widget/gtk/mozgtk/gtk3/target
endif
ifdef MOZ_LDAP_XPCOM
ldap/target: config/external/nss/target mozglue/build/target
toolkit/library/target: ldap/target
endif
ifeq ($(MOZ_REPLACE_MALLOC_LINKAGE),dummy library)
mozglue/build/target memory/replace/logalloc/replay/target: memory/replace/dummy/target
endif
ifdef MOZ_CRT
mozglue/crt/target: mozglue/build/target
endif
# js/src/target can end up invoking js/src/host rules (through object files
# depending on jsautokw.h, which depends on host_jskwgen, and that can't
# happen at the same time (bug #1146738)
js/src/target: js/src/host
endif
# Most things are built during compile (target/host), but some things happen during export
# Those need to depend on config/export for system wrappers.
$(addprefix build/unix/stdc++compat/,target host) build/clang-plugin/target: config/export