dom/bindings/Makefile.in

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

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)

mercurial