summaryrefslogtreecommitdiffstats
path: root/dom/bindings/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'dom/bindings/moz.build')
-rw-r--r--dom/bindings/moz.build161
1 files changed, 161 insertions, 0 deletions
diff --git a/dom/bindings/moz.build b/dom/bindings/moz.build
new file mode 100644
index 000000000..fadaac69b
--- /dev/null
+++ b/dom/bindings/moz.build
@@ -0,0 +1,161 @@
+# -*- 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/.
+
+TEST_DIRS += ['test']
+
+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',
+ 'MozMap.h',
+ 'NonRefcountedDOMObject.h',
+ 'Nullable.h',
+ 'PrimitiveConversions.h',
+ 'RootedDictionary.h',
+ 'SimpleGlobalObject.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/workers',
+ '/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',
+]
+
+UNIFIED_SOURCES += [
+ 'BindingUtils.cpp',
+ 'CallbackInterface.cpp',
+ 'CallbackObject.cpp',
+ 'Date.cpp',
+ 'DOMJSProxyHandler.cpp',
+ 'Exceptions.cpp',
+ 'IterableIterator.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']:
+ 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')
+
+if CONFIG['MOZ_AUDIO_CHANNEL_MANAGER']:
+ LOCAL_INCLUDES += [
+ '/dom/system/gonk',
+ ]
+
+FINAL_LIBRARY = 'xul'
+
+SPHINX_TREES['webidl'] = 'docs'
+SPHINX_PYTHON_PACKAGE_DIRS += ['mozwebidlcodegen']
+
+if CONFIG['MOZ_BUILD_APP'] in ['browser', 'mobile/android', 'xulrunner']:
+ # This is needed for Window.webidl
+ DEFINES['HAVE_SIDEBAR'] = True
+
+
+PYTHON_UNIT_TESTS += [
+ 'mozwebidlcodegen/test/test_mozwebidlcodegen.py',
+]
+
+if CONFIG['GNU_CXX']:
+ CXXFLAGS += ['-Wno-error=shadow']
+
+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/PythonCSSProps.h',
+ ]