зеркало из https://github.com/mozilla/pjs.git
Bug 742391 - Split config/rules.mk - file batch #1. r=ted
This commit is contained in:
Родитель
024c813b5e
Коммит
649059ff0e
|
@ -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
|
endif
|
||||||
|
|
||||||
# Intent: Conditionals for detecting common/tier target use
|
# Intent: Conditionals for detecting common/tier target use
|
||||||
# Todo: are check, install, test needed ?
|
isTargetStem = $(sort \
|
||||||
isTargetStem = $(sort $(foreach pat, $(1)% %$(1), $(call is_XinY,$(pat),${$(mcg_goals)})))
|
$(foreach var,$(getargv),\
|
||||||
|
$(foreach pat,$(var)% %$(var),\
|
||||||
|
$(call is_XinY,$(pat),${$(mcg_goals)})\
|
||||||
|
)))
|
||||||
isTargetStemClean = $(call isTargetStem,clean)
|
isTargetStemClean = $(call isTargetStem,clean)
|
||||||
isTargetStemExport = $(call isTargetStem,export)
|
isTargetStemExport = $(call isTargetStem,export)
|
||||||
isTargetStemLibs = $(call isTargetStem,libs)
|
isTargetStemLibs = $(call isTargetStem,libs)
|
||||||
|
|
|
@ -45,3 +45,28 @@ $(call errorifneq,3,$(words $(call isTargetStemClean)))
|
||||||
TEST_MAKECMDGOALS := invalid
|
TEST_MAKECMDGOALS := invalid
|
||||||
$(call errorifneq,$(zero),$(words $(call isTargetStemClean)))
|
$(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)))
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,121 @@
|
||||||
|
# -*- 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)
|
||||||
|
|
||||||
|
libs:: libs-xpcshell-tests
|
||||||
|
|
||||||
|
testxpcsrcdir = $(topsrcdir)/testing/xpcshell
|
||||||
|
|
||||||
|
###########################################################################
|
||||||
|
# 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 \
|
||||||
|
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||||
|
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||||
|
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||||
|
--test-path=$(SOLO_FILE) \
|
||||||
|
--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 \
|
||||||
|
$(testxpcsrcdir)/runxpcshelltests.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) \
|
||||||
|
$(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))
|
||||||
|
|
||||||
|
###########################################################################
|
||||||
|
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 \
|
||||||
|
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||||
|
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||||
|
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||||
|
--tests-root-dir=$(testxpcobjdir) \
|
||||||
|
--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))
|
||||||
|
|
||||||
|
.PHONY: xpcshell-tests check-interactive check-one libs-xpcshell-tests
|
||||||
|
|
||||||
|
endif #} XPCSHELL_TESTS
|
||||||
|
|
||||||
|
INCLUDED_TESTS_XPCSHELL_MK = 1
|
||||||
|
endif #} INCLUDED_TESTS_XPCSHELL_MK
|
213
config/rules.mk
213
config/rules.mk
|
@ -85,105 +85,11 @@ ifdef ENABLE_TESTS
|
||||||
# locally against non-current test code.
|
# locally against non-current test code.
|
||||||
DIRS += $(TEST_DIRS)
|
DIRS += $(TEST_DIRS)
|
||||||
|
|
||||||
ifdef XPCSHELL_TESTS
|
ifdef ENABLE_TESTS #{
|
||||||
ifndef relativesrcdir
|
ifndef INCLUDED_TESTS_XPCSHELL_MK #{
|
||||||
$(error Must define relativesrcdir when defining XPCSHELL_TESTS.)
|
include $(topsrcdir)/config/makefiles/xpcshell.mk
|
||||||
endif
|
endif #}
|
||||||
|
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) \
|
|
||||||
--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) \
|
|
||||||
--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) \
|
|
||||||
--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
|
|
||||||
|
|
||||||
ifdef CPP_UNIT_TESTS
|
ifdef CPP_UNIT_TESTS
|
||||||
|
|
||||||
|
@ -204,7 +110,7 @@ check::
|
||||||
|
|
||||||
endif # CPP_UNIT_TESTS
|
endif # CPP_UNIT_TESTS
|
||||||
|
|
||||||
.PHONY: check xpcshell-tests check-interactive check-one
|
.PHONY: check
|
||||||
|
|
||||||
endif # ENABLE_TESTS
|
endif # ENABLE_TESTS
|
||||||
|
|
||||||
|
@ -1409,6 +1315,7 @@ export:: $(AUTOCFG_JS_EXPORTS) $(FINAL_TARGET)/defaults/autoconfig
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Export the elements of $(XPIDLSRCS)
|
# Export the elements of $(XPIDLSRCS)
|
||||||
# generating .h and .xpt files and moving them to the appropriate places.
|
# generating .h and .xpt files and moving them to the appropriate places.
|
||||||
|
@ -1866,106 +1773,12 @@ TAGS: $(SUBMAKEFILES) $(CSRCS) $(CPPSRCS) $(wildcard *.h)
|
||||||
$(LOOP_OVER_PARALLEL_DIRS)
|
$(LOOP_OVER_PARALLEL_DIRS)
|
||||||
$(LOOP_OVER_DIRS)
|
$(LOOP_OVER_DIRS)
|
||||||
|
|
||||||
echo-variable-%:
|
ifndef INCLUDED_DEBUGMAKE_MK #{
|
||||||
@echo "$($*)"
|
## Only parse when an echo* or show* target is requested
|
||||||
|
ifneq (,$(call isTargetStem,echo,show))
|
||||||
echo-tiers:
|
include $(topsrcdir)/config/makefiles/debugmake.mk
|
||||||
@echo $(TIERS)
|
endif #}
|
||||||
|
endif #}
|
||||||
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)"
|
|
||||||
|
|
||||||
documentation:
|
documentation:
|
||||||
@cd $(DEPTH)
|
@cd $(DEPTH)
|
||||||
|
|
|
@ -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
|
endif
|
||||||
|
|
||||||
# Intent: Conditionals for detecting common/tier target use
|
# Intent: Conditionals for detecting common/tier target use
|
||||||
# Todo: are check, install, test needed ?
|
isTargetStem = $(sort \
|
||||||
isTargetStem = $(sort $(foreach pat, $(1)% %$(1), $(call is_XinY,$(pat),${$(mcg_goals)})))
|
$(foreach var,$(getargv),\
|
||||||
|
$(foreach pat, $(var)% %$(var),\
|
||||||
|
$(call is_XinY,$(pat),${$(mcg_goals)})\
|
||||||
|
)))
|
||||||
isTargetStemClean = $(call isTargetStem,clean)
|
isTargetStemClean = $(call isTargetStem,clean)
|
||||||
isTargetStemExport = $(call isTargetStem,export)
|
isTargetStemExport = $(call isTargetStem,export)
|
||||||
isTargetStemLibs = $(call isTargetStem,libs)
|
isTargetStemLibs = $(call isTargetStem,libs)
|
||||||
|
|
|
@ -0,0 +1,121 @@
|
||||||
|
# -*- 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)
|
||||||
|
|
||||||
|
libs:: libs-xpcshell-tests
|
||||||
|
|
||||||
|
testxpcsrcdir = $(topsrcdir)/testing/xpcshell
|
||||||
|
|
||||||
|
###########################################################################
|
||||||
|
# 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 \
|
||||||
|
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||||
|
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||||
|
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||||
|
--test-path=$(SOLO_FILE) \
|
||||||
|
--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 \
|
||||||
|
$(testxpcsrcdir)/runxpcshelltests.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) \
|
||||||
|
$(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))
|
||||||
|
|
||||||
|
###########################################################################
|
||||||
|
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 \
|
||||||
|
$(testxpcsrcdir)/runxpcshelltests.py \
|
||||||
|
--symbols-path=$(DIST)/crashreporter-symbols \
|
||||||
|
--build-info-json=$(DEPTH)/mozinfo.json \
|
||||||
|
--tests-root-dir=$(testxpcobjdir) \
|
||||||
|
--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))
|
||||||
|
|
||||||
|
.PHONY: xpcshell-tests check-interactive check-one libs-xpcshell-tests
|
||||||
|
|
||||||
|
endif #} XPCSHELL_TESTS
|
||||||
|
|
||||||
|
INCLUDED_TESTS_XPCSHELL_MK = 1
|
||||||
|
endif #} INCLUDED_TESTS_XPCSHELL_MK
|
|
@ -85,105 +85,11 @@ ifdef ENABLE_TESTS
|
||||||
# locally against non-current test code.
|
# locally against non-current test code.
|
||||||
DIRS += $(TEST_DIRS)
|
DIRS += $(TEST_DIRS)
|
||||||
|
|
||||||
ifdef XPCSHELL_TESTS
|
ifdef ENABLE_TESTS #{
|
||||||
ifndef relativesrcdir
|
ifndef INCLUDED_TESTS_XPCSHELL_MK #{
|
||||||
$(error Must define relativesrcdir when defining XPCSHELL_TESTS.)
|
include $(topsrcdir)/config/makefiles/xpcshell.mk
|
||||||
endif
|
endif #}
|
||||||
|
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) \
|
|
||||||
--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) \
|
|
||||||
--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) \
|
|
||||||
--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
|
|
||||||
|
|
||||||
ifdef CPP_UNIT_TESTS
|
ifdef CPP_UNIT_TESTS
|
||||||
|
|
||||||
|
@ -204,7 +110,7 @@ check::
|
||||||
|
|
||||||
endif # CPP_UNIT_TESTS
|
endif # CPP_UNIT_TESTS
|
||||||
|
|
||||||
.PHONY: check xpcshell-tests check-interactive check-one
|
.PHONY: check
|
||||||
|
|
||||||
endif # ENABLE_TESTS
|
endif # ENABLE_TESTS
|
||||||
|
|
||||||
|
@ -1409,6 +1315,7 @@ export:: $(AUTOCFG_JS_EXPORTS) $(FINAL_TARGET)/defaults/autoconfig
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# Export the elements of $(XPIDLSRCS)
|
# Export the elements of $(XPIDLSRCS)
|
||||||
# generating .h and .xpt files and moving them to the appropriate places.
|
# generating .h and .xpt files and moving them to the appropriate places.
|
||||||
|
@ -1866,106 +1773,12 @@ TAGS: $(SUBMAKEFILES) $(CSRCS) $(CPPSRCS) $(wildcard *.h)
|
||||||
$(LOOP_OVER_PARALLEL_DIRS)
|
$(LOOP_OVER_PARALLEL_DIRS)
|
||||||
$(LOOP_OVER_DIRS)
|
$(LOOP_OVER_DIRS)
|
||||||
|
|
||||||
echo-variable-%:
|
ifndef INCLUDED_DEBUGMAKE_MK #{
|
||||||
@echo "$($*)"
|
## Only parse when an echo* or show* target is requested
|
||||||
|
ifneq (,$(call isTargetStem,echo,show))
|
||||||
echo-tiers:
|
include $(topsrcdir)/config/makefiles/debugmake.mk
|
||||||
@echo $(TIERS)
|
endif #}
|
||||||
|
endif #}
|
||||||
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)"
|
|
||||||
|
|
||||||
documentation:
|
documentation:
|
||||||
@cd $(DEPTH)
|
@cd $(DEPTH)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче