mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
bug 742391: split config/rules.mk - file batch #1
This commit is contained in:
parent
f17a7d6f7e
commit
a6c1197fc0
118
config/makefiles/debugmake.mk
Normal file
118
config/makefiles/debugmake.mk
Normal file
@ -0,0 +1,118 @@
|
||||
# -*- makefile -*-
|
||||
# vim:set ts=8 sw=8 sts=8 noet:
|
||||
#
|
||||
# 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/.
|
||||
#
|
||||
|
||||
###########################################################################
|
||||
## Intent: Helper targets for displaying variables and state information
|
||||
###########################################################################
|
||||
|
||||
# Support usage outside of config/rules.mk
|
||||
ifndef INCLUDED_DEBUGMAKE_MK #{
|
||||
|
||||
echo-variable-%:
|
||||
@echo "$($*)"
|
||||
|
||||
echo-tiers:
|
||||
@echo $(TIERS)
|
||||
|
||||
echo-tier-dirs:
|
||||
@$(foreach tier,$(TIERS),echo '$(tier):'; echo ' dirs: $(tier_$(tier)_dirs)'; echo ' staticdirs: $(tier_$(tier)_staticdirs)'; )
|
||||
|
||||
echo-dirs:
|
||||
@echo $(DIRS)
|
||||
|
||||
echo-module:
|
||||
@echo $(MODULE)
|
||||
|
||||
echo-depth-path:
|
||||
@$(topsrcdir)/build/unix/print-depth-path.sh
|
||||
|
||||
echo-module-name:
|
||||
@$(topsrcdir)/build/package/rpm/print-module-name.sh
|
||||
|
||||
echo-module-filelist:
|
||||
@$(topsrcdir)/build/package/rpm/print-module-filelist.sh
|
||||
|
||||
showtargs:
|
||||
ifneq (,$(filter $(PROGRAM) $(HOST_PROGRAM) $(SIMPLE_PROGRAMS) $(HOST_LIBRARY) $(LIBRARY) $(SHARED_LIBRARY),$(TARGETS)))
|
||||
@echo --------------------------------------------------------------------------------
|
||||
@echo "PROGRAM = $(PROGRAM)"
|
||||
@echo "SIMPLE_PROGRAMS = $(SIMPLE_PROGRAMS)"
|
||||
@echo "LIBRARY = $(LIBRARY)"
|
||||
@echo "SHARED_LIBRARY = $(SHARED_LIBRARY)"
|
||||
@echo "SHARED_LIBRARY_LIBS = $(SHARED_LIBRARY_LIBS)"
|
||||
@echo "LIBS = $(LIBS)"
|
||||
@echo "DEF_FILE = $(DEF_FILE)"
|
||||
@echo "IMPORT_LIBRARY = $(IMPORT_LIBRARY)"
|
||||
@echo "STATIC_LIBS = $(STATIC_LIBS)"
|
||||
@echo "SHARED_LIBS = $(SHARED_LIBS)"
|
||||
@echo "EXTRA_DSO_LIBS = $(EXTRA_DSO_LIBS)"
|
||||
@echo "EXTRA_DSO_LDOPTS = $(EXTRA_DSO_LDOPTS)"
|
||||
@echo "DEPENDENT_LIBS = $(DEPENDENT_LIBS)"
|
||||
@echo --------------------------------------------------------------------------------
|
||||
endif
|
||||
$(LOOP_OVER_PARALLEL_DIRS)
|
||||
$(LOOP_OVER_DIRS)
|
||||
|
||||
showbuild:
|
||||
@echo "MOZ_BUILD_ROOT = $(MOZ_BUILD_ROOT)"
|
||||
@echo "MOZ_WIDGET_TOOLKIT = $(MOZ_WIDGET_TOOLKIT)"
|
||||
@echo "CC = $(CC)"
|
||||
@echo "CXX = $(CXX)"
|
||||
@echo "CCC = $(CCC)"
|
||||
@echo "CPP = $(CPP)"
|
||||
@echo "LD = $(LD)"
|
||||
@echo "AR = $(AR)"
|
||||
@echo "IMPLIB = $(IMPLIB)"
|
||||
@echo "FILTER = $(FILTER)"
|
||||
@echo "MKSHLIB = $(MKSHLIB)"
|
||||
@echo "MKCSHLIB = $(MKCSHLIB)"
|
||||
@echo "RC = $(RC)"
|
||||
@echo "MC = $(MC)"
|
||||
@echo "CFLAGS = $(CFLAGS)"
|
||||
@echo "OS_CFLAGS = $(OS_CFLAGS)"
|
||||
@echo "COMPILE_CFLAGS = $(COMPILE_CFLAGS)"
|
||||
@echo "CXXFLAGS = $(CXXFLAGS)"
|
||||
@echo "OS_CXXFLAGS = $(OS_CXXFLAGS)"
|
||||
@echo "COMPILE_CXXFLAGS = $(COMPILE_CXXFLAGS)"
|
||||
@echo "COMPILE_CMFLAGS = $(COMPILE_CMFLAGS)"
|
||||
@echo "COMPILE_CMMFLAGS = $(COMPILE_CMMFLAGS)"
|
||||
@echo "LDFLAGS = $(LDFLAGS)"
|
||||
@echo "OS_LDFLAGS = $(OS_LDFLAGS)"
|
||||
@echo "DSO_LDOPTS = $(DSO_LDOPTS)"
|
||||
@echo "OS_INCLUDES = $(OS_INCLUDES)"
|
||||
@echo "OS_LIBS = $(OS_LIBS)"
|
||||
@echo "EXTRA_LIBS = $(EXTRA_LIBS)"
|
||||
@echo "BIN_FLAGS = $(BIN_FLAGS)"
|
||||
@echo "INCLUDES = $(INCLUDES)"
|
||||
@echo "DEFINES = $(DEFINES)"
|
||||
@echo "ACDEFINES = $(ACDEFINES)"
|
||||
@echo "BIN_SUFFIX = $(BIN_SUFFIX)"
|
||||
@echo "LIB_SUFFIX = $(LIB_SUFFIX)"
|
||||
@echo "DLL_SUFFIX = $(DLL_SUFFIX)"
|
||||
@echo "IMPORT_LIB_SUFFIX = $(IMPORT_LIB_SUFFIX)"
|
||||
@echo "INSTALL = $(INSTALL)"
|
||||
@echo "VPATH = $(VPATH)"
|
||||
|
||||
showhost:
|
||||
@echo "HOST_CC = $(HOST_CC)"
|
||||
@echo "HOST_CXX = $(HOST_CXX)"
|
||||
@echo "HOST_CFLAGS = $(HOST_CFLAGS)"
|
||||
@echo "HOST_LDFLAGS = $(HOST_LDFLAGS)"
|
||||
@echo "HOST_LIBS = $(HOST_LIBS)"
|
||||
@echo "HOST_EXTRA_LIBS = $(HOST_EXTRA_LIBS)"
|
||||
@echo "HOST_EXTRA_DEPS = $(HOST_EXTRA_DEPS)"
|
||||
@echo "HOST_PROGRAM = $(HOST_PROGRAM)"
|
||||
@echo "HOST_OBJS = $(HOST_OBJS)"
|
||||
@echo "HOST_PROGOBJS = $(HOST_PROGOBJS)"
|
||||
@echo "HOST_LIBRARY = $(HOST_LIBRARY)"
|
||||
|
||||
showbuildmods::
|
||||
@echo "Module dirs = $(BUILD_MODULE_DIRS)"
|
||||
|
||||
INCLUDED_DEBUGMAKE_MK = 1
|
||||
endif #}
|
@ -67,8 +67,11 @@ else
|
||||
endif
|
||||
|
||||
# Intent: Conditionals for detecting common/tier target use
|
||||
# Todo: are check, install, test needed ?
|
||||
isTargetStem = $(sort $(foreach pat, $(1)% %$(1), $(call is_XinY,$(pat),${$(mcg_goals)})))
|
||||
isTargetStem = $(sort \
|
||||
$(foreach var,$(getargv),\
|
||||
$(foreach pat,$(var)% %$(var),\
|
||||
$(call is_XinY,$(pat),${$(mcg_goals)})\
|
||||
)))
|
||||
isTargetStemClean = $(call isTargetStem,clean)
|
||||
isTargetStemExport = $(call isTargetStem,export)
|
||||
isTargetStemLibs = $(call isTargetStem,libs)
|
||||
|
@ -43,3 +43,28 @@ $(call errorifneq,3,$(words $(call isTargetStemClean)))
|
||||
TEST_MAKECMDGOALS := invalid
|
||||
$(call errorifneq,$(zero),$(words $(call isTargetStemClean)))
|
||||
|
||||
|
||||
#############################
|
||||
ifdef VERBOSE
|
||||
$(call banner,Unit test: isTargetStem)
|
||||
endif
|
||||
|
||||
# Verify list argument processing
|
||||
TEST_MAKECMDGOALS := echo
|
||||
$(call errorifneq,$(one),$(words $(call isTargetStem,echo,show)))
|
||||
|
||||
TEST_MAKECMDGOALS := echo-123
|
||||
$(call errorifneq,$(one),$(words $(call isTargetStem,echo,show)))
|
||||
|
||||
TEST_MAKECMDGOALS := show
|
||||
$(call errorifneq,$(one),$(words $(call isTargetStem,echo,show)))
|
||||
|
||||
TEST_MAKECMDGOALS := show-123
|
||||
$(call errorifneq,$(one),$(words $(call isTargetStem,echo,show)))
|
||||
|
||||
TEST_MAKECMDGOALS := show-123-echo
|
||||
$(call errorifneq,$(one),$(words $(call isTargetStem,echo,show)))
|
||||
|
||||
TEST_MAKECMDGOALS := invalid
|
||||
$(call errorifneq,$(zero),$(words $(call isTargetStem,echo,show)))
|
||||
|
||||
|
128
config/makefiles/xpcshell.mk
Normal file
128
config/makefiles/xpcshell.mk
Normal file
@ -0,0 +1,128 @@
|
||||
# -*- makefile -*-
|
||||
# vim:set ts=8 sw=8 sts=8 noet:
|
||||
#
|
||||
# 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_TESTS_XPCSHELL_MK #{
|
||||
|
||||
ifdef XPCSHELL_TESTS #{
|
||||
|
||||
ifndef relativesrcdir
|
||||
$(error Must define relativesrcdir when defining XPCSHELL_TESTS.)
|
||||
endif
|
||||
|
||||
define _INSTALL_TESTS
|
||||
$(DIR_INSTALL) $(wildcard $(srcdir)/$(dir)/*) $(testxpcobjdir)/$(relativesrcdir)/$(dir)
|
||||
|
||||
endef # do not remove the blank line!
|
||||
|
||||
SOLO_FILE ?= $(error Specify a test filename in SOLO_FILE when using check-interactive or check-one)
|
||||
|
||||
testxpcsrcdir = $(topsrcdir)/testing/xpcshell
|
||||
|
||||
libs:: libs-xpcshell-tests
|
||||
|
||||
###########################################################################
|
||||
libs-xpcshell-tests:
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(_INSTALL_TESTS))
|
||||
ifndef NO_XPCSHELL_MANIFEST_CHECK #{
|
||||
$(PYTHON) $(MOZILLA_DIR)/build/xpccheck.py \
|
||||
$(topsrcdir) \
|
||||
$(topsrcdir)/testing/xpcshell/xpcshell.ini \
|
||||
$(addprefix $(MOZILLA_DIR)/$(relativesrcdir)/,$(XPCSHELL_TESTS))
|
||||
endif #} NO_XPCSHELL_MANIFEST_CHECK
|
||||
|
||||
###########################################################################
|
||||
# Execute all tests in the $(XPCSHELL_TESTS) directories.
|
||||
# See also testsuite-targets.mk 'xpcshell-tests' target for global execution.
|
||||
xpcshell-tests:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--tests-root-dir=$(testxpcobjdir) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--xunit-file=$(testxpcobjdir)/$(relativesrcdir)/results.xml \
|
||||
--xunit-suite-name=xpcshell \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
xpcshell-tests-remote: DM_TRANS?=adb
|
||||
xpcshell-tests-remote:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(topsrcdir)/build/mobile \
|
||||
$(topsrcdir)/testing/xpcshell/remotexpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
--dm_trans=$(DM_TRANS) \
|
||||
--deviceIP=${TEST_DEVICE} \
|
||||
--objdir=$(DEPTH) \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
###########################################################################
|
||||
# Execute a single test, specified in $(SOLO_FILE), but don't automatically
|
||||
# start the test. Instead, present the xpcshell prompt so the user can
|
||||
# attach a debugger and then start the test.
|
||||
check-interactive:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--interactive \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
# Execute a single test, specified in $(SOLO_FILE)
|
||||
check-one:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--verbose \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
check-one-remote: DM_TRANS?=adb
|
||||
check-one-remote:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(topsrcdir)/build/mobile \
|
||||
$(testxpcsrcdir)/remotexpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--verbose \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
--dm_trans=$(DM_TRANS) \
|
||||
--deviceIP=${TEST_DEVICE} \
|
||||
--objdir=$(DEPTH) \
|
||||
--noSetup \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
|
||||
.PHONY: xpcshell-tests check-interactive check-one libs-xpcshell-tests
|
||||
|
||||
endif #} XPCSHELL_TESTS
|
||||
|
||||
INCLUDED_TESTS_XPCSHELL_MK = 1
|
||||
endif #} INCLUDED_TESTS_XPCSHELL_MK
|
214
config/rules.mk
214
config/rules.mk
@ -85,108 +85,9 @@ ifdef ENABLE_TESTS
|
||||
# locally against non-current test code.
|
||||
DIRS += $(TEST_DIRS)
|
||||
|
||||
ifdef XPCSHELL_TESTS
|
||||
ifndef relativesrcdir
|
||||
$(error Must define relativesrcdir when defining XPCSHELL_TESTS.)
|
||||
endif
|
||||
|
||||
define _INSTALL_TESTS
|
||||
$(DIR_INSTALL) $(wildcard $(srcdir)/$(dir)/*) $(testxpcobjdir)/$(relativesrcdir)/$(dir)
|
||||
|
||||
endef # do not remove the blank line!
|
||||
|
||||
SOLO_FILE ?= $(error Specify a test filename in SOLO_FILE when using check-interactive or check-one)
|
||||
|
||||
libs::
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(_INSTALL_TESTS))
|
||||
ifndef NO_XPCSHELL_MANIFEST_CHECK
|
||||
$(PYTHON) $(MOZILLA_DIR)/build/xpccheck.py \
|
||||
$(topsrcdir) \
|
||||
$(topsrcdir)/testing/xpcshell/xpcshell.ini \
|
||||
$(addprefix $(MOZILLA_DIR)/$(relativesrcdir)/,$(XPCSHELL_TESTS))
|
||||
endif
|
||||
|
||||
testxpcsrcdir = $(topsrcdir)/testing/xpcshell
|
||||
|
||||
# Execute all tests in the $(XPCSHELL_TESTS) directories.
|
||||
# See also testsuite-targets.mk 'xpcshell-tests' target for global execution.
|
||||
xpcshell-tests:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build -I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--tests-root-dir=$(testxpcobjdir) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--xunit-file=$(testxpcobjdir)/$(relativesrcdir)/results.xml \
|
||||
--xunit-suite-name=xpcshell \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
xpcshell-tests-remote: DM_TRANS?=adb
|
||||
xpcshell-tests-remote:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(topsrcdir)/build/mobile \
|
||||
$(topsrcdir)/testing/xpcshell/remotexpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
--dm_trans=$(DM_TRANS) \
|
||||
--deviceIP=${TEST_DEVICE} \
|
||||
--objdir=$(DEPTH) \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
# Execute a single test, specified in $(SOLO_FILE), but don't automatically
|
||||
# start the test. Instead, present the xpcshell prompt so the user can
|
||||
# attach a debugger and then start the test.
|
||||
check-interactive:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build -I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--interactive \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
# Execute a single test, specified in $(SOLO_FILE)
|
||||
check-one:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build -I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--verbose \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
check-one-remote: DM_TRANS?=adb
|
||||
check-one-remote:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(topsrcdir)/build/mobile \
|
||||
$(testxpcsrcdir)/remotexpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--verbose \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
--dm_trans=$(DM_TRANS) \
|
||||
--deviceIP=${TEST_DEVICE} \
|
||||
--objdir=$(DEPTH) \
|
||||
--noSetup \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
endif # XPCSHELL_TESTS
|
||||
ifndef INCLUDED_TESTS_XPCSHELL_MK #{
|
||||
include $(topsrcdir)/config/makefiles/xpcshell.mk
|
||||
endif #}
|
||||
|
||||
ifdef CPP_UNIT_TESTS
|
||||
|
||||
@ -207,7 +108,7 @@ check::
|
||||
|
||||
endif # CPP_UNIT_TESTS
|
||||
|
||||
.PHONY: check xpcshell-tests check-interactive check-one
|
||||
.PHONY: check
|
||||
|
||||
endif # ENABLE_TESTS
|
||||
|
||||
@ -1375,6 +1276,7 @@ export:: $(AUTOCFG_JS_EXPORTS) $(FINAL_TARGET)/defaults/autoconfig
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Export the elements of $(XPIDLSRCS)
|
||||
# generating .h and .xpt files and moving them to the appropriate places.
|
||||
@ -1848,106 +1750,12 @@ TAGS: $(SUBMAKEFILES) $(CSRCS) $(CPPSRCS) $(wildcard *.h)
|
||||
$(LOOP_OVER_PARALLEL_DIRS)
|
||||
$(LOOP_OVER_DIRS)
|
||||
|
||||
echo-variable-%:
|
||||
@echo "$($*)"
|
||||
|
||||
echo-tiers:
|
||||
@echo $(TIERS)
|
||||
|
||||
echo-tier-dirs:
|
||||
@$(foreach tier,$(TIERS),echo '$(tier):'; echo ' dirs: $(tier_$(tier)_dirs)'; echo ' staticdirs: $(tier_$(tier)_staticdirs)'; )
|
||||
|
||||
echo-dirs:
|
||||
@echo $(DIRS)
|
||||
|
||||
echo-module:
|
||||
@echo $(MODULE)
|
||||
|
||||
echo-depth-path:
|
||||
@$(topsrcdir)/build/unix/print-depth-path.sh
|
||||
|
||||
echo-module-name:
|
||||
@$(topsrcdir)/build/package/rpm/print-module-name.sh
|
||||
|
||||
echo-module-filelist:
|
||||
@$(topsrcdir)/build/package/rpm/print-module-filelist.sh
|
||||
|
||||
showtargs:
|
||||
ifneq (,$(filter $(PROGRAM) $(HOST_PROGRAM) $(SIMPLE_PROGRAMS) $(HOST_LIBRARY) $(LIBRARY) $(SHARED_LIBRARY),$(TARGETS)))
|
||||
@echo --------------------------------------------------------------------------------
|
||||
@echo "PROGRAM = $(PROGRAM)"
|
||||
@echo "SIMPLE_PROGRAMS = $(SIMPLE_PROGRAMS)"
|
||||
@echo "LIBRARY = $(LIBRARY)"
|
||||
@echo "SHARED_LIBRARY = $(SHARED_LIBRARY)"
|
||||
@echo "SHARED_LIBRARY_LIBS = $(SHARED_LIBRARY_LIBS)"
|
||||
@echo "LIBS = $(LIBS)"
|
||||
@echo "DEF_FILE = $(DEF_FILE)"
|
||||
@echo "IMPORT_LIBRARY = $(IMPORT_LIBRARY)"
|
||||
@echo "STATIC_LIBS = $(STATIC_LIBS)"
|
||||
@echo "SHARED_LIBS = $(SHARED_LIBS)"
|
||||
@echo "EXTRA_DSO_LIBS = $(EXTRA_DSO_LIBS)"
|
||||
@echo "EXTRA_DSO_LDOPTS = $(EXTRA_DSO_LDOPTS)"
|
||||
@echo "DEPENDENT_LIBS = $(DEPENDENT_LIBS)"
|
||||
@echo --------------------------------------------------------------------------------
|
||||
endif
|
||||
$(LOOP_OVER_PARALLEL_DIRS)
|
||||
$(LOOP_OVER_DIRS)
|
||||
|
||||
showbuild:
|
||||
@echo "MOZ_BUILD_ROOT = $(MOZ_BUILD_ROOT)"
|
||||
@echo "MOZ_WIDGET_TOOLKIT = $(MOZ_WIDGET_TOOLKIT)"
|
||||
@echo "CC = $(CC)"
|
||||
@echo "CXX = $(CXX)"
|
||||
@echo "CCC = $(CCC)"
|
||||
@echo "CPP = $(CPP)"
|
||||
@echo "LD = $(LD)"
|
||||
@echo "AR = $(AR)"
|
||||
@echo "IMPLIB = $(IMPLIB)"
|
||||
@echo "FILTER = $(FILTER)"
|
||||
@echo "MKSHLIB = $(MKSHLIB)"
|
||||
@echo "MKCSHLIB = $(MKCSHLIB)"
|
||||
@echo "RC = $(RC)"
|
||||
@echo "MC = $(MC)"
|
||||
@echo "CFLAGS = $(CFLAGS)"
|
||||
@echo "OS_CFLAGS = $(OS_CFLAGS)"
|
||||
@echo "COMPILE_CFLAGS = $(COMPILE_CFLAGS)"
|
||||
@echo "CXXFLAGS = $(CXXFLAGS)"
|
||||
@echo "OS_CXXFLAGS = $(OS_CXXFLAGS)"
|
||||
@echo "COMPILE_CXXFLAGS = $(COMPILE_CXXFLAGS)"
|
||||
@echo "COMPILE_CMFLAGS = $(COMPILE_CMFLAGS)"
|
||||
@echo "COMPILE_CMMFLAGS = $(COMPILE_CMMFLAGS)"
|
||||
@echo "LDFLAGS = $(LDFLAGS)"
|
||||
@echo "OS_LDFLAGS = $(OS_LDFLAGS)"
|
||||
@echo "DSO_LDOPTS = $(DSO_LDOPTS)"
|
||||
@echo "OS_INCLUDES = $(OS_INCLUDES)"
|
||||
@echo "OS_LIBS = $(OS_LIBS)"
|
||||
@echo "EXTRA_LIBS = $(EXTRA_LIBS)"
|
||||
@echo "BIN_FLAGS = $(BIN_FLAGS)"
|
||||
@echo "INCLUDES = $(INCLUDES)"
|
||||
@echo "DEFINES = $(DEFINES)"
|
||||
@echo "ACDEFINES = $(ACDEFINES)"
|
||||
@echo "BIN_SUFFIX = $(BIN_SUFFIX)"
|
||||
@echo "LIB_SUFFIX = $(LIB_SUFFIX)"
|
||||
@echo "DLL_SUFFIX = $(DLL_SUFFIX)"
|
||||
@echo "IMPORT_LIB_SUFFIX = $(IMPORT_LIB_SUFFIX)"
|
||||
@echo "INSTALL = $(INSTALL)"
|
||||
@echo "VPATH = $(VPATH)"
|
||||
|
||||
showhost:
|
||||
@echo "HOST_CC = $(HOST_CC)"
|
||||
@echo "HOST_CXX = $(HOST_CXX)"
|
||||
@echo "HOST_CFLAGS = $(HOST_CFLAGS)"
|
||||
@echo "HOST_LDFLAGS = $(HOST_LDFLAGS)"
|
||||
@echo "HOST_LIBS = $(HOST_LIBS)"
|
||||
@echo "HOST_EXTRA_LIBS = $(HOST_EXTRA_LIBS)"
|
||||
@echo "HOST_EXTRA_DEPS = $(HOST_EXTRA_DEPS)"
|
||||
@echo "HOST_PROGRAM = $(HOST_PROGRAM)"
|
||||
@echo "HOST_OBJS = $(HOST_OBJS)"
|
||||
@echo "HOST_PROGOBJS = $(HOST_PROGOBJS)"
|
||||
@echo "HOST_LIBRARY = $(HOST_LIBRARY)"
|
||||
|
||||
showbuildmods::
|
||||
@echo "Module dirs = $(BUILD_MODULE_DIRS)"
|
||||
ifndef INCLUDED_DEBUGMAKE_MK #{
|
||||
## Only parse when an echo* or show* target is requested
|
||||
ifneq (,$(call isTargetStem,echo,show))
|
||||
include $(topsrcdir)/config/makefiles/debugmake.mk
|
||||
endif #}
|
||||
endif #}
|
||||
|
||||
documentation:
|
||||
@cd $(DEPTH)
|
||||
|
118
js/src/config/makefiles/debugmake.mk
Normal file
118
js/src/config/makefiles/debugmake.mk
Normal file
@ -0,0 +1,118 @@
|
||||
# -*- makefile -*-
|
||||
# vim:set ts=8 sw=8 sts=8 noet:
|
||||
#
|
||||
# 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/.
|
||||
#
|
||||
|
||||
###########################################################################
|
||||
## Intent: Helper targets for displaying variables and state information
|
||||
###########################################################################
|
||||
|
||||
# Support usage outside of config/rules.mk
|
||||
ifndef INCLUDED_DEBUGMAKE_MK #{
|
||||
|
||||
echo-variable-%:
|
||||
@echo "$($*)"
|
||||
|
||||
echo-tiers:
|
||||
@echo $(TIERS)
|
||||
|
||||
echo-tier-dirs:
|
||||
@$(foreach tier,$(TIERS),echo '$(tier):'; echo ' dirs: $(tier_$(tier)_dirs)'; echo ' staticdirs: $(tier_$(tier)_staticdirs)'; )
|
||||
|
||||
echo-dirs:
|
||||
@echo $(DIRS)
|
||||
|
||||
echo-module:
|
||||
@echo $(MODULE)
|
||||
|
||||
echo-depth-path:
|
||||
@$(topsrcdir)/build/unix/print-depth-path.sh
|
||||
|
||||
echo-module-name:
|
||||
@$(topsrcdir)/build/package/rpm/print-module-name.sh
|
||||
|
||||
echo-module-filelist:
|
||||
@$(topsrcdir)/build/package/rpm/print-module-filelist.sh
|
||||
|
||||
showtargs:
|
||||
ifneq (,$(filter $(PROGRAM) $(HOST_PROGRAM) $(SIMPLE_PROGRAMS) $(HOST_LIBRARY) $(LIBRARY) $(SHARED_LIBRARY),$(TARGETS)))
|
||||
@echo --------------------------------------------------------------------------------
|
||||
@echo "PROGRAM = $(PROGRAM)"
|
||||
@echo "SIMPLE_PROGRAMS = $(SIMPLE_PROGRAMS)"
|
||||
@echo "LIBRARY = $(LIBRARY)"
|
||||
@echo "SHARED_LIBRARY = $(SHARED_LIBRARY)"
|
||||
@echo "SHARED_LIBRARY_LIBS = $(SHARED_LIBRARY_LIBS)"
|
||||
@echo "LIBS = $(LIBS)"
|
||||
@echo "DEF_FILE = $(DEF_FILE)"
|
||||
@echo "IMPORT_LIBRARY = $(IMPORT_LIBRARY)"
|
||||
@echo "STATIC_LIBS = $(STATIC_LIBS)"
|
||||
@echo "SHARED_LIBS = $(SHARED_LIBS)"
|
||||
@echo "EXTRA_DSO_LIBS = $(EXTRA_DSO_LIBS)"
|
||||
@echo "EXTRA_DSO_LDOPTS = $(EXTRA_DSO_LDOPTS)"
|
||||
@echo "DEPENDENT_LIBS = $(DEPENDENT_LIBS)"
|
||||
@echo --------------------------------------------------------------------------------
|
||||
endif
|
||||
$(LOOP_OVER_PARALLEL_DIRS)
|
||||
$(LOOP_OVER_DIRS)
|
||||
|
||||
showbuild:
|
||||
@echo "MOZ_BUILD_ROOT = $(MOZ_BUILD_ROOT)"
|
||||
@echo "MOZ_WIDGET_TOOLKIT = $(MOZ_WIDGET_TOOLKIT)"
|
||||
@echo "CC = $(CC)"
|
||||
@echo "CXX = $(CXX)"
|
||||
@echo "CCC = $(CCC)"
|
||||
@echo "CPP = $(CPP)"
|
||||
@echo "LD = $(LD)"
|
||||
@echo "AR = $(AR)"
|
||||
@echo "IMPLIB = $(IMPLIB)"
|
||||
@echo "FILTER = $(FILTER)"
|
||||
@echo "MKSHLIB = $(MKSHLIB)"
|
||||
@echo "MKCSHLIB = $(MKCSHLIB)"
|
||||
@echo "RC = $(RC)"
|
||||
@echo "MC = $(MC)"
|
||||
@echo "CFLAGS = $(CFLAGS)"
|
||||
@echo "OS_CFLAGS = $(OS_CFLAGS)"
|
||||
@echo "COMPILE_CFLAGS = $(COMPILE_CFLAGS)"
|
||||
@echo "CXXFLAGS = $(CXXFLAGS)"
|
||||
@echo "OS_CXXFLAGS = $(OS_CXXFLAGS)"
|
||||
@echo "COMPILE_CXXFLAGS = $(COMPILE_CXXFLAGS)"
|
||||
@echo "COMPILE_CMFLAGS = $(COMPILE_CMFLAGS)"
|
||||
@echo "COMPILE_CMMFLAGS = $(COMPILE_CMMFLAGS)"
|
||||
@echo "LDFLAGS = $(LDFLAGS)"
|
||||
@echo "OS_LDFLAGS = $(OS_LDFLAGS)"
|
||||
@echo "DSO_LDOPTS = $(DSO_LDOPTS)"
|
||||
@echo "OS_INCLUDES = $(OS_INCLUDES)"
|
||||
@echo "OS_LIBS = $(OS_LIBS)"
|
||||
@echo "EXTRA_LIBS = $(EXTRA_LIBS)"
|
||||
@echo "BIN_FLAGS = $(BIN_FLAGS)"
|
||||
@echo "INCLUDES = $(INCLUDES)"
|
||||
@echo "DEFINES = $(DEFINES)"
|
||||
@echo "ACDEFINES = $(ACDEFINES)"
|
||||
@echo "BIN_SUFFIX = $(BIN_SUFFIX)"
|
||||
@echo "LIB_SUFFIX = $(LIB_SUFFIX)"
|
||||
@echo "DLL_SUFFIX = $(DLL_SUFFIX)"
|
||||
@echo "IMPORT_LIB_SUFFIX = $(IMPORT_LIB_SUFFIX)"
|
||||
@echo "INSTALL = $(INSTALL)"
|
||||
@echo "VPATH = $(VPATH)"
|
||||
|
||||
showhost:
|
||||
@echo "HOST_CC = $(HOST_CC)"
|
||||
@echo "HOST_CXX = $(HOST_CXX)"
|
||||
@echo "HOST_CFLAGS = $(HOST_CFLAGS)"
|
||||
@echo "HOST_LDFLAGS = $(HOST_LDFLAGS)"
|
||||
@echo "HOST_LIBS = $(HOST_LIBS)"
|
||||
@echo "HOST_EXTRA_LIBS = $(HOST_EXTRA_LIBS)"
|
||||
@echo "HOST_EXTRA_DEPS = $(HOST_EXTRA_DEPS)"
|
||||
@echo "HOST_PROGRAM = $(HOST_PROGRAM)"
|
||||
@echo "HOST_OBJS = $(HOST_OBJS)"
|
||||
@echo "HOST_PROGOBJS = $(HOST_PROGOBJS)"
|
||||
@echo "HOST_LIBRARY = $(HOST_LIBRARY)"
|
||||
|
||||
showbuildmods::
|
||||
@echo "Module dirs = $(BUILD_MODULE_DIRS)"
|
||||
|
||||
INCLUDED_DEBUGMAKE_MK = 1
|
||||
endif #}
|
@ -67,8 +67,11 @@ else
|
||||
endif
|
||||
|
||||
# Intent: Conditionals for detecting common/tier target use
|
||||
# Todo: are check, install, test needed ?
|
||||
isTargetStem = $(sort $(foreach pat, $(1)% %$(1), $(call is_XinY,$(pat),${$(mcg_goals)})))
|
||||
isTargetStem = $(sort \
|
||||
$(foreach var,$(getargv),\
|
||||
$(foreach pat,$(var)% %$(var),\
|
||||
$(call is_XinY,$(pat),${$(mcg_goals)})\
|
||||
)))
|
||||
isTargetStemClean = $(call isTargetStem,clean)
|
||||
isTargetStemExport = $(call isTargetStem,export)
|
||||
isTargetStemLibs = $(call isTargetStem,libs)
|
||||
|
128
js/src/config/makefiles/xpcshell.mk
Normal file
128
js/src/config/makefiles/xpcshell.mk
Normal file
@ -0,0 +1,128 @@
|
||||
# -*- makefile -*-
|
||||
# vim:set ts=8 sw=8 sts=8 noet:
|
||||
#
|
||||
# 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_TESTS_XPCSHELL_MK #{
|
||||
|
||||
ifdef XPCSHELL_TESTS #{
|
||||
|
||||
ifndef relativesrcdir
|
||||
$(error Must define relativesrcdir when defining XPCSHELL_TESTS.)
|
||||
endif
|
||||
|
||||
define _INSTALL_TESTS
|
||||
$(DIR_INSTALL) $(wildcard $(srcdir)/$(dir)/*) $(testxpcobjdir)/$(relativesrcdir)/$(dir)
|
||||
|
||||
endef # do not remove the blank line!
|
||||
|
||||
SOLO_FILE ?= $(error Specify a test filename in SOLO_FILE when using check-interactive or check-one)
|
||||
|
||||
testxpcsrcdir = $(topsrcdir)/testing/xpcshell
|
||||
|
||||
libs:: libs-xpcshell-tests
|
||||
|
||||
###########################################################################
|
||||
libs-xpcshell-tests:
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(_INSTALL_TESTS))
|
||||
ifndef NO_XPCSHELL_MANIFEST_CHECK #{
|
||||
$(PYTHON) $(MOZILLA_DIR)/build/xpccheck.py \
|
||||
$(topsrcdir) \
|
||||
$(topsrcdir)/testing/xpcshell/xpcshell.ini \
|
||||
$(addprefix $(MOZILLA_DIR)/$(relativesrcdir)/,$(XPCSHELL_TESTS))
|
||||
endif #} NO_XPCSHELL_MANIFEST_CHECK
|
||||
|
||||
###########################################################################
|
||||
# Execute all tests in the $(XPCSHELL_TESTS) directories.
|
||||
# See also testsuite-targets.mk 'xpcshell-tests' target for global execution.
|
||||
xpcshell-tests:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--tests-root-dir=$(testxpcobjdir) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--xunit-file=$(testxpcobjdir)/$(relativesrcdir)/results.xml \
|
||||
--xunit-suite-name=xpcshell \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
xpcshell-tests-remote: DM_TRANS?=adb
|
||||
xpcshell-tests-remote:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(topsrcdir)/build/mobile \
|
||||
$(topsrcdir)/testing/xpcshell/remotexpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
--dm_trans=$(DM_TRANS) \
|
||||
--deviceIP=${TEST_DEVICE} \
|
||||
--objdir=$(DEPTH) \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
###########################################################################
|
||||
# Execute a single test, specified in $(SOLO_FILE), but don't automatically
|
||||
# start the test. Instead, present the xpcshell prompt so the user can
|
||||
# attach a debugger and then start the test.
|
||||
check-interactive:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--interactive \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
# Execute a single test, specified in $(SOLO_FILE)
|
||||
check-one:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--verbose \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
check-one-remote: DM_TRANS?=adb
|
||||
check-one-remote:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(topsrcdir)/build/mobile \
|
||||
$(testxpcsrcdir)/remotexpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--verbose \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
--dm_trans=$(DM_TRANS) \
|
||||
--deviceIP=${TEST_DEVICE} \
|
||||
--objdir=$(DEPTH) \
|
||||
--noSetup \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
|
||||
.PHONY: xpcshell-tests check-interactive check-one libs-xpcshell-tests
|
||||
|
||||
endif #} XPCSHELL_TESTS
|
||||
|
||||
INCLUDED_TESTS_XPCSHELL_MK = 1
|
||||
endif #} INCLUDED_TESTS_XPCSHELL_MK
|
@ -85,108 +85,9 @@ ifdef ENABLE_TESTS
|
||||
# locally against non-current test code.
|
||||
DIRS += $(TEST_DIRS)
|
||||
|
||||
ifdef XPCSHELL_TESTS
|
||||
ifndef relativesrcdir
|
||||
$(error Must define relativesrcdir when defining XPCSHELL_TESTS.)
|
||||
endif
|
||||
|
||||
define _INSTALL_TESTS
|
||||
$(DIR_INSTALL) $(wildcard $(srcdir)/$(dir)/*) $(testxpcobjdir)/$(relativesrcdir)/$(dir)
|
||||
|
||||
endef # do not remove the blank line!
|
||||
|
||||
SOLO_FILE ?= $(error Specify a test filename in SOLO_FILE when using check-interactive or check-one)
|
||||
|
||||
libs::
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(_INSTALL_TESTS))
|
||||
ifndef NO_XPCSHELL_MANIFEST_CHECK
|
||||
$(PYTHON) $(MOZILLA_DIR)/build/xpccheck.py \
|
||||
$(topsrcdir) \
|
||||
$(topsrcdir)/testing/xpcshell/xpcshell.ini \
|
||||
$(addprefix $(MOZILLA_DIR)/$(relativesrcdir)/,$(XPCSHELL_TESTS))
|
||||
endif
|
||||
|
||||
testxpcsrcdir = $(topsrcdir)/testing/xpcshell
|
||||
|
||||
# Execute all tests in the $(XPCSHELL_TESTS) directories.
|
||||
# See also testsuite-targets.mk 'xpcshell-tests' target for global execution.
|
||||
xpcshell-tests:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build -I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--tests-root-dir=$(testxpcobjdir) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--xunit-file=$(testxpcobjdir)/$(relativesrcdir)/results.xml \
|
||||
--xunit-suite-name=xpcshell \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
xpcshell-tests-remote: DM_TRANS?=adb
|
||||
xpcshell-tests-remote:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(topsrcdir)/build/mobile \
|
||||
$(topsrcdir)/testing/xpcshell/remotexpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
--dm_trans=$(DM_TRANS) \
|
||||
--deviceIP=${TEST_DEVICE} \
|
||||
--objdir=$(DEPTH) \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
# Execute a single test, specified in $(SOLO_FILE), but don't automatically
|
||||
# start the test. Instead, present the xpcshell prompt so the user can
|
||||
# attach a debugger and then start the test.
|
||||
check-interactive:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build -I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--interactive \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
# Execute a single test, specified in $(SOLO_FILE)
|
||||
check-one:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build -I$(DEPTH)/_tests/mozbase/mozinfo \
|
||||
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--testing-modules-dir=$(DEPTH)/_tests/modules \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--verbose \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
$(LIBXUL_DIST)/bin/xpcshell \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
|
||||
check-one-remote: DM_TRANS?=adb
|
||||
check-one-remote:
|
||||
$(PYTHON) -u $(topsrcdir)/config/pythonpath.py \
|
||||
-I$(topsrcdir)/build \
|
||||
-I$(topsrcdir)/build/mobile \
|
||||
$(testxpcsrcdir)/remotexpcshelltests.py \
|
||||
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||
--test-path=$(SOLO_FILE) \
|
||||
--profile-name=$(MOZ_APP_NAME) \
|
||||
--verbose \
|
||||
$(EXTRA_TEST_ARGS) \
|
||||
--dm_trans=$(DM_TRANS) \
|
||||
--deviceIP=${TEST_DEVICE} \
|
||||
--objdir=$(DEPTH) \
|
||||
--noSetup \
|
||||
$(foreach dir,$(XPCSHELL_TESTS),$(testxpcobjdir)/$(relativesrcdir)/$(dir))
|
||||
endif # XPCSHELL_TESTS
|
||||
ifndef INCLUDED_TESTS_XPCSHELL_MK #{
|
||||
include $(topsrcdir)/config/makefiles/xpcshell.mk
|
||||
endif #}
|
||||
|
||||
ifdef CPP_UNIT_TESTS
|
||||
|
||||
@ -207,7 +108,7 @@ check::
|
||||
|
||||
endif # CPP_UNIT_TESTS
|
||||
|
||||
.PHONY: check xpcshell-tests check-interactive check-one
|
||||
.PHONY: check
|
||||
|
||||
endif # ENABLE_TESTS
|
||||
|
||||
@ -1375,6 +1276,7 @@ export:: $(AUTOCFG_JS_EXPORTS) $(FINAL_TARGET)/defaults/autoconfig
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Export the elements of $(XPIDLSRCS)
|
||||
# generating .h and .xpt files and moving them to the appropriate places.
|
||||
@ -1848,106 +1750,12 @@ TAGS: $(SUBMAKEFILES) $(CSRCS) $(CPPSRCS) $(wildcard *.h)
|
||||
$(LOOP_OVER_PARALLEL_DIRS)
|
||||
$(LOOP_OVER_DIRS)
|
||||
|
||||
echo-variable-%:
|
||||
@echo "$($*)"
|
||||
|
||||
echo-tiers:
|
||||
@echo $(TIERS)
|
||||
|
||||
echo-tier-dirs:
|
||||
@$(foreach tier,$(TIERS),echo '$(tier):'; echo ' dirs: $(tier_$(tier)_dirs)'; echo ' staticdirs: $(tier_$(tier)_staticdirs)'; )
|
||||
|
||||
echo-dirs:
|
||||
@echo $(DIRS)
|
||||
|
||||
echo-module:
|
||||
@echo $(MODULE)
|
||||
|
||||
echo-depth-path:
|
||||
@$(topsrcdir)/build/unix/print-depth-path.sh
|
||||
|
||||
echo-module-name:
|
||||
@$(topsrcdir)/build/package/rpm/print-module-name.sh
|
||||
|
||||
echo-module-filelist:
|
||||
@$(topsrcdir)/build/package/rpm/print-module-filelist.sh
|
||||
|
||||
showtargs:
|
||||
ifneq (,$(filter $(PROGRAM) $(HOST_PROGRAM) $(SIMPLE_PROGRAMS) $(HOST_LIBRARY) $(LIBRARY) $(SHARED_LIBRARY),$(TARGETS)))
|
||||
@echo --------------------------------------------------------------------------------
|
||||
@echo "PROGRAM = $(PROGRAM)"
|
||||
@echo "SIMPLE_PROGRAMS = $(SIMPLE_PROGRAMS)"
|
||||
@echo "LIBRARY = $(LIBRARY)"
|
||||
@echo "SHARED_LIBRARY = $(SHARED_LIBRARY)"
|
||||
@echo "SHARED_LIBRARY_LIBS = $(SHARED_LIBRARY_LIBS)"
|
||||
@echo "LIBS = $(LIBS)"
|
||||
@echo "DEF_FILE = $(DEF_FILE)"
|
||||
@echo "IMPORT_LIBRARY = $(IMPORT_LIBRARY)"
|
||||
@echo "STATIC_LIBS = $(STATIC_LIBS)"
|
||||
@echo "SHARED_LIBS = $(SHARED_LIBS)"
|
||||
@echo "EXTRA_DSO_LIBS = $(EXTRA_DSO_LIBS)"
|
||||
@echo "EXTRA_DSO_LDOPTS = $(EXTRA_DSO_LDOPTS)"
|
||||
@echo "DEPENDENT_LIBS = $(DEPENDENT_LIBS)"
|
||||
@echo --------------------------------------------------------------------------------
|
||||
endif
|
||||
$(LOOP_OVER_PARALLEL_DIRS)
|
||||
$(LOOP_OVER_DIRS)
|
||||
|
||||
showbuild:
|
||||
@echo "MOZ_BUILD_ROOT = $(MOZ_BUILD_ROOT)"
|
||||
@echo "MOZ_WIDGET_TOOLKIT = $(MOZ_WIDGET_TOOLKIT)"
|
||||
@echo "CC = $(CC)"
|
||||
@echo "CXX = $(CXX)"
|
||||
@echo "CCC = $(CCC)"
|
||||
@echo "CPP = $(CPP)"
|
||||
@echo "LD = $(LD)"
|
||||
@echo "AR = $(AR)"
|
||||
@echo "IMPLIB = $(IMPLIB)"
|
||||
@echo "FILTER = $(FILTER)"
|
||||
@echo "MKSHLIB = $(MKSHLIB)"
|
||||
@echo "MKCSHLIB = $(MKCSHLIB)"
|
||||
@echo "RC = $(RC)"
|
||||
@echo "MC = $(MC)"
|
||||
@echo "CFLAGS = $(CFLAGS)"
|
||||
@echo "OS_CFLAGS = $(OS_CFLAGS)"
|
||||
@echo "COMPILE_CFLAGS = $(COMPILE_CFLAGS)"
|
||||
@echo "CXXFLAGS = $(CXXFLAGS)"
|
||||
@echo "OS_CXXFLAGS = $(OS_CXXFLAGS)"
|
||||
@echo "COMPILE_CXXFLAGS = $(COMPILE_CXXFLAGS)"
|
||||
@echo "COMPILE_CMFLAGS = $(COMPILE_CMFLAGS)"
|
||||
@echo "COMPILE_CMMFLAGS = $(COMPILE_CMMFLAGS)"
|
||||
@echo "LDFLAGS = $(LDFLAGS)"
|
||||
@echo "OS_LDFLAGS = $(OS_LDFLAGS)"
|
||||
@echo "DSO_LDOPTS = $(DSO_LDOPTS)"
|
||||
@echo "OS_INCLUDES = $(OS_INCLUDES)"
|
||||
@echo "OS_LIBS = $(OS_LIBS)"
|
||||
@echo "EXTRA_LIBS = $(EXTRA_LIBS)"
|
||||
@echo "BIN_FLAGS = $(BIN_FLAGS)"
|
||||
@echo "INCLUDES = $(INCLUDES)"
|
||||
@echo "DEFINES = $(DEFINES)"
|
||||
@echo "ACDEFINES = $(ACDEFINES)"
|
||||
@echo "BIN_SUFFIX = $(BIN_SUFFIX)"
|
||||
@echo "LIB_SUFFIX = $(LIB_SUFFIX)"
|
||||
@echo "DLL_SUFFIX = $(DLL_SUFFIX)"
|
||||
@echo "IMPORT_LIB_SUFFIX = $(IMPORT_LIB_SUFFIX)"
|
||||
@echo "INSTALL = $(INSTALL)"
|
||||
@echo "VPATH = $(VPATH)"
|
||||
|
||||
showhost:
|
||||
@echo "HOST_CC = $(HOST_CC)"
|
||||
@echo "HOST_CXX = $(HOST_CXX)"
|
||||
@echo "HOST_CFLAGS = $(HOST_CFLAGS)"
|
||||
@echo "HOST_LDFLAGS = $(HOST_LDFLAGS)"
|
||||
@echo "HOST_LIBS = $(HOST_LIBS)"
|
||||
@echo "HOST_EXTRA_LIBS = $(HOST_EXTRA_LIBS)"
|
||||
@echo "HOST_EXTRA_DEPS = $(HOST_EXTRA_DEPS)"
|
||||
@echo "HOST_PROGRAM = $(HOST_PROGRAM)"
|
||||
@echo "HOST_OBJS = $(HOST_OBJS)"
|
||||
@echo "HOST_PROGOBJS = $(HOST_PROGOBJS)"
|
||||
@echo "HOST_LIBRARY = $(HOST_LIBRARY)"
|
||||
|
||||
showbuildmods::
|
||||
@echo "Module dirs = $(BUILD_MODULE_DIRS)"
|
||||
ifndef INCLUDED_DEBUGMAKE_MK #{
|
||||
## Only parse when an echo* or show* target is requested
|
||||
ifneq (,$(call isTargetStem,echo,show))
|
||||
include $(topsrcdir)/config/makefiles/debugmake.mk
|
||||
endif #}
|
||||
endif #}
|
||||
|
||||
documentation:
|
||||
@cd $(DEPTH)
|
||||
|
Loading…
Reference in New Issue
Block a user