Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 USE_RCS_MK := 1
6 include $(topsrcdir)/config/makefiles/rcs.mk
8 PREF_JS_EXPORTS = $(srcdir)/b2g.js
10 ifndef LIBXUL_SDK
12 ifeq (gonk,$(MOZ_WIDGET_TOOLKIT))
13 LIBS += \
14 -lui \
15 -lEGL \
16 -lhardware_legacy \
17 -lhardware \
18 -lcutils \
19 $(DEPTH)/media/libpng/$(LIB_PREFIX)mozpng.$(LIB_SUFFIX) \
20 $(DEPTH)/widget/gonk/libdisplay/$(LIB_PREFIX)display.$(LIB_SUFFIX) \
21 $(MOZ_ZLIB_LIBS) \
22 $(NULL)
23 ifeq ($(ANDROID_VERSION),$(findstring $(ANDROID_VERSION),17 18 19))
24 LIBS += \
25 -lgui \
26 -lsuspend \
27 $(NULL)
28 endif
29 endif
31 LIBS += $(JEMALLOC_LIBS)
33 LIBS += \
34 $(XPCOM_STANDALONE_GLUE_LDOPTS) \
35 $(NULL)
37 ifeq (gonk,$(MOZ_WIDGET_TOOLKIT))
38 LIBS += \
39 -lbinder \
40 -lutils \
41 $(NULL)
42 endif
44 ifeq ($(OS_ARCH),WINNT)
45 OS_LIBS += $(call EXPAND_LIBNAME,version)
46 endif
47 endif #LIBXUL_SDK
49 UA_UPDATE_FILE = ua-update.json
51 $(UA_UPDATE_FILE): % : %.in
52 # strip out comment lines, which are not valid in JSON
53 sed -e '/^ *\/\//d' -e '/^ *$$/d' $^ > $@
55 UA_UPDATE_FILES = $(UA_UPDATE_FILE)
56 UA_UPDATE_DEST = $(FINAL_TARGET)
57 INSTALL_TARGETS += UA_UPDATE
59 # Make sure the standalone glue doesn't try to get libxpcom.so from b2g/app.
60 NSDISTMODE = copy
62 include $(topsrcdir)/config/rules.mk
64 APP_ICON = b2g
66 source_repo ?= $(call getSourceRepo,$(srcdir)/..)
67 ifneq (,$(filter http%,$(source_repo)))
68 DEFINES += -DMOZ_SOURCE_REPO='$(source_repo)'
69 endif
71 ifeq ($(OS_ARCH),WINNT)
72 REDIT_PATH = $(LIBXUL_DIST)/bin
73 endif
75 APP_BINARY = $(MOZ_APP_NAME)$(BIN_SUFFIX)
77 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
79 APP_NAME = $(MOZ_APP_DISPLAYNAME)
80 APP_VERSION = $(MOZ_APP_VERSION)
82 ifdef MOZ_DEBUG
83 APP_NAME := $(APP_NAME)Debug
84 endif
86 AB_CD = $(MOZ_UI_LOCALE)
88 AB := $(firstword $(subst -, ,$(AB_CD)))
90 clean clobber repackage::
91 rm -rf $(DIST)/$(APP_NAME).app
93 ifdef LIBXUL_SDK
94 APPFILES = Resources
95 else
96 APPFILES = MacOS
97 endif
99 libs-preqs = \
100 $(call mkdir_deps,$(DIST)/$(APP_NAME).app/Contents/MacOS) \
101 $(call mkdir_deps,$(DIST)/$(APP_NAME).app/Contents/Resources/$(AB).lproj) \
102 $(NULL)
104 .PHONY: repackage
105 tools repackage:: $(libs-preqs)
106 rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents $(DIST)/$(APP_NAME).app --exclude English.lproj
107 rsync -a --exclude '*.in' $(srcdir)/macbuild/Contents/Resources/English.lproj/ $(DIST)/$(APP_NAME).app/Contents/Resources/$(AB).lproj
108 sed -e 's/%MOZ_APP_VERSION%/$(MOZ_APP_VERSION)/' -e 's/%MOZ_APP_NAME%/$(MOZ_APP_NAME)/' -e 's/%APP_VERSION%/$(APP_VERSION)/' -e 's/%APP_NAME%/$(APP_NAME)/' -e 's/%APP_BINARY%/$(APP_BINARY)/' $(srcdir)/macbuild/Contents/Info.plist.in > $(DIST)/$(APP_NAME).app/Contents/Info.plist
109 sed -e 's/%APP_VERSION%/$(APP_VERSION)/' -e 's/%APP_NAME%/$(APP_NAME)/' $(srcdir)/macbuild/Contents/Resources/English.lproj/InfoPlist.strings.in | iconv -f UTF-8 -t UTF-16 > $(DIST)/$(APP_NAME).app/Contents/Resources/$(AB).lproj/InfoPlist.strings
110 rsync -a $(DIST)/bin/ $(DIST)/$(APP_NAME).app/Contents/$(APPFILES)
111 $(RM) $(DIST)/$(APP_NAME).app/Contents/$(APPFILES)/mangle $(DIST)/$(APP_NAME).app/Contents/$(APPFILES)/shlibsign
112 ifdef LIBXUL_SDK
113 cp $(LIBXUL_DIST)/bin/xulrunner$(BIN_SUFFIX) $(DIST)/$(APP_NAME).app/Contents/MacOS/$(APP_BINARY)
114 rsync -a --exclude nsinstall --copy-unsafe-links $(LIBXUL_DIST)/XUL.framework $(DIST)/$(APP_NAME).app/Contents/Frameworks
115 else
116 $(RM) $(DIST)/$(APP_NAME).app/Contents/MacOS/$(PROGRAM)
117 rsync -aL $(PROGRAM) $(DIST)/$(APP_NAME).app/Contents/MacOS
118 endif
119 cp -RL $(srcdir)/b2g.icns $(DIST)/$(APP_NAME).app/Contents/Resources/$(MOZ_APP_NAME).icns
120 printf APPLMOZB > $(DIST)/$(APP_NAME).app/Contents/PkgInfo
122 else # MOZ_WIDGET_TOOLKIT != cocoa
124 libs::
125 ifdef LIBXUL_SDK
126 cp $(LIBXUL_DIST)/bin/xulrunner-stub$(BIN_SUFFIX) $(DIST)/bin/$(APP_BINARY)
127 endif
128 ifndef SKIP_COPY_XULRUNNER
129 ifdef LIBXUL_SDK
130 $(NSINSTALL) -D $(DIST)/bin/xulrunner
131 (cd $(LIBXUL_SDK)/bin && tar $(TAR_CREATE_FLAGS) - .) | (cd $(DIST)/bin/xulrunner && tar -xf -)
132 endif
133 endif # SKIP_COPY_XULRUNNER
135 $(NSINSTALL) -D $(DIST)/bin/chrome/icons/default
137 # Copy the app icon for b2g-desktop
138 ifeq ($(OS_ARCH),WINNT)
139 cp $(srcdir)/$(APP_ICON).ico $(DIST)/bin/chrome/icons/default/$(APP_ICON).ico
140 $(REDIT_PATH)/redit$(HOST_BIN_SUFFIX) $(DIST)/bin/$(APP_BINARY) $(srcdir)/$(APP_ICON).ico
141 cp $(srcdir)/$(APP_ICON).ico $(DIST)/bin/chrome/icons/default/default.ico
142 else ifneq (gonk,$(MOZ_WIDGET_TOOLKIT))
143 cp $(srcdir)/default.png $(DIST)/bin/chrome/icons/default/default.png
144 endif
146 endif