diff --git a/accessible/public/ia2/Makefile.in b/accessible/public/ia2/Makefile.in index ba08b5126067..35fd596d6971 100644 --- a/accessible/public/ia2/Makefile.in +++ b/accessible/public/ia2/Makefile.in @@ -67,6 +67,11 @@ MIDL_GENERATED_FILES = \ EMBED_MANIFEST_AT = 2 +INSTALL_TARGETS += midl +midl_FILES := $(filter %.h %_i.c,$(MIDL_GENERATED_FILES)) +midl_DEST = $(DIST)/include +midl_TARGET := export + include $(topsrcdir)/config/rules.mk OS_LIBS = $(call EXPAND_LIBNAME,uuid kernel32 rpcns4 rpcrt4 ole32 oleaut32) diff --git a/accessible/public/ia2/moz.build b/accessible/public/ia2/moz.build index 308e3aaeb267..ba9c2b6207fb 100644 --- a/accessible/public/ia2/moz.build +++ b/accessible/public/ia2/moz.build @@ -5,49 +5,5 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. MODULE = 'accessibility' - -# Please keep this list in sync with the Makefile.in until the rest of that file -# is ported over. -midl_interfaces = [ - 'Accessible2', - 'Accessible2_2', - 'AccessibleAction', - 'AccessibleApplication', - 'AccessibleComponent', - 'AccessibleDocument', - 'AccessibleEditableText', - 'AccessibleHyperlink', - 'AccessibleHypertext', - 'AccessibleHypertext2', - 'AccessibleImage', - 'AccessibleRelation', - 'AccessibleTable', - 'AccessibleTable2', - 'AccessibleTableCell', - 'AccessibleText', - 'AccessibleText2', - 'AccessibleValue', -] - -# Please keep this list in sync with the Makefile.in until the rest of that file -# is ported over. -midl_enums = [ - 'AccessibleEventId', - 'AccessibleRole', - 'AccessibleStates', - 'IA2CommonTypes', -] - -headers = ['%s.h' % x for x in midl_enums] -interfaces_h = ['%s.h' % x for x in midl_interfaces] -interfaces_c = ['%s_i.c' % x for x in midl_interfaces] - -# The underscore throws off sorting and EXPORTS expects sorted lists. -interfaces_c.sort() - -EXPORTS += headers -EXPORTS += interfaces_h -EXPORTS += interfaces_c - LIBRARY_NAME = 'IA2Marshal' diff --git a/accessible/public/msaa/Makefile.in b/accessible/public/msaa/Makefile.in index 452959f73fbb..a72b5c89d800 100644 --- a/accessible/public/msaa/Makefile.in +++ b/accessible/public/msaa/Makefile.in @@ -60,5 +60,19 @@ register:: EMBED_MANIFEST_AT = 2 +midl_exports := \ + ISimpleDOMDocument.h \ + ISimpleDOMDocument_i.c \ + ISimpleDOMNode.h \ + ISimpleDOMNode_i.c \ + ISimpleDOMText.h \ + ISimpleDOMText_i.c \ + $(NULL) + +INSTALL_TARGETS += midl_exports +midl_exports_FILES := $(midl_exports) +midl_exports_DEST = $(DIST)/include +midl_exports_TARGET := export + include $(topsrcdir)/config/rules.mk diff --git a/accessible/public/msaa/moz.build b/accessible/public/msaa/moz.build index d4cace7276a0..0b8d28869dbd 100644 --- a/accessible/public/msaa/moz.build +++ b/accessible/public/msaa/moz.build @@ -6,14 +6,5 @@ MODULE = 'accessibility' -EXPORTS += [ - 'ISimpleDOMDocument.h', - 'ISimpleDOMDocument_i.c', - 'ISimpleDOMNode.h', - 'ISimpleDOMNode_i.c', - 'ISimpleDOMText.h', - 'ISimpleDOMText_i.c', -] - LIBRARY_NAME = 'AccessibleMarshal' diff --git a/accessible/src/xpcom/Makefile.in b/accessible/src/xpcom/Makefile.in index a87748938cc6..d8e5659645ca 100644 --- a/accessible/src/xpcom/Makefile.in +++ b/accessible/src/xpcom/Makefile.in @@ -11,6 +11,11 @@ include $(DEPTH)/config/autoconf.mk EXTRA_MDDEPEND_FILES = xpcAccEvents.pp +INSTALL_TARGETS += xpcaccevents +xpcaccevents_FILES := xpcAccEvents.h +xpcaccevents_DEST = $(DIST)/include +xpcaccevents_TARGET := export + include $(topsrcdir)/config/rules.mk LOCAL_INCLUDES = \ diff --git a/accessible/src/xpcom/moz.build b/accessible/src/xpcom/moz.build index 9bbe85607176..da9fcd374cb9 100644 --- a/accessible/src/xpcom/moz.build +++ b/accessible/src/xpcom/moz.build @@ -6,10 +6,6 @@ MODULE = 'accessibility' -EXPORTS += [ - 'xpcAccEvents.h', -] - CPP_SOURCES += [ 'nsAccessibleRelation.cpp', 'xpcAccEvents.cpp', diff --git a/dom/bindings/Makefile.in b/dom/bindings/Makefile.in index b4fc965b457e..78b397895021 100644 --- a/dom/bindings/Makefile.in +++ b/dom/bindings/Makefile.in @@ -110,6 +110,7 @@ INSTALL_TARGETS += EXPORTS_GENERATED # be in the same target/subtier as GlobalGen.py, otherwise the files will not # get installed into the appropriate location as they are generated. globalgen_headers_FILES := \ + GeneratedAtomList.h \ PrototypeList.h \ RegisterBindings.h \ UnionConversions.h \ diff --git a/dom/bindings/moz.build b/dom/bindings/moz.build index 69b28606ed64..3368a276e819 100644 --- a/dom/bindings/moz.build +++ b/dom/bindings/moz.build @@ -21,7 +21,6 @@ EXPORTS.mozilla.dom += [ 'DOMJSProxyHandler.h', 'Date.h', 'Errors.msg', - 'GeneratedAtomList.h', 'JSSlots.h', 'NonRefcountedDOMObject.h', 'Nullable.h', diff --git a/gfx/cairo/cairo/src/Makefile.in b/gfx/cairo/cairo/src/Makefile.in index 21e1506502e6..993d7d2d6c7f 100644 --- a/gfx/cairo/cairo/src/Makefile.in +++ b/gfx/cairo/cairo/src/Makefile.in @@ -93,6 +93,11 @@ endif LOCAL_INCLUDES += -I$(srcdir) +INSTALL_TARGETS += cairo_features +cairo_features_FILES := cairo-features.h +cairo_features_DEST = $(DIST)/include/cairo +cairo_features_TARGET := export + include $(topsrcdir)/config/rules.mk ifdef GNU_CC diff --git a/gfx/cairo/cairo/src/moz.build b/gfx/cairo/cairo/src/moz.build index 53535922c5a2..afe9dcf114c8 100644 --- a/gfx/cairo/cairo/src/moz.build +++ b/gfx/cairo/cairo/src/moz.build @@ -10,7 +10,6 @@ MODULE = 'cairo' EXPORTS.cairo += [ 'cairo-deprecated.h', - 'cairo-features.h', 'cairo-platform.h', 'cairo-rename.h', 'cairo-tee.h', diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build index 529846e18533..1c49fb3efae0 100644 --- a/gfx/layers/moz.build +++ b/gfx/layers/moz.build @@ -53,8 +53,8 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': 'd3d9/LayerManagerD3D9.h', ] EXPORTS.mozilla.layers += [ - 'CompositorD3D9.h', - 'TextureD3D9.h', + 'd3d9/CompositorD3D9.h', + 'd3d9/TextureD3D9.h', ] CPP_SOURCES += [ 'CompositorD3D9.cpp', @@ -100,8 +100,6 @@ EXPORTS.mozilla.layers += [ 'CompositorTypes.h', 'D3D9SurfaceImage.h', 'Effects.h', - 'GrallocTextureClient.h', - 'GrallocTextureHost.h', 'ImageDataSerializer.h', 'LayersTypes.h', 'RenderTrace.h', @@ -145,6 +143,8 @@ EXPORTS.mozilla.layers += [ 'ipc/TaskThrottler.h', 'opengl/CompositingRenderTargetOGL.h', 'opengl/CompositorOGL.h', + 'opengl/GrallocTextureClient.h', + 'opengl/GrallocTextureHost.h', 'opengl/TextureClientOGL.h', 'opengl/TextureHostOGL.h', ] diff --git a/js/src/Makefile.in b/js/src/Makefile.in index 0f8606094314..2439e81e72bd 100644 --- a/js/src/Makefile.in +++ b/js/src/Makefile.in @@ -201,6 +201,16 @@ symverscript: symverscript.in EXTRA_DEPS += symverscript endif +export_files = js-config.h +ifdef HAVE_DTRACE +export_files += $(CURDIR)/javascript-trace.h +endif + +INSTALL_TARGETS += jsconfig +jsconfig_FILES = $(export_files) +jsconfig_DEST = $(DIST)/include +jsconfig_TARGETS := export + include $(topsrcdir)/config/rules.mk ifdef JS_HAS_CTYPES diff --git a/js/src/moz.build b/js/src/moz.build index 850f778eb49a..e9348ff09532 100644 --- a/js/src/moz.build +++ b/js/src/moz.build @@ -31,7 +31,6 @@ CONFIGURE_SUBST_FILES += ['devtools/rootAnalysis/Makefile'] # browser builds. Don't add new files here unless you know what you're # doing! EXPORTS += [ - 'js-config.h', 'js.msg', 'jsalloc.h', 'jsapi.h', @@ -49,11 +48,6 @@ EXPORTS += [ 'perf/jsperf.h', ] -if CONFIG['HAVE_DTRACE']: - EXPORTS += [ - '$(CURDIR)/javascript-trace.h', - ] - # If you add a header here, add it to js/src/jsapi-tests/testIntTypesABI.cpp so # that we ensure we don't over-expose our internal integer typedefs. Note that # LegacyIntTypes.h below is deliberately exempted from this requirement. diff --git a/js/xpconnect/src/Makefile.in b/js/xpconnect/src/Makefile.in index 74105ae99335..2911973d5fd4 100644 --- a/js/xpconnect/src/Makefile.in +++ b/js/xpconnect/src/Makefile.in @@ -40,6 +40,15 @@ SHARED_LIBRARY_LIBS = \ EXTRA_MDDEPEND_FILES = dom_qsgen.pp dictionary_helper_gen.pp event_impl_gen.pp +INSTALL_TARGETS += extra_export_files +extra_export_files_FILES := \ + DictionaryHelpers.h \ + GeneratedEventClasses.h \ + GeneratedEvents.h \ + $(NULL) +extra_export_files_DEST = $(DIST)/include +extra_export_files_TARGET := export + include $(topsrcdir)/config/rules.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk @@ -147,14 +156,6 @@ GeneratedEvents-webidl: event_impl_gen.conf --webidltarget=$(top_srcdir)/dom/webidl \ event_impl_gen.conf -_EXTRA_EXPORT_FILES = \ - DictionaryHelpers.h \ - GeneratedEventClasses.h \ - $(NULL) - -libs:: $(_EXTRA_EXPORT_FILES) - $(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/dist/include - GARBAGE += \ dom_quickstubs.h \ dom_quickstubs.cpp \ diff --git a/js/xpconnect/src/moz.build b/js/xpconnect/src/moz.build index b47d77abd487..5d6ff8bd59c6 100644 --- a/js/xpconnect/src/moz.build +++ b/js/xpconnect/src/moz.build @@ -8,7 +8,6 @@ MODULE = 'xpconnect' EXPORTS += [ 'BackstagePass.h', - 'GeneratedEvents.h', 'XPCJSMemoryReporter.h', 'nsCxPusher.h', 'qsObjectHelper.h', diff --git a/layout/style/Makefile.in b/layout/style/Makefile.in index e526b9034993..776f3bea45fd 100644 --- a/layout/style/Makefile.in +++ b/layout/style/Makefile.in @@ -14,6 +14,11 @@ OS_CFLAGS := $(OS_CFLAGS) -Wshadow OS_CXXFLAGS := $(OS_CXXFLAGS) -Wshadow endif +INSTALL_TARGETS += structlist +structlist_FILES := nsStyleStructList.h +structlist_DEST = $(DIST)/include +structlist_TARGET := export + include $(topsrcdir)/config/rules.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk diff --git a/layout/style/moz.build b/layout/style/moz.build index 0d4ed279a21d..5bf1ae4184c8 100644 --- a/layout/style/moz.build +++ b/layout/style/moz.build @@ -54,7 +54,6 @@ EXPORTS += [ 'nsStyleStruct.h', 'nsStyleStructFwd.h', 'nsStyleStructInlines.h', - 'nsStyleStructList.h', 'nsStyleTransformMatrix.h', 'nsStyleUtil.h', ] diff --git a/netwerk/Makefile.in b/netwerk/Makefile.in new file mode 100644 index 000000000000..900f0ea07a12 --- /dev/null +++ b/netwerk/Makefile.in @@ -0,0 +1,15 @@ +# 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/. + +DEPTH := @DEPTH@ +topsrcdir := @top_srcdir@ +srcdir := @srcdir@ +VPATH := @srcdir@ + +INSTALL_TARGETS += neckoconfig +neckoconfig_FILES := necko-config.h +neckoconfig_DEST = $(DIST)/include +neckoconfig_TARGET := export + +include $(topsrcdir)/config/rules.mk diff --git a/netwerk/moz.build b/netwerk/moz.build index ad37d15c7cc5..9a2dfa6d13b0 100644 --- a/netwerk/moz.build +++ b/netwerk/moz.build @@ -35,8 +35,3 @@ DIRS += ['build'] TEST_TOOL_DIRS += ['test'] MODULE = 'necko' - -EXPORTS += [ - 'necko-config.h', -] - diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py index 05b08ef56edc..4527e3cf477c 100644 --- a/python/mozbuild/mozbuild/backend/recursivemake.py +++ b/python/mozbuild/mozbuild/backend/recursivemake.py @@ -208,7 +208,7 @@ def consume_object(self, obj): else: backend_file.write('%s := %s\n' % (k, v)) elif isinstance(obj, Exports): - self._process_exports(obj.exports, backend_file) + self._process_exports(obj, obj.exports, backend_file) elif isinstance(obj, IPDLFile): self._ipdl_sources.add(mozpath.join(obj.srcdir, obj.basename)) @@ -367,7 +367,7 @@ def _process_directory_traversal(self, obj, backend_file): fh.write('PARALLEL_DIRS += %s\n' % ' '.join(obj.parallel_external_make_dirs)) - def _process_exports(self, exports, backend_file, namespace=""): + def _process_exports(self, obj, exports, backend_file, namespace=""): strings = exports.get_strings() if namespace: if strings: @@ -383,13 +383,17 @@ def _process_exports(self, exports, backend_file, namespace=""): backend_file.write('%s += %s\n' % (export_name, ' '.join(strings))) for s in strings: + source = os.path.normpath(os.path.join(obj.srcdir, s)) + if not os.path.isfile(source): + raise Exception('File listed in EXPORTS does not exist: %s' % source) + p = '%s%s' % (namespace, s) self._purge_manifests['dist_include'].add(p) children = exports.get_children() for subdir in sorted(children): - self._process_exports(children[subdir], backend_file, - namespace=namespace + subdir) + self._process_exports(obj, children[subdir], backend_file, + namespace=namespace + subdir) def _handle_idl_manager(self, manager): build_files = self._purge_manifests['xpidl'] diff --git a/python/mozbuild/mozbuild/test/backend/data/exports/dom1.h b/python/mozbuild/mozbuild/test/backend/data/exports/dom1.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/mozbuild/mozbuild/test/backend/data/exports/dom2.h b/python/mozbuild/mozbuild/test/backend/data/exports/dom2.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/mozbuild/mozbuild/test/backend/data/exports/foo.h b/python/mozbuild/mozbuild/test/backend/data/exports/foo.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/mozbuild/mozbuild/test/backend/data/exports/gfx.h b/python/mozbuild/mozbuild/test/backend/data/exports/gfx.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/mozbuild/mozbuild/test/backend/data/exports/mozilla1.h b/python/mozbuild/mozbuild/test/backend/data/exports/mozilla1.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/mozbuild/mozbuild/test/backend/data/exports/mozilla2.h b/python/mozbuild/mozbuild/test/backend/data/exports/mozilla2.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/python/mozbuild/mozbuild/test/backend/data/exports/pprio.h b/python/mozbuild/mozbuild/test/backend/data/exports/pprio.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/toolkit/components/telemetry/Makefile.in b/toolkit/components/telemetry/Makefile.in index 96de16c49321..c91cbad56092 100644 --- a/toolkit/components/telemetry/Makefile.in +++ b/toolkit/components/telemetry/Makefile.in @@ -30,6 +30,11 @@ ifdef MOZ_HISTOGRAMS_VERSION DEFINES += -DHISTOGRAMS_FILE_VERSION="$(MOZ_HISTOGRAMS_VERSION)" endif +INSTALL_TARGETS += histoenums +histoenums_FILES := TelemetryHistogramEnums.h +histoenums_DEST = $(DIST)/include/mozilla +histoenums_TARGET := export + include $(topsrcdir)/config/rules.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk diff --git a/toolkit/components/telemetry/moz.build b/toolkit/components/telemetry/moz.build index 363cff190125..bb4f01a543bf 100644 --- a/toolkit/components/telemetry/moz.build +++ b/toolkit/components/telemetry/moz.build @@ -16,7 +16,6 @@ MODULE = 'telemetry' EXPORTS.mozilla += [ 'ProcessedStack.h', 'Telemetry.h', - 'TelemetryHistogramEnums.h', ] CPP_SOURCES += [ diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build index ed9a37031d62..78f69f770312 100644 --- a/uriloader/exthandler/moz.build +++ b/uriloader/exthandler/moz.build @@ -42,12 +42,14 @@ EXPORTS += [ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': EXPORTS += [ - 'nsExternalSharingAppService.h', - 'nsExternalURLHandlerService.h', + osdir + '/nsExternalSharingAppService.h', + osdir + '/nsExternalURLHandlerService.h', ] if CONFIG['MOZ_ENABLE_MEEGOTOUCHSHARE']: - EXPORTS += ['nsExternalSharingAppService.h'] + EXPORTS += [ + osdir + '/nsExternalSharingAppService.h', + ] EXPORTS.mozilla.dom += [ 'ExternalHelperAppChild.h', diff --git a/xpcom/Makefile.in b/xpcom/Makefile.in new file mode 100644 index 000000000000..e7f6c35a1926 --- /dev/null +++ b/xpcom/Makefile.in @@ -0,0 +1,15 @@ +# 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/. + +DEPTH := @DEPTH@ +topsrcdir := @top_srcdir@ +srcdir := @srcdir@ +VPATH := @srcdir@ + +INSTALL_TARGETS += xpcom +xpcom_FILES := xpcom-config.h +xpcom_DEST = $(DIST)/include +xpcom_TARGET := export + +include $(topsrcdir)/config/rules.mk diff --git a/xpcom/base/Makefile.in b/xpcom/base/Makefile.in index cdb4b4ae698a..5e34139d2918 100644 --- a/xpcom/base/Makefile.in +++ b/xpcom/base/Makefile.in @@ -19,6 +19,14 @@ endif endif #if OS_ARCH == WINNT +INSTALL_TARGETS += errorlist +errorlist_FILES := \ + ErrorListCDefines.h \ + ErrorListCxxDefines.h \ + $(NULL) +errorlist_DEST = $(DIST)/include +errorlist_TARGET := export + include $(topsrcdir)/config/rules.mk include $(topsrcdir)/ipc/chromium/chromium-config.mk diff --git a/xpcom/base/moz.build b/xpcom/base/moz.build index b46a78f0cec4..8a6c76f29bec 100644 --- a/xpcom/base/moz.build +++ b/xpcom/base/moz.build @@ -43,8 +43,6 @@ MODULE = 'xpcom' EXPORTS += [ 'ErrorList.h', - 'ErrorListCDefines.h', - 'ErrorListCxxDefines.h', 'nsAgg.h', 'nsAutoPtr.h', 'nsAutoRef.h', diff --git a/xpcom/moz.build b/xpcom/moz.build index 133e68d21ed0..3ff09e573402 100644 --- a/xpcom/moz.build +++ b/xpcom/moz.build @@ -39,8 +39,3 @@ if CONFIG['DEHYDRA_PATH']: DIRS += ['analysis'] MODULE = 'xpcom' - -# xpcom-config.h is generated by configure -EXPORTS += [ - 'xpcom-config.h', -]