gecko-dev/dom/bindings/moz.build
Gurzau Raul ac1914ecba Backed out 6 changesets (bug 1421501) for bustages on security/nss/lib/freebl/mpi/mp_comba.c on a CLOSED TREE
Backed out changeset cae4910806c7 (bug 1421501)
Backed out changeset 600a005d3613 (bug 1421501)
Backed out changeset 7381597721d2 (bug 1421501)
Backed out changeset 1ee0d35a041f (bug 1421501)
Backed out changeset 772dea1abb7f (bug 1421501)
Backed out changeset c119767aec7b (bug 1421501)
2018-08-23 17:13:42 +03:00

187 lines
4.9 KiB
Python

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
with Files("**"):
BUG_COMPONENT = ("Core", "DOM")
if CONFIG['CC_TYPE'] == 'msvc':
CXXFLAGS += ['-bigobj']
TEST_DIRS += ['test']
XPIDL_SOURCES += [
'nsIScriptError.idl'
]
XPIDL_MODULE = 'dom_bindings'
EXPORTS.ipc += [
'ErrorIPCUtils.h',
]
EXPORTS.mozilla += [
'ErrorResult.h',
'RootedOwningNonNull.h',
'RootedRefPtr.h',
]
EXPORTS.mozilla.dom += [
'AtomList.h',
'BindingDeclarations.h',
'BindingUtils.h',
'CallbackFunction.h',
'CallbackInterface.h',
'CallbackObject.h',
'Date.h',
'DOMJSClass.h',
'DOMJSProxyHandler.h',
'DOMString.h',
'Errors.msg',
'Exceptions.h',
'FakeString.h',
'IterableIterator.h',
'JSSlots.h',
'NonRefcountedDOMObject.h',
'Nullable.h',
'PrimitiveConversions.h',
'ReadableStream.h',
'Record.h',
'RootedDictionary.h',
'SimpleGlobalObject.h',
'SpiderMonkeyInterface.h',
'StructuredClone.h',
'ToJSValue.h',
'TypedArray.h',
'UnionMember.h',
'WebIDLGlobalNameHash.h',
'XrayExpandoClass.h',
]
# Generated bindings reference *Binding.h, not mozilla/dom/*Binding.h. And,
# since we generate exported bindings directly to $(DIST)/include, we need
# to add that path to the search list.
#
# Ideally, binding generation uses the prefixed header file names.
# Bug 932082 tracks.
LOCAL_INCLUDES += [
'!/dist/include/mozilla/dom',
]
LOCAL_INCLUDES += [
'/dom/base',
'/dom/battery',
'/dom/canvas',
'/dom/geolocation',
'/dom/html',
'/dom/indexedDB',
'/dom/media/webaudio',
'/dom/media/webspeech/recognition',
'/dom/svg',
'/dom/xbl',
'/dom/xml',
'/dom/xslt/base',
'/dom/xslt/xpath',
'/dom/xul',
'/js/xpconnect/src',
'/js/xpconnect/wrappers',
'/layout/generic',
'/layout/style',
'/layout/xul/tree',
'/media/mtransport',
'/media/webrtc/',
'/media/webrtc/signaling/src/common/time_profiling',
'/media/webrtc/signaling/src/peerconnection',
'/media/webrtc/trunk/',
]
DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
DEFINES['GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER'] = True
UNIFIED_SOURCES += [
'BindingUtils.cpp',
'CallbackInterface.cpp',
'CallbackObject.cpp',
'Date.cpp',
'DOMJSProxyHandler.cpp',
'Exceptions.cpp',
'IterableIterator.cpp',
'nsScriptError.cpp',
'nsScriptErrorWithStack.cpp',
'SimpleGlobalObject.cpp',
'ToJSValue.cpp',
'WebIDLGlobalNameHash.cpp',
]
SOURCES += [
'StructuredClone.cpp',
]
# Tests for maplike and setlike require bindings to be built, which means they
# must be included in libxul. This breaks the "no test classes are exported"
# rule stated in the test/ directory, but it's the only way this will work.
# Test classes are only built in debug mode, and all tests requiring use of
# them are only run in debug mode.
if CONFIG['MOZ_DEBUG'] and CONFIG['ENABLE_TESTS']:
EXPORTS.mozilla.dom += [
"test/TestFunctions.h",
"test/TestInterfaceIterableDouble.h",
"test/TestInterfaceIterableDoubleUnion.h",
"test/TestInterfaceIterableSingle.h",
"test/TestInterfaceMaplike.h",
"test/TestInterfaceMaplikeObject.h",
"test/TestInterfaceSetlike.h",
"test/TestInterfaceSetlikeNode.h"
]
UNIFIED_SOURCES += [
"test/TestFunctions.cpp",
"test/TestInterfaceIterableDouble.cpp",
"test/TestInterfaceIterableDoubleUnion.cpp",
"test/TestInterfaceIterableSingle.cpp",
"test/TestInterfaceMaplike.cpp",
"test/TestInterfaceMaplikeObject.cpp",
"test/TestInterfaceSetlike.cpp",
"test/TestInterfaceSetlikeNode.cpp",
]
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
SPHINX_TREES['webidl'] = 'docs'
with Files('docs/**'):
SCHEDULES.exclusive = ['docs']
SPHINX_PYTHON_PACKAGE_DIRS += ['mozwebidlcodegen']
with Files('mozwebidlcodegen/**.py'):
SCHEDULES.inclusive += ['docs']
if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
# This is needed for Window.webidl
DEFINES['HAVE_SIDEBAR'] = True
PYTHON_UNITTEST_MANIFESTS += [
'mozwebidlcodegen/test/python.ini',
]
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']
# Suppress warnings in third-party code.
CXXFLAGS += [
'-Wno-maybe-uninitialized',
]
if CONFIG['COMPILE_ENVIRONMENT']:
GENERATED_FILES += ['CSS2Properties.webidl']
css_props = GENERATED_FILES['CSS2Properties.webidl']
css_props.script = 'GenerateCSS2PropertiesWebIDL.py:generate'
css_props.inputs = [
'/dom/webidl/CSS2Properties.webidl.in',
'!/layout/style/ServoCSSPropList.py',
]