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.

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

mercurial