mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
2ceb8811dc
packager.py itself has been able to do preprocessing since the beginning. For some reason, Makefile.in-driven preprocessing was kept back then, and never was removed, and even worse, concatenation was added on top of it. There is however a downside to the current way of doing things: error reporting is given relative to the given manifest, which in the current case is the preprocessed/concatenated file, so line numbers don't match what is in the file in the source tree. However, when packager.py does preprocessing itself, line numbers are reported properly. Thus, switch all package manifests to packager.py-driven preprocessing.
86 lines
2.4 KiB
Makefile
86 lines
2.4 KiB
Makefile
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
STANDALONE_MAKEFILE := 1
|
|
|
|
# overwrite mobile-l10n.js with a matchOS=true one for multi-locale builds
|
|
ifeq ($(AB_CD),multi)
|
|
L10N_PREF_JS_EXPORTS = $(srcdir)/mobile-l10n.js
|
|
L10N_PREF_JS_EXPORTS_PATH = $(FINAL_TARGET)/$(PREF_DIR)
|
|
L10N_PREF_JS_EXPORTS_FLAGS = $(PREF_PPFLAGS) --silence-missing-directive-warnings
|
|
PP_TARGETS += L10N_PREF_JS_EXPORTS
|
|
endif
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in
|
|
|
|
MOZ_PKG_MANIFEST = $(srcdir)/package-manifest.in
|
|
|
|
ifdef MOZ_CHROME_MULTILOCALE
|
|
MOZ_PKG_MANIFEST_DEPS = locale-manifest.in
|
|
|
|
DEFINES += -DPKG_LOCALE_MANIFEST=$(CURDIR)/locale-manifest.in
|
|
endif
|
|
|
|
DEFINES += \
|
|
-DMOZ_APP_NAME=$(MOZ_APP_NAME) \
|
|
-DPREF_DIR=$(PREF_DIR) \
|
|
-DJAREXT= \
|
|
-DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) \
|
|
-DMOZ_CHILD_PROCESS_NAME_PIE=$(MOZ_CHILD_PROCESS_NAME_PIE) \
|
|
-DANDROID_CPU_ARCH=$(ANDROID_CPU_ARCH) \
|
|
$(NULL)
|
|
|
|
ifdef MOZ_DEBUG
|
|
DEFINES += -DMOZ_DEBUG=1
|
|
endif
|
|
|
|
MOZ_PACKAGER_MINIFY=1
|
|
|
|
include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
|
|
|
|
# Note that JS_BINARY can be defined in packager.mk, so this test must come
|
|
# after including that file. MOZ_PACKAGER_MINIFY_JS is used in packager.mk, but
|
|
# since recipe evaluation is deferred, we can set it here after the inclusion.
|
|
ifneq (,$(JS_BINARY))
|
|
ifndef MOZ_DEBUG
|
|
ifndef NIGHTLY_BUILD
|
|
MOZ_PACKAGER_MINIFY_JS=1
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifeq (bundle, $(MOZ_FS_LAYOUT))
|
|
BINPATH = $(_BINPATH)
|
|
DEFINES += -DAPPNAME=$(_APPNAME)
|
|
else
|
|
# Every other platform just winds up in dist/bin
|
|
BINPATH = bin
|
|
endif
|
|
DEFINES += -DBINPATH=$(BINPATH)
|
|
|
|
ifdef ENABLE_MARIONETTE
|
|
DEFINES += -DENABLE_MARIONETTE=1
|
|
endif
|
|
|
|
|
|
ifdef MOZ_CHROME_MULTILOCALE
|
|
# When MOZ_CHROME_MULTILOCALE is defined, we write multilocale.json like:
|
|
# {"locales": ["en-US", "de", "ar", ...]}
|
|
locale-manifest.in: $(GLOBAL_DEPS) FORCE
|
|
printf '\n[multilocale]\n' > $@
|
|
printf '@BINPATH@/res/multilocale.json\n' >> $@
|
|
for LOCALE in en-US $(MOZ_CHROME_MULTILOCALE) ;\
|
|
do \
|
|
printf '$(BINPATH)/chrome/'"$$LOCALE"'$(JAREXT)\n' >> $@; \
|
|
printf '$(BINPATH)/chrome/'"$$LOCALE"'.manifest\n' >> $@; \
|
|
done
|
|
COMMA=,
|
|
echo '{"locales": [$(foreach l,$(MOZ_CHROME_MULTILOCALE),"$(l)"$(COMMA)) "en-US"]}' \
|
|
> $(FINAL_TARGET)/res/multilocale.json
|
|
|
|
GARBAGE += locale-manifest.in
|
|
endif
|