# -*- 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', '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', ] # 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/bluetooth/common/webapi', '/dom/camera', '/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 if CONFIG['MOZ_SIMPLEPUSH']: DEFINES['MOZ_SIMPLEPUSH'] = 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', ]