mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 23:31:56 +00:00
bbe856eaf5
Backed out changeset 90b7449882b6 (bug 1255485) Backed out changeset 5672cf8d324b (bug 1255485) Backed out changeset ed6dd4aefadb (bug 1255485) Backed out changeset 0ba36c0feddb (bug 1255485) Backed out changeset 51af06b6123c (bug 1255485)
111 lines
4.5 KiB
Makefile
111 lines
4.5 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/.
|
|
|
|
dist_dest = $(DIST)/$(MOZ_MACBUNDLE_NAME)
|
|
|
|
# hardcode en-US for the moment
|
|
AB_CD = en-US
|
|
|
|
# Build a binary bootstrapping with XRE_main
|
|
|
|
ifndef MOZ_WINCONSOLE
|
|
ifneq (,$(MOZ_DEBUG)$(MOZ_ASAN))
|
|
MOZ_WINCONSOLE = 1
|
|
else
|
|
MOZ_WINCONSOLE = 0
|
|
endif
|
|
endif
|
|
|
|
# This switches $(INSTALL) to copy mode, like $(SYSINSTALL), so things that
|
|
# shouldn't get 755 perms need $(IFLAGS1) for either way of calling nsinstall.
|
|
NSDISTMODE = copy
|
|
|
|
include $(topsrcdir)/config/config.mk
|
|
|
|
# If we are trying to show an error dialog about the lack of SSE2 support,
|
|
# make sure that code itself doesn't use SSE2.
|
|
ifdef MOZ_LINUX_32_SSE2_STARTUP_ERROR
|
|
CXX := $(filter-out -march=% -msse -msse2 -mfpmath=sse,$(CXX))
|
|
CXX += -march=pentiumpro
|
|
endif
|
|
|
|
ifeq ($(OS_ARCH),WINNT)
|
|
# Rebuild firefox.exe if the manifest changes - it's included by splash.rc.
|
|
# (this dependency should really be just for firefox.exe, not other targets)
|
|
# Note the manifest file exists in the tree, so we use the explicit filename
|
|
# here.
|
|
EXTRA_DEPS += firefox.exe.manifest
|
|
endif
|
|
|
|
PROGRAMS_DEST = $(DIST)/bin
|
|
|
|
include $(topsrcdir)/config/rules.mk
|
|
|
|
ifneq (,$(filter-out WINNT,$(OS_ARCH)))
|
|
|
|
ifdef COMPILE_ENVIRONMENT
|
|
libs::
|
|
cp -p $(MOZ_APP_NAME)$(BIN_SUFFIX) $(DIST)/bin/$(MOZ_APP_NAME)-bin$(BIN_SUFFIX)
|
|
endif
|
|
|
|
GARBAGE += $(addprefix $(FINAL_TARGET)/defaults/pref/, firefox.js)
|
|
|
|
endif
|
|
|
|
# channel-prefs.js is handled separate from other prefs due to bug 756325
|
|
# DO NOT change the content of channel-prefs.js without taking the appropriate
|
|
# steps. See bug 1431342.
|
|
libs:: $(srcdir)/profile/channel-prefs.js
|
|
$(NSINSTALL) -D $(DIST)/bin/defaults/pref
|
|
$(call py_action,preprocessor,-Fsubstitution $(PREF_PPFLAGS) $(ACDEFINES) $^ -o $(DIST)/bin/defaults/pref/channel-prefs.js)
|
|
|
|
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
|
|
|
|
MAC_APP_NAME = $(MOZ_APP_DISPLAYNAME)
|
|
|
|
ifdef MOZ_DEBUG
|
|
MAC_APP_NAME := $(MAC_APP_NAME)Debug
|
|
endif
|
|
|
|
AB_CD = $(MOZ_UI_LOCALE)
|
|
|
|
ifeq (zh-TW,$(AB_CD))
|
|
LPROJ_ROOT := $(subst -,_,$(AB_CD))
|
|
else
|
|
LPROJ_ROOT := $(firstword $(subst -, ,$(AB_CD)))
|
|
endif
|
|
LPROJ := Contents/Resources/$(LPROJ_ROOT).lproj
|
|
|
|
clean clobber repackage::
|
|
$(RM) -r $(dist_dest)
|
|
|
|
MAC_BUNDLE_VERSION = $(shell $(PYTHON) $(srcdir)/macversion.py --version=$(MOZ_APP_VERSION) --buildid=$(DEPTH)/buildid.h)
|
|
|
|
.PHONY: repackage
|
|
tools repackage:: $(DIST)/bin/$(MOZ_APP_NAME) features
|
|
rm -rf $(dist_dest)
|
|
$(MKDIR) -p '$(dist_dest)/Contents/MacOS'
|
|
$(MKDIR) -p '$(dist_dest)/$(LPROJ)'
|
|
rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents '$(dist_dest)' --exclude English.lproj
|
|
rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents/Resources/English.lproj/ '$(dist_dest)/$(LPROJ)'
|
|
sed -e 's/%APP_VERSION%/$(MOZ_APP_VERSION)/' -e 's/%MAC_APP_NAME%/$(MAC_APP_NAME)/' -e 's/%MOZ_MACBUNDLE_ID%/$(MOZ_MACBUNDLE_ID)/' -e 's/%MAC_BUNDLE_VERSION%/$(MAC_BUNDLE_VERSION)/' -e 's|%MOZ_DEVELOPER_REPO_PATH%|$(topsrcdir)|' -e 's|%MOZ_DEVELOPER_OBJ_PATH%|$(topobjdir)|' $(srcdir)/macbuild/Contents/Info.plist.in > '$(dist_dest)/Contents/Info.plist'
|
|
sed -e 's/%MAC_APP_NAME%/$(MAC_APP_NAME)/' $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | iconv -f UTF-8 -t UTF-16 > '$(dist_dest)/$(LPROJ)/InfoPlist.strings'
|
|
rsync -a --exclude-from='$(srcdir)/macbuild/Contents/MacOS-files.in' $(DIST)/bin/ '$(dist_dest)/Contents/Resources'
|
|
rsync -a --include-from='$(srcdir)/macbuild/Contents/MacOS-files.in' --exclude '*' $(DIST)/bin/ '$(dist_dest)/Contents/MacOS'
|
|
$(RM) '$(dist_dest)/Contents/MacOS/$(MOZ_APP_NAME)'
|
|
rsync -aL $(DIST)/bin/$(MOZ_APP_NAME) '$(dist_dest)/Contents/MacOS'
|
|
cp -RL $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/firefox.icns '$(dist_dest)/Contents/Resources/firefox.icns'
|
|
cp -RL $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/document.icns '$(dist_dest)/Contents/Resources/document.icns'
|
|
$(MKDIR) -p '$(dist_dest)/Contents/Library/LaunchServices'
|
|
ifdef MOZ_UPDATER
|
|
mv -f '$(dist_dest)/Contents/MacOS/updater.app/Contents/MacOS/org.mozilla.updater' '$(dist_dest)/Contents/Library/LaunchServices'
|
|
ln -s ../../../../Library/LaunchServices/org.mozilla.updater '$(dist_dest)/Contents/MacOS/updater.app/Contents/MacOS/org.mozilla.updater'
|
|
endif
|
|
printf APPLMOZB > '$(dist_dest)/Contents/PkgInfo'
|
|
endif
|
|
|
|
.PHONY: features
|
|
tools features::
|
|
$(PYTHON) -c 'import os, json; listing = {"system": sorted(os.listdir("$(DIST)/bin/browser/features"))}; print json.dumps(listing)' > $(DIST)/bin/browser/chrome/browser/content/browser/built_in_addons.json
|