зеркало из https://github.com/mozilla/gecko-dev.git
190 строки
5.1 KiB
Python
190 строки
5.1 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: Bindings (WebIDL)")
|
|
|
|
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",
|
|
"BindingCallContext.h",
|
|
"BindingDeclarations.h",
|
|
"BindingIPCUtils.h",
|
|
"BindingUtils.h",
|
|
"CallbackFunction.h",
|
|
"CallbackInterface.h",
|
|
"CallbackObject.h",
|
|
"DOMExceptionNames.h",
|
|
"DOMJSClass.h",
|
|
"DOMJSProxyHandler.h",
|
|
"DOMString.h",
|
|
"Errors.msg",
|
|
"Exceptions.h",
|
|
"FakeString.h",
|
|
"IterableIterator.h",
|
|
"JSSlots.h",
|
|
"NonRefcountedDOMObject.h",
|
|
"Nullable.h",
|
|
"PinnedStringId.h",
|
|
"PrimitiveConversions.h",
|
|
"ReadableStream.h",
|
|
"Record.h",
|
|
"RemoteObjectProxy.h",
|
|
"RootedDictionary.h",
|
|
"SimpleGlobalObject.h",
|
|
"SpiderMonkeyInterface.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/webrtc",
|
|
"/dom/media/webrtc/common/time_profiling",
|
|
"/dom/media/webrtc/jsapi",
|
|
"/dom/media/webrtc/libwebrtcglue",
|
|
"/dom/media/webrtc/transport",
|
|
"/dom/media/webspeech/recognition",
|
|
"/dom/svg",
|
|
"/dom/xml",
|
|
"/dom/xslt/base",
|
|
"/dom/xslt/xpath",
|
|
"/dom/xul",
|
|
"/js/xpconnect/src",
|
|
"/js/xpconnect/wrappers",
|
|
"/layout/generic",
|
|
"/layout/style",
|
|
"/layout/xul/tree",
|
|
"/media/webrtc/",
|
|
"/netwerk/base/",
|
|
"/third_party/libwebrtc",
|
|
"/third_party/libwebrtc/webrtc",
|
|
]
|
|
|
|
LOCAL_INCLUDES += ["/third_party/msgpack/include"]
|
|
|
|
DEFINES["GOOGLE_PROTOBUF_NO_RTTI"] = True
|
|
DEFINES["GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER"] = True
|
|
|
|
UNIFIED_SOURCES += [
|
|
"BindingUtils.cpp",
|
|
"CallbackInterface.cpp",
|
|
"CallbackObject.cpp",
|
|
"DOMJSProxyHandler.cpp",
|
|
"Exceptions.cpp",
|
|
"IterableIterator.cpp",
|
|
"nsScriptError.cpp",
|
|
"nsScriptErrorWithStack.cpp",
|
|
"RemoteObjectProxy.cpp",
|
|
"SimpleGlobalObject.cpp",
|
|
"ToJSValue.cpp",
|
|
"WebIDLGlobalNameHash.cpp",
|
|
]
|
|
|
|
# Some tests, including those for 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",
|
|
"test/WrapperCachedNonISupportsTestInterface.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",
|
|
"test/WrapperCachedNonISupportsTestInterface.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"]:
|
|
GeneratedFile(
|
|
"CSS2Properties.webidl",
|
|
script="GenerateCSS2PropertiesWebIDL.py",
|
|
entry_point="generate",
|
|
inputs=[
|
|
"/dom/webidl/CSS2Properties.webidl.in",
|
|
"!/layout/style/ServoCSSPropList.py",
|
|
],
|
|
)
|