config/Makefile.in
author Mike Shal <mshal@mozilla.com>
Wed, 08 Nov 2017 17:42:27 -0500
changeset 391024 828d43ec1b16edaac69c42f15561f26e209051f1
parent 343323 007864924aeb7fad4442c56c8cd10276d58e9e06
child 391025 5a967cc85e28e63c283a81e2c76444a76dfbd266
permissions -rw-r--r--
Bug 1407432 - Move stl wrapper generation into moz.build; r=froydnj This is fairly straightforward to represent as a GENERATED_FILES, though we have to take some care to construct the outputs tuple correctly. This script needs to run during export, and unfortunately none of the STL headers have proper file extensions, so the 'new' header is special-cased in the recursive make backend to serve as a marker for running it in the correct tier. We can't remove the stl-headers file yet because it is still used for the system header generation. MozReview-Commit-ID: 3tQTOY0LAsQ

# -*- 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/.

# IMPORTANT: Disable NSBUILDROOT for this directory only, otherwise we have
# a recursive rule for finding nsinstall and the Perl scripts.
ifdef NSBUILDROOT
override NSBUILDROOT :=
endif

include $(topsrcdir)/config/config.mk

# L10n jobs are doing make -C config manually before anything else,
# and need nsinstall to be built as a consequence.
ifdef COMPILE_ENVIRONMENT
export:: host

ifneq (WINNT,$(HOST_OS_ARCH))
# Ensure nsinstall is atomically created
nsinstall$(HOST_BIN_SUFFIX): $(HOST_PROGRAM)
	cp $^ $@.tmp
	mv $@.tmp $@

NSINSTALL_EXECUTABLES := nsinstall$(HOST_BIN_SUFFIX)
NSINSTALL_DEST := $(DIST)/bin
NSINSTALL_TARGET := host
INSTALL_TARGETS += NSINSTALL
endif
endif

include $(topsrcdir)/config/rules.mk

ifdef WRAP_SYSTEM_INCLUDES
export-preqs = \
  $(call mkdir_deps,system_wrappers) \
  $(NULL)

export:: $(export-preqs)
	$(PYTHON) -m mozbuild.action.preprocessor $(DEFINES) $(ACDEFINES) \
		-DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
		-DMOZ_TREE_PIXMAN=$(MOZ_TREE_PIXMAN) \
		-DMOZ_SYSTEM_HUNSPELL=$(MOZ_SYSTEM_HUNSPELL) \
		-DMOZ_SYSTEM_BZ2=$(MOZ_SYSTEM_BZ2) \
		-DMOZ_SYSTEM_ZLIB=$(MOZ_SYSTEM_ZLIB) \
		-DMOZ_SYSTEM_PNG=$(MOZ_SYSTEM_PNG) \
		-DMOZ_SYSTEM_JPEG=$(MOZ_SYSTEM_JPEG) \
		-DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
		-DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
		-DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
		$(srcdir)/system-headers $(srcdir)/stl-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
	$(INSTALL) system_wrappers $(DIST)

GARBAGE_DIRS += system_wrappers
endif

GARBAGE += \
  $(FINAL_LINK_COMPS) $(FINAL_LINK_LIBS) $(FINAL_LINK_COMP_NAMES) $(srcdir)/*.pyc *.pyc

FORCE:

ifndef JS_STANDALONE
check-preqs += check-jar-mn
endif

check:: $(check-preqs)

check-jar-mn::
	$(MAKE) -C tests/src-simple check-jar
	$(MAKE) -C tests/src-simple check-flat
	$(MAKE) -C tests/src-simple check-flat USE_EXTENSION_MANIFEST=1
ifneq (,$(filter-out WINNT,$(OS_ARCH)))
	$(MAKE) -C tests/src-simple check-symlink
endif