Bug 784841 - Part 18ν: Convert /xpcom; f=Ms2ger rs=ted
authorGregory Szorc <gps@mozilla.com>
Mon, 25 Feb 2013 13:20:02 -0800
changeset 133657 17b6856efdbed2a921531b3a4450e931d7eb307d
parent 133656 592b31342f746164b3a068d0e0dbb1bf1f6861e4
child 133658 873935822ede9eb1ec96610fe3b707e63e7c9b21
push id2452
push userlsblakk@mozilla.com
push dateMon, 13 May 2013 16:59:38 +0000
treeherdermozilla-beta@d4b152d29d8d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersted
bugs784841
milestone22.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 784841 - Part 18ν: Convert /xpcom; f=Ms2ger rs=ted
xpcom/Makefile.in
xpcom/analysis/moz.build
xpcom/base/moz.build
xpcom/build/moz.build
xpcom/components/moz.build
xpcom/ds/moz.build
xpcom/glue/Makefile.in
xpcom/glue/moz.build
xpcom/glue/nomozalloc/moz.build
xpcom/glue/standalone/Makefile.in
xpcom/glue/standalone/moz.build
xpcom/glue/standalone/staticruntime/moz.build
xpcom/glue/staticruntime/moz.build
xpcom/idl-parser/moz.build
xpcom/io/moz.build
xpcom/moz.build
xpcom/reflect/Makefile.in
xpcom/reflect/moz.build
xpcom/reflect/xptcall/Makefile.in
xpcom/reflect/xptcall/moz.build
xpcom/reflect/xptcall/public/moz.build
xpcom/reflect/xptcall/src/Makefile.in
xpcom/reflect/xptcall/src/md/Makefile.in
xpcom/reflect/xptcall/src/md/moz.build
xpcom/reflect/xptcall/src/md/os2/moz.build
xpcom/reflect/xptcall/src/md/test/moz.build
xpcom/reflect/xptcall/src/md/unix/moz.build
xpcom/reflect/xptcall/src/md/win32/moz.build
xpcom/reflect/xptcall/src/moz.build
xpcom/reflect/xptcall/tests/moz.build
xpcom/reflect/xptinfo/Makefile.in
xpcom/reflect/xptinfo/moz.build
xpcom/reflect/xptinfo/public/moz.build
xpcom/reflect/xptinfo/src/moz.build
xpcom/reflect/xptinfo/tests/moz.build
xpcom/sample/Makefile.in
xpcom/sample/moz.build
xpcom/sample/program/moz.build
xpcom/string/Makefile.in
xpcom/string/moz.build
xpcom/string/public/moz.build
xpcom/string/src/moz.build
xpcom/stub/moz.build
xpcom/system/moz.build
xpcom/tests/Makefile.in
xpcom/tests/bug656331_component/moz.build
xpcom/tests/component/moz.build
xpcom/tests/component_no_aslr/moz.build
xpcom/tests/external/moz.build
xpcom/tests/moz.build
xpcom/tests/static-checker/moz.build
xpcom/tests/windows/moz.build
xpcom/threads/moz.build
xpcom/typelib/Makefile.in
xpcom/typelib/moz.build
xpcom/typelib/xpidl/moz.build
xpcom/typelib/xpt/Makefile.in
xpcom/typelib/xpt/moz.build
xpcom/typelib/xpt/public/moz.build
xpcom/typelib/xpt/src/moz.build
xpcom/typelib/xpt/tests/moz.build
xpcom/typelib/xpt/tools/moz.build
xpcom/windbgdlg/moz.build
--- a/xpcom/Makefile.in
+++ b/xpcom/Makefile.in
@@ -8,53 +8,13 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= xpcom
 GRE_MODULE	= 1
 
-DIRS		= \
-		idl-parser \
-		typelib \
-		string \
-		glue \
-		base \
-		ds \
-		io \
-		components \
-		threads \
-		reflect \
-                system \
-		../chrome \
-		build \
-		$(NULL)
-
-ifeq ($(OS_ARCH),WINNT)
-ifdef MOZ_DEBUG
-DIRS		+= windbgdlg
-endif
-endif
-
-ifdef ENABLE_TESTS
-TOOL_DIRS += \
-	tests \
-	sample \
-	typelib/xpt/tests \
-	$(NULL)
-
-#  Can't build internal xptcall tests that use symbols which are not exported.
-#TOOL_DIRS += \
-#	reflect/xptinfo/tests \
-#	reflect/xptcall/tests \
-#	$(NULL)
-endif
-
 # xpcom-config.h is generated by configure
 SDK_HEADERS	= xpcom-config.h
 
-ifdef DEHYDRA_PATH
-DIRS += analysis
-endif
-
 include $(topsrcdir)/config/rules.mk
 
new file mode 100644
--- /dev/null
+++ b/xpcom/analysis/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/base/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/build/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/components/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/ds/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
--- a/xpcom/glue/Makefile.in
+++ b/xpcom/glue/Makefile.in
@@ -8,24 +8,16 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 include $(srcdir)/objs.mk
 
 EXTRA_DEPS += $(srcdir)/objs.mk
 
-DIRS            = standalone nomozalloc
-
-# On win we build two glue libs - glue linked to crt dlls here and in staticruntime we build
-# a statically linked glue lib.
-ifeq ($(OS_ARCH),WINNT)
-DIRS += staticruntime
-endif
-
 MODULE		= xpcom
 LIBRARY_NAME	= xpcomglue_s
 DIST_INSTALL	= 1
 
 LOCAL_INCLUDES	= \
 		-I$(srcdir)/../build \
 		$(NULL)
 
new file mode 100644
--- /dev/null
+++ b/xpcom/glue/moz.build
@@ -0,0 +1,11 @@
+# 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/.
+
+DIRS += ['standalone', 'nomozalloc']
+
+# On win we build two glue libs - glue linked to crt dlls here and in staticruntime we build
+# a statically linked glue lib.
+if CONFIG['OS_ARCH'] == 'WINNT':
+    DIRS += ['staticruntime']
new file mode 100644
--- /dev/null
+++ b/xpcom/glue/nomozalloc/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
--- a/xpcom/glue/standalone/Makefile.in
+++ b/xpcom/glue/standalone/Makefile.in
@@ -8,22 +8,16 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 include $(srcdir)/../objs.mk
 
 EXTRA_DEPS += $(srcdir)/../objs.mk
 
-# On win we build two glue libs - glue linked to crt dlls here and in staticruntime we build
-# a statically linked glue lib.
-ifeq ($(OS_ARCH),WINNT)
-DIRS += staticruntime
-endif
-
 MODULE		= xpcom
 LIBRARY_NAME	= xpcomglue
 DIST_INSTALL	= 1
 
 LOCAL_INCLUDES	= \
 	-I$(srcdir)/../../build \
 	$(NULL)
 
new file mode 100644
--- /dev/null
+++ b/xpcom/glue/standalone/moz.build
@@ -0,0 +1,9 @@
+# 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/.
+
+# On win we build two glue libs - glue linked to crt dlls here and in staticruntime we build
+# a statically linked glue lib.
+if CONFIG['OS_ARCH'] == 'WINNT':
+    DIRS += ['staticruntime']
new file mode 100644
--- /dev/null
+++ b/xpcom/glue/standalone/staticruntime/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/glue/staticruntime/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/idl-parser/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/io/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/moz.build
@@ -0,0 +1,38 @@
+# 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/.
+
+DIRS += [
+    'idl-parser',
+    'typelib',
+    'string',
+    'glue',
+    'base',
+    'ds',
+    'io',
+    'components',
+    'threads',
+    'reflect',
+    'system',
+    '../chrome',
+    'build',
+]
+
+if CONFIG['OS_ARCH'] == 'WINNT' and CONFIG['MOZ_DEBUG']:
+    DIRS += ['windbgdlg']
+
+TEST_TOOL_DIRS += [
+    'tests',
+    'sample',
+    'typelib/xpt/tests',
+]
+
+#  Can't build internal xptcall tests that use symbols which are not exported.
+#TEST_TOOL_DIRS += [
+#    'reflect/xptinfo/tests',
+#    'reflect/xptcall/tests,
+#]
+
+if CONFIG['DEHYDRA_PATH']:
+    DIRS += ['analysis']
--- a/xpcom/reflect/Makefile.in
+++ b/xpcom/reflect/Makefile.in
@@ -6,12 +6,11 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= xpcom
-DIRS		= xptinfo xptcall
 
 include $(topsrcdir)/config/rules.mk
 
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/moz.build
@@ -0,0 +1,6 @@
+# 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/.
+
+DIRS += ['xptinfo', 'xptcall']
--- a/xpcom/reflect/xptcall/Makefile.in
+++ b/xpcom/reflect/xptcall/Makefile.in
@@ -6,12 +6,11 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= xpcom
-DIRS		= public src
 
 include $(topsrcdir)/config/rules.mk
 
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptcall/moz.build
@@ -0,0 +1,6 @@
+# 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/.
+
+DIRS += ['public', 'src']
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptcall/public/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
--- a/xpcom/reflect/xptcall/src/Makefile.in
+++ b/xpcom/reflect/xptcall/src/Makefile.in
@@ -9,19 +9,16 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= xpcom
 LIBRARY_NAME	= xptcall
 MOZILLA_INTERNAL_API = 1
 
-DIRS		= md
-
-
 CPPSRCS		= xptcall.cpp
 
 # we don't want the shared lib, but we want to force the creation of a static lib.
 FORCE_STATIC_LIB = 1
 
 
 include $(topsrcdir)/config/rules.mk
 
--- a/xpcom/reflect/xptcall/src/md/Makefile.in
+++ b/xpcom/reflect/xptcall/src/md/Makefile.in
@@ -5,20 +5,10 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-ifeq ($(OS_ARCH),OS2)
-DIRS = os2
-else
-ifeq ($(OS_ARCH),WINNT)
-DIRS = win32
-else
-DIRS = unix
-endif
-endif
-
 include $(topsrcdir)/config/rules.mk
 
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptcall/src/md/moz.build
@@ -0,0 +1,13 @@
+# 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/.
+
+arch = CONFIG['OS_ARCH']
+
+if arch == 'OS2':
+    DIRS += ['os2']
+elif arch == 'WINNT':
+    DIRS += ['win32']
+else:
+    DIRS += ['unix']
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptcall/src/md/os2/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptcall/src/md/test/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptcall/src/md/unix/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptcall/src/md/win32/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptcall/src/moz.build
@@ -0,0 +1,7 @@
+# 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/.
+
+
+DIRS += ['md']
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptcall/tests/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
--- a/xpcom/reflect/xptinfo/Makefile.in
+++ b/xpcom/reflect/xptinfo/Makefile.in
@@ -6,12 +6,11 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= xpcom
-DIRS		= public src
 
 include $(topsrcdir)/config/rules.mk
 
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptinfo/moz.build
@@ -0,0 +1,6 @@
+# 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/.
+
+DIRS += ['public', 'src']
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptinfo/public/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptinfo/src/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/reflect/xptinfo/tests/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
--- a/xpcom/sample/Makefile.in
+++ b/xpcom/sample/Makefile.in
@@ -5,19 +5,16 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-# This makefile builds the "program" subdirectory.
-DIRS = program
-
 # MODULE specifies where header files from this Makefile are installed,
 # i.e. dist/include/xpcomsample
 MODULE		= xpcomsample
 
 # XPIDL_MODULE names the .xpt file generated from IDL files
 # i.e. dist/bin/components/xpcomsample.xpt
 XPIDL_MODULE	= xpcomsample
 
new file mode 100644
--- /dev/null
+++ b/xpcom/sample/moz.build
@@ -0,0 +1,6 @@
+# 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/.
+
+DIRS += ['program']
new file mode 100644
--- /dev/null
+++ b/xpcom/sample/program/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
--- a/xpcom/string/Makefile.in
+++ b/xpcom/string/Makefile.in
@@ -6,16 +6,10 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= string
-DIRS		= public src
-
-#ifdef ENABLE_TESTS
-#DIRS		+= \
-#	tests
-#endif
 
 include $(topsrcdir)/config/rules.mk
new file mode 100644
--- /dev/null
+++ b/xpcom/string/moz.build
@@ -0,0 +1,6 @@
+# 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/.
+
+DIRS += ['public', 'src']
new file mode 100644
--- /dev/null
+++ b/xpcom/string/public/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/string/src/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/stub/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/system/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
--- a/xpcom/tests/Makefile.in
+++ b/xpcom/tests/Makefile.in
@@ -1,39 +1,23 @@
-#
 # 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@
 relativesrcdir = @relativesrcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= xpcom
 FAIL_ON_WARNINGS = 1
 
-DIRS		= \
-  external \
-  component \
-  bug656331_component \
-  component_no_aslr \
-  $(NULL)
-
-ifeq ($(OS_ARCH),WINNT)
-DIRS		+= windows
-endif
-
-ifdef DEHYDRA_PATH
-DIRS += static-checker
-endif
-
 VPATH += $(topsrcdir)/build
 
 CPPSRCS = \
   nsIFileEnumerator.cpp \
   TestCallTemplates.cpp \
   TestINIParser.cpp \
   TestPRIntN.cpp \
   TestRacingServiceManager.cpp \
new file mode 100644
--- /dev/null
+++ b/xpcom/tests/bug656331_component/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/tests/component/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/tests/component_no_aslr/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/tests/external/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/tests/moz.build
@@ -0,0 +1,17 @@
+# 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/.
+
+DIRS += [
+    'external',
+    'component',
+    'bug656331_component',
+    'component_no_aslr',
+]
+
+if CONFIG['OS_ARCH'] == 'WINNT':
+    DIRS += ['windows']
+
+if CONFIG['DEHYDRA_PATH']:
+    DIRS += ['static-checker']
new file mode 100644
--- /dev/null
+++ b/xpcom/tests/static-checker/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/tests/windows/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/threads/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
--- a/xpcom/typelib/Makefile.in
+++ b/xpcom/typelib/Makefile.in
@@ -6,12 +6,11 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= xpcom
-DIRS		= xpt xpidl
 
 include $(topsrcdir)/config/rules.mk
 
new file mode 100644
--- /dev/null
+++ b/xpcom/typelib/moz.build
@@ -0,0 +1,6 @@
+# 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/.
+
+DIRS += ['xpt', 'xpidl']
new file mode 100644
--- /dev/null
+++ b/xpcom/typelib/xpidl/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
--- a/xpcom/typelib/xpt/Makefile.in
+++ b/xpcom/typelib/xpt/Makefile.in
@@ -7,12 +7,10 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= xpcom
 
-DIRS		= public src tools
-
 include $(topsrcdir)/config/rules.mk
 
new file mode 100644
--- /dev/null
+++ b/xpcom/typelib/xpt/moz.build
@@ -0,0 +1,6 @@
+# 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/.
+
+DIRS += ['public', 'src', 'tools']
new file mode 100644
--- /dev/null
+++ b/xpcom/typelib/xpt/public/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/typelib/xpt/src/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/typelib/xpt/tests/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/typelib/xpt/tools/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+
new file mode 100644
--- /dev/null
+++ b/xpcom/windbgdlg/moz.build
@@ -0,0 +1,5 @@
+# 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/.
+