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.
michael@0 | 1 | # This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
michael@0 | 4 | |
michael@0 | 5 | abs_dist := $(abspath $(DIST)) |
michael@0 | 6 | webidl_base := $(topsrcdir)/dom/webidl |
michael@0 | 7 | |
michael@0 | 8 | # Generated by moz.build |
michael@0 | 9 | include webidlsrcs.mk |
michael@0 | 10 | |
michael@0 | 11 | ifdef GNU_CC |
michael@0 | 12 | OS_CXXFLAGS += -Wno-uninitialized |
michael@0 | 13 | endif |
michael@0 | 14 | |
michael@0 | 15 | # These come from webidlsrcs.mk. |
michael@0 | 16 | # TODO Write directly into backend.mk. |
michael@0 | 17 | CPPSRCS += $(globalgen_sources) $(unified_binding_cpp_files) |
michael@0 | 18 | |
michael@0 | 19 | # Generated bindings reference *Binding.h, not mozilla/dom/*Binding.h. And, |
michael@0 | 20 | # since we generate exported bindings directly to $(DIST)/include, we need |
michael@0 | 21 | # to add that path to the search list. |
michael@0 | 22 | # |
michael@0 | 23 | # Ideally, binding generation uses the prefixed header file names. |
michael@0 | 24 | # Bug 932092 tracks. |
michael@0 | 25 | LOCAL_INCLUDES += -I$(DIST)/include/mozilla/dom |
michael@0 | 26 | |
michael@0 | 27 | PYTHON_UNIT_TESTS += $(srcdir)/mozwebidlcodegen/test/test_mozwebidlcodegen.py |
michael@0 | 28 | |
michael@0 | 29 | include $(topsrcdir)/config/rules.mk |
michael@0 | 30 | |
michael@0 | 31 | # TODO This list should be emitted to a .pp file via |
michael@0 | 32 | # GenerateCSS2PropertiesWebIDL.py. |
michael@0 | 33 | css2properties_dependencies = \ |
michael@0 | 34 | $(topsrcdir)/layout/style/nsCSSPropList.h \ |
michael@0 | 35 | $(topsrcdir)/layout/style/nsCSSPropAliasList.h \ |
michael@0 | 36 | $(webidl_base)/CSS2Properties.webidl.in \ |
michael@0 | 37 | $(webidl_base)/CSS2PropertiesProps.h \ |
michael@0 | 38 | $(srcdir)/GenerateCSS2PropertiesWebIDL.py \ |
michael@0 | 39 | $(GLOBAL_DEPS) \ |
michael@0 | 40 | $(NULL) |
michael@0 | 41 | |
michael@0 | 42 | CSS2Properties.webidl: $(css2properties_dependencies) |
michael@0 | 43 | $(CPP) $(DEFINES) $(ACDEFINES) -I$(topsrcdir)/layout/style \ |
michael@0 | 44 | $(webidl_base)/CSS2PropertiesProps.h | \ |
michael@0 | 45 | PYTHONDONTWRITEBYTECODE=1 $(PYTHON) \ |
michael@0 | 46 | $(srcdir)/GenerateCSS2PropertiesWebIDL.py \ |
michael@0 | 47 | $(webidl_base)/CSS2Properties.webidl.in > $@ |
michael@0 | 48 | |
michael@0 | 49 | # Most of the logic for dependencies lives inside Python so it can be |
michael@0 | 50 | # used by multiple build backends. We simply have rules to generate |
michael@0 | 51 | # and include the .pp file. |
michael@0 | 52 | # |
michael@0 | 53 | # The generated .pp file contains all the important dependencies such as |
michael@0 | 54 | # changes to .webidl or .py files should result in code generation being |
michael@0 | 55 | # performed. But we do pull in file-lists.jon to catch file additions. |
michael@0 | 56 | codegen_dependencies := \ |
michael@0 | 57 | file-lists.json \ |
michael@0 | 58 | $(nonstatic_webidl_files) \ |
michael@0 | 59 | $(GLOBAL_DEPS) \ |
michael@0 | 60 | $(NULL) |
michael@0 | 61 | |
michael@0 | 62 | # The 1 is to make codegen.pp not optional. |
michael@0 | 63 | $(call include_deps,codegen.pp,1) |
michael@0 | 64 | |
michael@0 | 65 | codegen.pp: $(codegen_dependencies) |
michael@0 | 66 | $(call py_action,webidl,$(srcdir)) |
michael@0 | 67 | @$(TOUCH) $@ |
michael@0 | 68 | |
michael@0 | 69 | .PHONY: compiletests |
michael@0 | 70 | compiletests: |
michael@0 | 71 | $(call SUBMAKE,libs,test) |
michael@0 | 72 | |
michael@0 | 73 | GARBAGE += \ |
michael@0 | 74 | codegen.pp \ |
michael@0 | 75 | codegen.json \ |
michael@0 | 76 | parser.out \ |
michael@0 | 77 | WebIDLGrammar.pkl \ |
michael@0 | 78 | $(wildcard *.h) \ |
michael@0 | 79 | $(wildcard *Binding.cpp) \ |
michael@0 | 80 | $(wildcard *Event.cpp) \ |
michael@0 | 81 | $(wildcard *-event.cpp) \ |
michael@0 | 82 | $(wildcard *.webidl) \ |
michael@0 | 83 | $(NULL) |
michael@0 | 84 | |
michael@0 | 85 | DIST_GARBAGE += \ |
michael@0 | 86 | file-lists.json \ |
michael@0 | 87 | $(NULL) |