mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 08:12:05 +00:00
cae8c6bcee
Until now, we had some STL headers listed in the system-headers list such that they would get a system wrapper, but not all of them. On the other hand, the STL wrappers do the same job as the system wrappers (applying default visibility), on top of their own, so the presence of the STL headers in system-headers wasn't making much of a difference. Except we have places in the tree where we can't build with STL wrappers for a number of reasons. And in that case, we *do* need system wrappers for the STL headers, but we didn't have system wrappers for all of them. So instead of relying on the STL headers being listed both in system-headers and stl-headers, concatenate both lists to create the system wrappers.
104 lines
2.9 KiB
Makefile
104 lines
2.9 KiB
Makefile
# -*- 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
|
|
|
|
ifdef WRAP_STL_INCLUDES
|
|
ifdef GNU_CXX
|
|
stl_compiler = gcc
|
|
else
|
|
ifdef _MSC_VER
|
|
stl_compiler = msvc
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifdef stl_compiler
|
|
STL_WRAPPERS_SENTINEL = $(DIST)/stl_wrappers/sentinel
|
|
|
|
$(STL_WRAPPERS_SENTINEL): $(srcdir)/make-stl-wrappers.py $(srcdir)/$(stl_compiler)-stl-wrapper.template.h $(srcdir)/stl-headers $(GLOBAL_DEPS)
|
|
$(PYTHON) $(srcdir)/make-stl-wrappers.py stl_wrappers $(stl_compiler) $(srcdir)/$(stl_compiler)-stl-wrapper.template.h $(srcdir)/stl-headers
|
|
$(PYTHON) $(srcdir)/nsinstall.py -t stl_wrappers $(DIST)
|
|
touch $(STL_WRAPPERS_SENTINEL)
|
|
|
|
export:: $(STL_WRAPPERS_SENTINEL)
|
|
|
|
GARBAGE += $(STL_WRAPPERS_SENTINEL)
|
|
GARBAGE_DIRS += stl_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-preqs += check-makefiles
|
|
|
|
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
|
|
|
|
check-makefiles:
|
|
$(MAKE) -C tests/makefiles/autodeps check
|