Bug 941450 - Add some GENERATED_FILES to moz.build. r=gps
☠☠ backed out by de482d38dc53 ☠ ☠
authorMike Hommey <mh+mozilla@glandium.org>
Fri, 22 Nov 2013 08:16:18 +0900
changeset 157361 c30371a66429ff76a0af42baaa1afa172105db84
parent 157360 1eb6ceed2cdab03108bd5de27dfab737e5093822
child 157362 ad3f19e7c0fc3f355d3127eb56ae09d191676479
push id270
push userpvanderbeken@mozilla.com
push dateThu, 06 Mar 2014 09:24:21 +0000
reviewersgps
bugs941450
milestone28.0a1
Bug 941450 - Add some GENERATED_FILES to moz.build. r=gps
config/rules.mk
dom/encoding/Makefile.in
dom/encoding/moz.build
gfx/thebes/Makefile.in
gfx/thebes/moz.build
intl/locale/src/Makefile.in
intl/locale/src/moz.build
intl/locale/src/os2/Makefile.in
intl/locale/src/os2/moz.build
intl/locale/src/unix/Makefile.in
intl/locale/src/unix/moz.build
intl/locale/src/windows/Makefile.in
intl/locale/src/windows/moz.build
js/src/Makefile.in
js/src/config/rules.mk
js/src/moz.build
js/xpconnect/src/Makefile.in
js/xpconnect/src/moz.build
media/libjpeg/Makefile.in
media/libjpeg/moz.build
netwerk/dns/Makefile.in
netwerk/dns/moz.build
parser/expat/lib/Makefile.in
parser/expat/lib/moz.build
python/mozbuild/mozbuild/frontend/emitter.py
python/mozbuild/mozbuild/frontend/sandbox_symbols.py
toolkit/components/telemetry/Makefile.in
toolkit/components/telemetry/moz.build
xpcom/reflect/xptcall/src/md/unix/Makefile.in
xpcom/reflect/xptcall/src/md/unix/moz.build
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -1707,8 +1707,12 @@ default all:: $(PURGECACHES_FILES)
 
 #############################################################################
 # Derived targets and dependencies
 
 include $(topsrcdir)/config/makefiles/autotargets.mk
 ifneq ($(NULL),$(AUTO_DEPS))
   default all libs tools export:: $(AUTO_DEPS)
 endif
+
+export:: $(GENERATED_FILES)
+
+GARBAGE += $(GENERATED_FILES)
--- a/dom/encoding/Makefile.in
+++ b/dom/encoding/Makefile.in
@@ -1,19 +1,11 @@
 # 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/.
 
 include $(topsrcdir)/config/rules.mk
 
-EncodingUtils.$(OBJ_SUFFIX): labelsencodings.properties.h
-FallbackEncoding.$(OBJ_SUFFIX): localesfallbacks.properties.h
-
 PROPS2ARRAYS = $(topsrcdir)/intl/locale/src/props2arrays.py
 labelsencodings.properties.h: $(PROPS2ARRAYS) labelsencodings.properties
 	$(PYTHON) $^ $@
 localesfallbacks.properties.h: $(PROPS2ARRAYS) localesfallbacks.properties
 	$(PYTHON) $^ $@
-
-GARBAGE += \
-	labelsencodings.properties.h \
-	localesfallbacks.properties.h \
-	$(NULL)
--- a/dom/encoding/moz.build
+++ b/dom/encoding/moz.build
@@ -25,8 +25,12 @@ UNIFIED_SOURCES += [
 
 FAIL_ON_WARNINGS = True
 
 FINAL_LIBRARY = 'gklayout'
 LOCAL_INCLUDES += [
     '/intl/locale/src',
 ]
 
+GENERATED_FILES += [
+    'labelsencodings.properties.h',
+    'localesfallbacks.properties.h',
+]
--- a/gfx/thebes/Makefile.in
+++ b/gfx/thebes/Makefile.in
@@ -74,10 +74,8 @@ endif
 
 ifdef SOLARIS_SUNPRO_CXX
 gfxAlphaRecoverySSE2.$(OBJ_SUFFIX): OS_CXXFLAGS += -xarch=sse2 -xO4
 endif
 endif
 
 PremultiplyTables.h: $(srcdir)/genTables.py
 	$(PYTHON) $(srcdir)/genTables.py
-
-gfxUtils.$(OBJ_SUFFIX): PremultiplyTables.h
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
@@ -274,8 +274,12 @@ FAIL_ON_WARNINGS = not CONFIG['_MSC_VER'
 
 MSVC_ENABLE_PGO = True
 
 LIBRARY_NAME = 'thebes'
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
+
+GENERATED_FILES = [
+    'PremultiplyTables.h',
+]
--- a/intl/locale/src/Makefile.in
+++ b/intl/locale/src/Makefile.in
@@ -14,19 +14,13 @@ EXPORT_RESOURCE = \
 
 
 LOCAL_INCLUDES = \
 	-I$(topsrcdir)/intl/uconv/src \
 	$(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
-nsCharsetAlias.$(OBJ_SUFFIX): charsetalias.properties.h
-
 charsetalias.properties.h: props2arrays.py charsetalias.properties
 	$(PYTHON) $^ $@
 
-GARBAGE += \
-	charsetalias.properties.h \
-	$(NULL)
-
 libs::
 	$(INSTALL) $(EXPORT_RESOURCE) $(DIST)/bin/res
--- a/intl/locale/src/moz.build
+++ b/intl/locale/src/moz.build
@@ -29,8 +29,12 @@ SOURCES += [
 
 EXTRA_JS_MODULES += [
     'PluralForm.jsm',
 ]
 
 MSVC_ENABLE_PGO = True
 
 FINAL_LIBRARY = 'i18n'
+
+GENERATED_FILES = [
+    'charsetalias.properties.h',
+]
--- a/intl/locale/src/os2/Makefile.in
+++ b/intl/locale/src/os2/Makefile.in
@@ -2,16 +2,10 @@
 # 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/.
 
 include $(topsrcdir)/config/rules.mk
 
 INCLUDES	+= -I$(srcdir)/..
 
-nsOS2Charset.$(OBJ_SUFFIX): os2charset.properties.h
-
 os2charset.properties.h: $(srcdir)/../props2arrays.py os2charset.properties
 	$(PYTHON) $^ $@
-
-GARBAGE += \
-	os2charset.properties.h \
-	$(NULL)
--- a/intl/locale/src/os2/moz.build
+++ b/intl/locale/src/os2/moz.build
@@ -7,8 +7,12 @@
 SOURCES += [
     'nsCollationOS2.cpp',
     'nsDateTimeFormatOS2.cpp',
     'nsOS2Charset.cpp',
     'nsOS2Locale.cpp',
 ]
 
 FINAL_LIBRARY = 'i18n'
+
+GENERATED_FILES = [
+    'os2charset.properties.h',
+]
--- a/intl/locale/src/unix/Makefile.in
+++ b/intl/locale/src/unix/Makefile.in
@@ -11,16 +11,10 @@ INCLUDES	+= -I$(srcdir)/..
 # Define _XOPEN_SOURCE so CODESET will get defined and thus allow
 # nl_langinfo(CODESET) to compile on these systems.
 ifeq ($(OS_ARCH), Linux)
 DEFINES		+= -D_XOPEN_SOURCE=500
 endif
 
 DEFINES += -DOSTYPE=\"$(OS_CONFIG)\"
 
-nsUNIXCharset.$(OBJ_SUFFIX): unixcharset.properties.h
-
 unixcharset.properties.h: $(srcdir)/../props2arrays.py unixcharset.properties
 	$(PYTHON) $^ $@
-
-GARBAGE += \
-	unixcharset.properties.h \
-	$(NULL)
--- a/intl/locale/src/unix/moz.build
+++ b/intl/locale/src/unix/moz.build
@@ -15,8 +15,12 @@ if CONFIG['OS_TARGET'] == 'Android':
         'nsAndroidCharset.cpp',
     ]
 else:
     SOURCES += [
         'nsUNIXCharset.cpp',
     ]
 
 FINAL_LIBRARY = 'i18n'
+
+GENERATED_FILES = [
+    'unixcharset.properties.h',
+]
--- a/intl/locale/src/windows/Makefile.in
+++ b/intl/locale/src/windows/Makefile.in
@@ -2,16 +2,10 @@
 # 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/.
 
 include $(topsrcdir)/config/rules.mk
 
 INCLUDES	+= -I$(srcdir)/..
 
-nsWinCharset.$(OBJ_SUFFIX): wincharset.properties.h
-
 wincharset.properties.h: $(srcdir)/../props2arrays.py wincharset.properties
 	$(PYTHON) $^ $@
-
-GARBAGE += \
-	wincharset.properties.h \
-	$(NULL)
--- a/intl/locale/src/windows/moz.build
+++ b/intl/locale/src/windows/moz.build
@@ -7,8 +7,12 @@
 SOURCES += [
     'nsCollationWin.cpp',
     'nsDateTimeFormatWin.cpp',
     'nsWin32Locale.cpp',
     'nsWinCharset.cpp',
 ]
 
 FINAL_LIBRARY = 'i18n'
+
+GENERATED_FILES = [
+    'wincharset.properties.h',
+]
--- a/js/src/Makefile.in
+++ b/js/src/Makefile.in
@@ -601,18 +601,16 @@ endif
 
 # Force auto-header generation before compiling any source that may use them
 $(OBJS): $(CURDIR)/jsautokw.h $(CURDIR)/jsautooplen.h
 
 ifdef MOZ_ETW
 ETWProvider.h ETWProvider.rc ETWProvider.mof: ETWProvider.man
 	$(MC) -um -mof $^
 
-Probes.$(OBJ_SUFFIX): ETWProvider.h
-
 ETWProvider.res: ETWProvider.rc
 	$(RC) -r -i "$(SDKDIR)Include" $^
 
 export:: ETWProvider.res
 
 install:: ETWProvider.mof ETWProvider.man
 	$(SYSINSTALL) $^ $(DESTDIR)$(bindir)
 
--- a/js/src/config/rules.mk
+++ b/js/src/config/rules.mk
@@ -1707,8 +1707,12 @@ default all:: $(PURGECACHES_FILES)
 
 #############################################################################
 # Derived targets and dependencies
 
 include $(topsrcdir)/config/makefiles/autotargets.mk
 ifneq ($(NULL),$(AUTO_DEPS))
   default all libs tools export:: $(AUTO_DEPS)
 endif
+
+export:: $(GENERATED_FILES)
+
+GARBAGE += $(GENERATED_FILES)
--- a/js/src/moz.build
+++ b/js/src/moz.build
@@ -379,8 +379,13 @@ HOST_SIMPLE_PROGRAMS += [
 #
 # In fact, we now build both a static and a shared library, as the
 # JS shell would like to link to the static library.
 
 if CONFIG['JS_SHARED_LIBRARY']:
     FORCE_SHARED_LIB = True
 
 FORCE_STATIC_LIB = True
+
+if CONFIG['MOZ_ETW']:
+    GENERATED_FILES = [
+        'ETWProvider.h',
+    ]
--- a/js/xpconnect/src/Makefile.in
+++ b/js/xpconnect/src/Makefile.in
@@ -58,20 +58,16 @@ include $(topsrcdir)/config/rules.mk
 DEFINES += \
   -DJS_THREADSAFE \
   $(NULL)
 
 ifdef MOZ_JSDEBUGGER
 DEFINES += -DMOZ_JSDEBUGGER
 endif
 
-nsXPConnect.$(OBJ_SUFFIX): dom_quickstubs.h
-
-XPCJSRuntime.$(OBJ_SUFFIX): dom_quickstubs.h
-
 dom_quickstubs.h: dom_quickstubs.cpp
 
 dom_quickstubs.cpp: $(srcdir)/dom_quickstubs.qsconf \
                     $(srcdir)/qsgen.py \
                     $(LIBXUL_DIST)/sdk/bin/header.py \
                     $(LIBXUL_DIST)/sdk/bin/xpidl.py
 	$(PYTHON) $(topsrcdir)/config/pythonpath.py \
 	  $(PLY_INCLUDE) \
@@ -79,18 +75,16 @@ dom_quickstubs.cpp: $(srcdir)/dom_quicks
 	  $(srcdir)/qsgen.py \
 	  --idlpath=$(DEPTH)/dist/idl \
 	  --header-output dom_quickstubs.h \
 	  --stub-output dom_quickstubs.cpp \
 	  --makedepend-output $(MDDEPDIR)/dom_qsgen.pp \
 	  $(ENABLE_TRACEABLE_FLAGS) \
 	  $(srcdir)/dom_quickstubs.qsconf
 
-DictionaryHelpers.$(OBJ_SUFFIX): DictionaryHelpers.cpp
-
 DictionaryHelpers.h: DictionaryHelpers.cpp
 
 DictionaryHelpers.cpp: $(srcdir)/dictionary_helper_gen.conf \
                        event_impl_gen.conf \
                        $(srcdir)/dictionary_helper_gen.py \
                        $(LIBXUL_DIST)/sdk/bin/header.py \
                        $(LIBXUL_DIST)/sdk/bin/xpidl.py
 	$(PYTHON) $(topsrcdir)/config/pythonpath.py \
@@ -99,19 +93,16 @@ DictionaryHelpers.cpp: $(srcdir)/diction
 	  $(srcdir)/dictionary_helper_gen.py \
 	  -I $(DEPTH)/dist/idl \
 	  --header-output DictionaryHelpers.h \
 	  --stub-output DictionaryHelpers.cpp \
 	  --makedepend-output $(MDDEPDIR)/dictionary_helper_gen.pp \
 	  $(srcdir)/dictionary_helper_gen.conf \
 	  event_impl_gen.conf
 
-GeneratedEvents.$(OBJ_SUFFIX): GeneratedEvents.h \
-                               GeneratedEvents.cpp
-
 event_impl_gen.conf : $(srcdir)/event_impl_gen.conf.in
 	$(call py_action,preprocessor,$(DEFINES) $(ACDEFINES) $^ -o event_impl_gen.conf)
 
 GeneratedEvents.h: $(srcdir)/dictionary_helper_gen.conf \
                    event_impl_gen.conf \
                    $(srcdir)/dictionary_helper_gen.py \
                    $(srcdir)/event_impl_gen.py \
                    $(LIBXUL_DIST)/sdk/bin/header.py \
@@ -149,23 +140,16 @@ GeneratedEvents-webidl: event_impl_gen.c
 	  $(PLY_INCLUDE) \
 	  -I$(LIBXUL_DIST)/sdk/bin \
 	  $(srcdir)/event_impl_gen.py \
 	  -I $(DEPTH)/dist/idl \
 	  --webidltarget=$(top_srcdir)/dom/webidl \
 	  event_impl_gen.conf
 
 GARBAGE += \
-		dom_quickstubs.h \
-		dom_quickstubs.cpp \
-		DictionaryHelpers.h \
-		DictionaryHelpers.cpp \
-		GeneratedEvents.h \
-		GeneratedEvents.cpp \
-		GeneratedEventClasses.h \
 		event_impl_gen.conf \
 		xpidl_debug \
 		$(MDDEPDIR)/dom_qsgen.pp \
 		$(MDDEPDIR)/dombindingsgen.pp \
 		$(MDDEPDIR)/dictionary_helper_gen.pp \
 		$(MDDEPDIR)/event_impl_gen.pp \
 		$(wildcard $(topsrcdir)/other-licenses/ply/ply/*.pyc) \
 		$(NULL)
--- a/js/xpconnect/src/moz.build
+++ b/js/xpconnect/src/moz.build
@@ -58,8 +58,15 @@ FAIL_ON_WARNINGS = True
 
 MSVC_ENABLE_PGO = True
 
 LIBRARY_NAME = 'xpconnect_s'
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'gklayout'
+
+GENERATED_FILES = [
+    'DictionaryHelpers.h',
+    'dom_quickstubs.h',
+    'GeneratedEventClasses.h',
+    'GeneratedEvents.h',
+]
--- a/media/libjpeg/Makefile.in
+++ b/media/libjpeg/Makefile.in
@@ -11,10 +11,8 @@ ifeq ($(AS),yasm)
   # yasm doesn't like -c
   AS_DASH_C_FLAG=
 endif
 
 include $(topsrcdir)/config/rules.mk
 
 jpeg_nbits_table.h: $(srcdir)/genTables.py
 	$(PYTHON) $(srcdir)/genTables.py
-
-jchuff.$(OBJ_SUFFIX): jpeg_nbits_table.h
--- a/media/libjpeg/moz.build
+++ b/media/libjpeg/moz.build
@@ -145,8 +145,12 @@ else: # No SIMD support?
     ]
 
 MSVC_ENABLE_PGO = True
 
 if CONFIG['OS_TARGET'] == 'WINNT':
     NO_VISIBILITY_FLAGS = True
 
 FINAL_LIBRARY = 'gkmedias'
+
+GENERATED_FILES = [
+    'jpeg_nbits_table.h',
+]
--- a/netwerk/dns/Makefile.in
+++ b/netwerk/dns/Makefile.in
@@ -8,15 +8,10 @@ LOCAL_INCLUDES = \
   -I$(srcdir)/../base/src \
   -I. \
   $(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
 # Generate the include file containing compact, static definitions
 # for effective TLD data.
-nsEffectiveTLDService.$(OBJ_SUFFIX): etld_data.inc
-nsEffectiveTLDService.h: etld_data.inc
-
 etld_data.inc: $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat
 	$(PYTHON) $(srcdir)/prepare_tlds.py $(srcdir)/effective_tld_names.dat > etld_data.inc
-
-GARBAGE += etld_data.inc
--- a/netwerk/dns/moz.build
+++ b/netwerk/dns/moz.build
@@ -33,8 +33,12 @@ SOURCES += [
     'nsIDNService.cpp',
 ]
 
 FAIL_ON_WARNINGS = True
 
 MSVC_ENABLE_PGO = True
 
 FINAL_LIBRARY = 'necko'
+
+GENERATED_FILES = [
+    'etld_data.inc',
+]
--- a/parser/expat/lib/Makefile.in
+++ b/parser/expat/lib/Makefile.in
@@ -1,9 +1,7 @@
 # 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/.
 
 include $(topsrcdir)/config/rules.mk
 
-xmltok.$(OBJ_SUFFIX): moz_extensions.c
-
 DEFINES += -DHAVE_EXPAT_CONFIG_H
--- a/parser/expat/lib/moz.build
+++ b/parser/expat/lib/moz.build
@@ -13,8 +13,12 @@ SOURCES += [
     'xmlparse.c',
     'xmlrole.c',
     'xmltok.c',
 ]
 
 MSVC_ENABLE_PGO = True
 
 FINAL_LIBRARY = 'gkmedias'
+
+GENERATED_FILES = [
+    'moz_extensions.c',
+]
--- a/python/mozbuild/mozbuild/frontend/emitter.py
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
@@ -197,16 +197,17 @@ class TreeMetadataEmitter(LoggingMixin):
             EXTRA_COMPONENTS='EXTRA_COMPONENTS',
             EXTRA_JS_MODULES='EXTRA_JS_MODULES',
             EXTRA_PP_COMPONENTS='EXTRA_PP_COMPONENTS',
             EXTRA_PP_JS_MODULES='EXTRA_PP_JS_MODULES',
             FAIL_ON_WARNINGS='FAIL_ON_WARNINGS',
             FILES_PER_UNIFIED_FILE='FILES_PER_UNIFIED_FILE',
             FORCE_SHARED_LIB='FORCE_SHARED_LIB',
             FORCE_STATIC_LIB='FORCE_STATIC_LIB',
+            GENERATED_FILES='GENERATED_FILES',
             HOST_LIBRARY_NAME='HOST_LIBRARY_NAME',
             IS_COMPONENT='IS_COMPONENT',
             JS_MODULES_PATH='JS_MODULES_PATH',
             LIBS='LIBS',
             LIBXUL_LIBRARY='LIBXUL_LIBRARY',
             MSVC_ENABLE_PGO='MSVC_ENABLE_PGO',
             NO_DIST_INSTALL='NO_DIST_INSTALL',
             OS_LIBS='OS_LIBS',
--- a/python/mozbuild/mozbuild/frontend/sandbox_symbols.py
+++ b/python/mozbuild/mozbuild/frontend/sandbox_symbols.py
@@ -103,16 +103,24 @@ VARIABLES = {
         """Generated source code files that can be compiled together.
 
         This variable contains a list of generated source code files to
         compile, that can be concatenated all together, with UNIFIED_SOURCES,
         and built as a single source file. This can help make the build faster
         and reduce the debug info size.
         """, 'compile'),
 
+    'GENERATED_FILES': (StrictOrderingOnAppendList, list, [],
+        """Generic generated files.
+
+        This variable contains a list of generate files for the build system
+        to generate at export time. The rules for those files still live in
+        Makefile.in.
+        """, 'export'),
+
     'DEFINES': (OrderedDict, dict, OrderedDict(),
         """Dictionary of compiler defines to declare.
 
         These are passed in to the compiler as ``-Dkey='value'`` for string
         values, ``-Dkey=value`` for numeric values, or ``-Dkey`` if the
         value is True. Note that for string values, the outer-level of
         single-quotes will be consumed by the shell. If you want to have
         a string-literal in the program, the value needs to have
--- a/toolkit/components/telemetry/Makefile.in
+++ b/toolkit/components/telemetry/Makefile.in
@@ -44,11 +44,9 @@ data_python_deps := \
   $(srcdir)/histogram_tools.py \
   $(NULL)
 
 $(histogram_enum_file): $(histograms_file) $(enum_python_deps)
 	$(PYTHON) $(srcdir)/gen-histogram-enum.py $< > $@
 $(histogram_data_file): $(histograms_file) $(data_python_deps)
 	$(PYTHON) $(srcdir)/gen-histogram-data.py $< > $@
 
-Telemetry.$(OBJ_SUFFIX): $(histogram_data_file)
-
-GARBAGE += $(histogram_data_file) $(histogram_enum_file)
+GARBAGE += $(histogram_enum_file)
--- a/toolkit/components/telemetry/moz.build
+++ b/toolkit/components/telemetry/moz.build
@@ -38,8 +38,12 @@ EXTRA_JS_MODULES += [
 
 FAIL_ON_WARNINGS = True
 
 MSVC_ENABLE_PGO = True
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
+
+GENERATED_FILES = [
+    'TelemetryHistogramData.inc',
+]
--- a/xpcom/reflect/xptcall/src/md/unix/Makefile.in
+++ b/xpcom/reflect/xptcall/src/md/unix/Makefile.in
@@ -159,17 +159,13 @@ ifndef GNU_CC
 xptcstubsdef_asm.solx86: $(DIST)/include/xptcstubsdef.inc
 	sed \
 	  -e 's/^\(STUB_ENTRY\)(\([0-9]\))/\11\(\2\)/' \
 	  -e 's/^\(STUB_ENTRY\)(\([0-9][0-9]\))/\12\(\2\)/' \
 	  -e 's/^\(STUB_ENTRY\)(\([0-9][0-9][0-9]\))/\13\(\2\)/' \
 	$(DIST)/include/xptcstubsdef.inc > $@
 ifeq (x86_64,$(OS_TEST))
 ASFLAGS += -xarch=amd64
-
-xptcstubs_asm_x86_64_solaris_SUNW.$(OBJ_SUFFIX): xptcstubsdef_asm.solx86
-else
-xptcstubs_asm_x86_solaris_SUNW.$(OBJ_SUFFIX): xptcstubsdef_asm.solx86
 endif
 
 endif
 endif
 endif
--- a/xpcom/reflect/xptcall/src/md/unix/moz.build
+++ b/xpcom/reflect/xptcall/src/md/unix/moz.build
@@ -276,16 +276,19 @@ if CONFIG['OS_ARCH'] == 'OpenBSD' and CO
     SOURCES += [
         'xptcinvoke_asm_sparc64_openbsd.s',
         'xptcinvoke_sparc64_openbsd.cpp',
         'xptcstubs_asm_sparc64_openbsd.s',
         'xptcstubs_sparc64_openbsd.cpp',
     ]
 
 if CONFIG['OS_ARCH'] == 'SunOS' and CONFIG['OS_TEST'].find('86') == -1:
+    GENERATED_FILES = [
+        'xptcstubsdef_asm.solx86',
+    ]
     if CONFIG['HAVE_64BIT_OS']:
         SOURCES += [
             'xptcinvoke_sparcv9_solaris.cpp',
             'xptcstubs_sparcv9_solaris.cpp',
         ]
     else:
         SOURCES += [
             'xptcinvoke_sparc_solaris.cpp',