Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey
☠☠ backed out by 0db9c45c8bde ☠ ☠
authorMike Shal <mshal@mozilla.com>
Tue, 23 Apr 2013 17:54:15 -0400
changeset 133360 496846474ed30201430d5c9b360c8a6956684d16
parent 133359 eeebb56f9f6455de8e7efe1d773c2c4ec5af15d2
child 133362 e326869275dd6ff1479244bacb9c67a18a025507
push idunknown
push userunknown
push dateunknown
reviewersjoey
bugs864774
milestone23.0a1
Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey From 140b9201e3b5d2d8efe7af286d279c2411dbc197 Mon Sep 17 00:00:00 2001
accessible/build/Makefile.in
accessible/build/moz.build
accessible/src/atk/Makefile.in
accessible/src/atk/moz.build
accessible/src/base/Makefile.in
accessible/src/base/moz.build
accessible/src/generic/Makefile.in
accessible/src/generic/moz.build
accessible/src/html/Makefile.in
accessible/src/html/moz.build
accessible/src/other/Makefile.in
accessible/src/other/moz.build
accessible/src/shared.mozbuild
accessible/src/windows/ia2/Makefile.in
accessible/src/windows/ia2/moz.build
accessible/src/windows/msaa/Makefile.in
accessible/src/windows/msaa/moz.build
accessible/src/windows/sdn/Makefile.in
accessible/src/windows/sdn/moz.build
accessible/src/windows/uia/Makefile.in
accessible/src/windows/uia/moz.build
accessible/src/xpcom/Makefile.in
accessible/src/xpcom/moz.build
accessible/src/xul/Makefile.in
accessible/src/xul/moz.build
b2g/app/Makefile.in
b2g/app/moz.build
b2g/gaia/Makefile.in
b2g/gaia/moz.build
browser/app/Makefile.in
browser/app/moz.build
browser/components/about/Makefile.in
browser/components/about/moz.build
browser/components/build/Makefile.in
browser/components/build/moz.build
browser/components/dirprovider/Makefile.in
browser/components/dirprovider/moz.build
browser/components/feeds/src/Makefile.in
browser/components/feeds/src/moz.build
browser/components/migration/src/Makefile.in
browser/components/migration/src/moz.build
browser/components/shell/src/Makefile.in
browser/components/shell/src/moz.build
browser/metro/shell/commandexecutehandler/Makefile.in
browser/metro/shell/commandexecutehandler/moz.build
browser/metro/shell/linktool/Makefile.in
browser/metro/shell/linktool/moz.build
browser/metro/shell/testing/Makefile.in
browser/metro/shell/testing/moz.build
build/stlport/Makefile.in
build/stlport/moz.build
build/unix/stdc++compat/Makefile.in
build/unix/stdc++compat/moz.build
build/win32/Makefile.in
build/win32/crashinjectdll/Makefile.in
build/win32/crashinjectdll/moz.build
build/win32/moz.build
build/win32/vmwarerecordinghelper/Makefile.in
build/win32/vmwarerecordinghelper/moz.build
caps/src/Makefile.in
caps/src/moz.build
chrome/src/Makefile.in
chrome/src/moz.build
content/base/src/Makefile.in
content/base/src/moz.build
content/canvas/src/Makefile.in
content/canvas/src/moz.build
content/events/src/Makefile.in
content/events/src/moz.build
content/html/content/src/Makefile.in
content/html/content/src/moz.build
content/html/document/src/Makefile.in
content/html/document/src/moz.build
content/mathml/content/src/Makefile.in
content/mathml/content/src/moz.build
content/media/Makefile.in
content/media/dash/Makefile.in
content/media/dash/moz.build
content/media/gstreamer/Makefile.in
content/media/gstreamer/moz.build
content/media/moz.build
content/media/ogg/Makefile.in
content/media/ogg/moz.build
content/media/omx/Makefile.in
content/media/omx/moz.build
content/media/plugins/Makefile.in
content/media/plugins/moz.build
content/media/raw/Makefile.in
content/media/raw/moz.build
content/media/wave/Makefile.in
content/media/wave/moz.build
content/media/webaudio/Makefile.in
content/media/webaudio/blink/Makefile.in
content/media/webaudio/blink/moz.build
content/media/webaudio/moz.build
content/media/webm/Makefile.in
content/media/webm/moz.build
content/media/webrtc/Makefile.in
content/media/webrtc/moz.build
content/media/webspeech/recognition/Makefile.in
content/media/webspeech/recognition/moz.build
content/media/webspeech/recognition/test/Makefile.in
content/media/webspeech/recognition/test/moz.build
content/media/webspeech/synth/Makefile.in
content/media/webspeech/synth/moz.build
content/media/wmf/Makefile.in
content/media/wmf/moz.build
content/smil/Makefile.in
content/smil/moz.build
content/svg/content/src/Makefile.in
content/svg/content/src/moz.build
content/svg/document/src/Makefile.in
content/svg/document/src/moz.build
content/xbl/src/Makefile.in
content/xbl/src/moz.build
content/xml/content/src/Makefile.in
content/xml/content/src/moz.build
content/xml/document/src/Makefile.in
content/xml/document/src/moz.build
content/xslt/src/base/Makefile.in
content/xslt/src/base/moz.build
content/xslt/src/xml/Makefile.in
content/xslt/src/xml/moz.build
content/xslt/src/xpath/Makefile.in
content/xslt/src/xpath/moz.build
content/xslt/src/xslt/Makefile.in
content/xslt/src/xslt/moz.build
content/xul/content/src/Makefile.in
content/xul/content/src/moz.build
content/xul/document/src/Makefile.in
content/xul/document/src/moz.build
content/xul/templates/src/Makefile.in
content/xul/templates/src/moz.build
docshell/base/Makefile.in
docshell/base/moz.build
docshell/build/Makefile.in
docshell/build/moz.build
docshell/shistory/src/Makefile.in
docshell/shistory/src/moz.build
dom/activities/src/Makefile.in
dom/activities/src/moz.build
dom/alarm/Makefile.in
dom/alarm/moz.build
dom/audiochannel/Makefile.in
dom/audiochannel/moz.build
dom/base/Makefile.in
dom/base/moz.build
dom/battery/Makefile.in
dom/battery/moz.build
dom/bindings/Makefile.in
dom/bindings/moz.build
dom/bindings/test/Makefile.in
dom/bindings/test/moz.build
dom/bluetooth/Makefile.in
dom/bluetooth/moz.build
dom/browser-element/Makefile.in
dom/browser-element/moz.build
dom/camera/Makefile.in
dom/camera/moz.build
dom/cellbroadcast/src/Makefile.in
dom/cellbroadcast/src/moz.build
dom/devicestorage/Makefile.in
dom/devicestorage/moz.build
dom/encoding/Makefile.in
dom/encoding/moz.build
dom/file/Makefile.in
dom/file/moz.build
dom/fm/Makefile.in
dom/fm/moz.build
dom/icc/src/Makefile.in
dom/icc/src/moz.build
dom/indexedDB/Makefile.in
dom/indexedDB/ipc/Makefile.in
dom/indexedDB/ipc/moz.build
dom/indexedDB/moz.build
dom/ipc/Makefile.in
dom/ipc/moz.build
dom/media/Makefile.in
dom/media/bridge/Makefile.in
dom/media/bridge/moz.build
dom/media/moz.build
dom/mobilemessage/src/Makefile.in
dom/mobilemessage/src/moz.build
dom/network/src/Makefile.in
dom/network/src/moz.build
dom/plugins/base/Makefile.in
dom/plugins/base/android/Makefile.in
dom/plugins/base/android/moz.build
dom/plugins/base/moz.build
dom/plugins/ipc/Makefile.in
dom/plugins/ipc/hangui/Makefile.in
dom/plugins/ipc/hangui/moz.build
dom/plugins/ipc/moz.build
dom/power/Makefile.in
dom/power/moz.build
dom/quota/Makefile.in
dom/quota/moz.build
dom/src/events/Makefile.in
dom/src/events/moz.build
dom/src/geolocation/Makefile.in
dom/src/geolocation/moz.build
dom/src/json/Makefile.in
dom/src/json/moz.build
dom/src/jsurl/Makefile.in
dom/src/jsurl/moz.build
dom/src/notification/Makefile.in
dom/src/notification/moz.build
dom/src/offline/Makefile.in
dom/src/offline/moz.build
dom/src/storage/Makefile.in
dom/src/storage/moz.build
dom/system/Makefile.in
dom/system/android/Makefile.in
dom/system/android/moz.build
dom/system/gonk/Makefile.in
dom/system/gonk/moz.build
dom/system/moz.build
dom/system/unix/Makefile.in
dom/system/unix/moz.build
dom/system/windows/Makefile.in
dom/system/windows/moz.build
dom/telephony/Makefile.in
dom/telephony/moz.build
dom/time/Makefile.in
dom/time/moz.build
dom/voicemail/Makefile.in
dom/voicemail/moz.build
dom/workers/Makefile.in
dom/workers/moz.build
editor/composer/src/Makefile.in
editor/composer/src/moz.build
editor/libeditor/base/Makefile.in
editor/libeditor/base/moz.build
editor/libeditor/html/Makefile.in
editor/libeditor/html/moz.build
editor/libeditor/text/Makefile.in
editor/libeditor/text/moz.build
editor/txmgr/src/Makefile.in
editor/txmgr/src/moz.build
editor/txtsvc/src/Makefile.in
editor/txtsvc/src/moz.build
embedding/browser/build/Makefile.in
embedding/browser/build/moz.build
embedding/browser/webBrowser/Makefile.in
embedding/browser/webBrowser/moz.build
embedding/components/appstartup/src/Makefile.in
embedding/components/appstartup/src/moz.build
embedding/components/build/Makefile.in
embedding/components/build/moz.build
embedding/components/commandhandler/src/Makefile.in
embedding/components/commandhandler/src/moz.build
embedding/components/find/src/Makefile.in
embedding/components/find/src/moz.build
embedding/components/printingui/src/mac/Makefile.in
embedding/components/printingui/src/mac/moz.build
embedding/components/printingui/src/os2/Makefile.in
embedding/components/printingui/src/os2/moz.build
embedding/components/printingui/src/unixshared/Makefile.in
embedding/components/printingui/src/unixshared/moz.build
embedding/components/printingui/src/win/Makefile.in
embedding/components/printingui/src/win/moz.build
embedding/components/webbrowserpersist/src/Makefile.in
embedding/components/webbrowserpersist/src/moz.build
embedding/components/windowwatcher/src/Makefile.in
embedding/components/windowwatcher/src/moz.build
embedding/tests/winEmbed/Makefile.in
embedding/tests/winEmbed/moz.build
extensions/auth/Makefile.in
extensions/auth/moz.build
extensions/cookie/Makefile.in
extensions/cookie/moz.build
extensions/gio/Makefile.in
extensions/gio/moz.build
extensions/gnomevfs/Makefile.in
extensions/gnomevfs/moz.build
extensions/permissions/Makefile.in
extensions/permissions/moz.build
extensions/pref/autoconfig/src/Makefile.in
extensions/pref/autoconfig/src/moz.build
extensions/spellcheck/hunspell/src/Makefile.in
extensions/spellcheck/hunspell/src/moz.build
extensions/spellcheck/src/Makefile.in
extensions/spellcheck/src/moz.build
extensions/universalchardet/src/base/Makefile.in
extensions/universalchardet/src/base/moz.build
extensions/universalchardet/src/xpcom/Makefile.in
extensions/universalchardet/src/xpcom/moz.build
extensions/widgetutils/src/Makefile.in
extensions/widgetutils/src/moz.build
gfx/2d/Makefile.in
gfx/2d/moz.build
gfx/angle/Makefile.in
gfx/angle/moz.build
gfx/angle/src/libEGL/Makefile.in
gfx/angle/src/libEGL/moz.build
gfx/angle/src/libGLESv2/Makefile.in
gfx/angle/src/libGLESv2/moz.build
gfx/cairo/cairo/src/Makefile.in
gfx/cairo/cairo/src/moz.build
gfx/gl/Makefile.in
gfx/gl/moz.build
gfx/graphite2/src/Makefile.in
gfx/graphite2/src/moz.build
gfx/harfbuzz/src/Makefile.in
gfx/harfbuzz/src/moz.build
gfx/ipc/Makefile.in
gfx/ipc/moz.build
gfx/layers/Makefile.in
gfx/layers/moz.build
gfx/ots/src/Makefile.in
gfx/ots/src/moz.build
gfx/skia/Makefile.in
gfx/skia/moz.build
gfx/src/Makefile.in
gfx/src/moz.build
gfx/thebes/Makefile.in
gfx/thebes/moz.build
gfx/ycbcr/Makefile.in
gfx/ycbcr/moz.build
hal/Makefile.in
hal/moz.build
image/build/Makefile.in
image/build/moz.build
image/decoders/Makefile.in
image/decoders/icon/Makefile.in
image/decoders/icon/android/Makefile.in
image/decoders/icon/android/moz.build
image/decoders/icon/gtk/Makefile.in
image/decoders/icon/gtk/moz.build
image/decoders/icon/moz.build
image/decoders/icon/os2/Makefile.in
image/decoders/icon/os2/moz.build
image/decoders/icon/qt/Makefile.in
image/decoders/icon/qt/moz.build
image/decoders/icon/win/Makefile.in
image/decoders/icon/win/moz.build
image/decoders/moz.build
image/encoders/bmp/Makefile.in
image/encoders/bmp/moz.build
image/encoders/ico/Makefile.in
image/encoders/ico/moz.build
image/encoders/jpeg/Makefile.in
image/encoders/jpeg/moz.build
image/encoders/png/Makefile.in
image/encoders/png/moz.build
image/src/Makefile.in
image/src/moz.build
intl/build/Makefile.in
intl/build/moz.build
intl/chardet/src/Makefile.in
intl/chardet/src/moz.build
intl/hyphenation/src/Makefile.in
intl/hyphenation/src/moz.build
intl/locale/src/Makefile.in
intl/locale/src/mac/Makefile.in
intl/locale/src/mac/moz.build
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
intl/lwbrk/src/Makefile.in
intl/lwbrk/src/moz.build
intl/strres/src/Makefile.in
intl/strres/src/moz.build
intl/uconv/src/Makefile.in
intl/uconv/src/moz.build
intl/uconv/ucvcn/Makefile.in
intl/uconv/ucvcn/moz.build
intl/uconv/ucvibm/Makefile.in
intl/uconv/ucvibm/moz.build
intl/uconv/ucvja/Makefile.in
intl/uconv/ucvja/moz.build
intl/uconv/ucvko/Makefile.in
intl/uconv/ucvko/moz.build
intl/uconv/ucvlatin/Makefile.in
intl/uconv/ucvlatin/moz.build
intl/uconv/ucvtw/Makefile.in
intl/uconv/ucvtw/moz.build
intl/uconv/ucvtw2/Makefile.in
intl/uconv/ucvtw2/moz.build
intl/uconv/util/Makefile.in
intl/uconv/util/moz.build
intl/unicharutil/src/Makefile.in
intl/unicharutil/src/moz.build
intl/unicharutil/tests/Makefile.in
intl/unicharutil/tests/moz.build
intl/unicharutil/util/Makefile.in
intl/unicharutil/util/internal/Makefile.in
intl/unicharutil/util/internal/moz.build
intl/unicharutil/util/moz.build
ipc/app/Makefile.in
ipc/app/moz.build
ipc/chromium/Makefile.in
ipc/chromium/moz.build
ipc/dbus/Makefile.in
ipc/dbus/moz.build
ipc/glue/Makefile.in
ipc/glue/moz.build
ipc/ipdl/Makefile.in
ipc/ipdl/moz.build
ipc/ipdl/test/cxx/Makefile.in
ipc/ipdl/test/cxx/app/Makefile.in
ipc/ipdl/test/cxx/app/moz.build
ipc/ipdl/test/cxx/moz.build
ipc/netd/Makefile.in
ipc/netd/moz.build
ipc/ril/Makefile.in
ipc/ril/moz.build
ipc/testshell/Makefile.in
ipc/testshell/moz.build
ipc/unixsocket/Makefile.in
ipc/unixsocket/moz.build
js/ductwork/debugger/Makefile.in
js/ductwork/debugger/moz.build
js/ipc/Makefile.in
js/ipc/moz.build
js/jsd/Makefile.in
js/jsd/moz.build
js/src/Makefile.in
js/src/gdb/Makefile.in
js/src/gdb/moz.build
js/src/jsapi-tests/Makefile.in
js/src/jsapi-tests/moz.build
js/src/moz.build
js/src/shell/Makefile.in
js/src/shell/moz.build
js/xpconnect/loader/Makefile.in
js/xpconnect/loader/moz.build
js/xpconnect/shell/Makefile.in
js/xpconnect/shell/moz.build
js/xpconnect/src/Makefile.in
js/xpconnect/src/moz.build
js/xpconnect/tests/components/native/Makefile.in
js/xpconnect/tests/components/native/moz.build
js/xpconnect/wrappers/Makefile.in
js/xpconnect/wrappers/moz.build
layout/base/Makefile.in
layout/base/moz.build
layout/build/Makefile.in
layout/build/moz.build
layout/forms/Makefile.in
layout/forms/moz.build
layout/generic/Makefile.in
layout/generic/moz.build
layout/inspector/src/Makefile.in
layout/inspector/src/moz.build
layout/ipc/Makefile.in
layout/ipc/moz.build
layout/mathml/Makefile.in
layout/mathml/moz.build
layout/printing/Makefile.in
layout/printing/moz.build
layout/style/Makefile.in
layout/style/moz.build
layout/svg/Makefile.in
layout/svg/moz.build
layout/tables/Makefile.in
layout/tables/moz.build
layout/tools/layout-debug/src/Makefile.in
layout/tools/layout-debug/src/moz.build
layout/xul/base/src/Makefile.in
layout/xul/base/src/moz.build
layout/xul/grid/Makefile.in
layout/xul/grid/moz.build
layout/xul/tree/Makefile.in
layout/xul/tree/moz.build
media/libsoundtouch/src/Makefile.in
media/libsoundtouch/src/moz.build
media/mtransport/build/Makefile.in
media/mtransport/build/moz.build
media/mtransport/standalone/Makefile.in
media/mtransport/standalone/moz.build
media/omx-plugin/Makefile.in
media/omx-plugin/froyo/Makefile.in
media/omx-plugin/froyo/moz.build
media/omx-plugin/gb/Makefile.in
media/omx-plugin/gb/moz.build
media/omx-plugin/gb235/Makefile.in
media/omx-plugin/gb235/moz.build
media/omx-plugin/hc/Makefile.in
media/omx-plugin/hc/moz.build
media/omx-plugin/jb-htc/Makefile.in
media/omx-plugin/jb-htc/moz.build
media/omx-plugin/lib/froyo/libstagefright/Makefile.in
media/omx-plugin/lib/froyo/libstagefright/moz.build
media/omx-plugin/lib/gb/libstagefright/Makefile.in
media/omx-plugin/lib/gb/libstagefright/moz.build
media/omx-plugin/lib/gb/libstagefright_color_conversion/Makefile.in
media/omx-plugin/lib/gb/libstagefright_color_conversion/moz.build
media/omx-plugin/lib/gb/libutils/Makefile.in
media/omx-plugin/lib/gb/libutils/moz.build
media/omx-plugin/lib/gb235/libstagefright/Makefile.in
media/omx-plugin/lib/gb235/libstagefright/moz.build
media/omx-plugin/lib/hc/libstagefright/Makefile.in
media/omx-plugin/lib/hc/libstagefright/moz.build
media/omx-plugin/lib/ics/libstagefright/Makefile.in
media/omx-plugin/lib/ics/libstagefright/moz.build
media/omx-plugin/lib/ics/libutils/Makefile.in
media/omx-plugin/lib/ics/libutils/moz.build
media/omx-plugin/moz.build
media/omx-plugin/sony/Makefile.in
media/omx-plugin/sony/moz.build
memory/mozalloc/Makefile.in
memory/mozalloc/moz.build
memory/replace/dmd/Makefile.in
memory/replace/dmd/moz.build
mobile/android/components/build/Makefile.in
mobile/android/components/build/moz.build
modules/libjar/Makefile.in
modules/libjar/moz.build
modules/libjar/zipwriter/src/Makefile.in
modules/libjar/zipwriter/src/moz.build
modules/libpref/src/Makefile.in
modules/libpref/src/moz.build
mozglue/android/Makefile.in
mozglue/android/moz.build
mozglue/build/Makefile.in
mozglue/build/moz.build
mozglue/linker/Makefile.in
mozglue/linker/moz.build
mozglue/tests/Makefile.in
mozglue/tests/moz.build
netwerk/base/src/Makefile.in
netwerk/base/src/moz.build
netwerk/build/Makefile.in
netwerk/build/moz.build
netwerk/cache/Makefile.in
netwerk/cache/moz.build
netwerk/cookie/Makefile.in
netwerk/cookie/moz.build
netwerk/dash/mpd/Makefile.in
netwerk/dash/mpd/moz.build
netwerk/dns/Makefile.in
netwerk/dns/moz.build
netwerk/ipc/Makefile.in
netwerk/ipc/moz.build
netwerk/mime/Makefile.in
netwerk/mime/moz.build
netwerk/protocol/about/Makefile.in
netwerk/protocol/about/moz.build
netwerk/protocol/data/Makefile.in
netwerk/protocol/data/moz.build
netwerk/protocol/device/Makefile.in
netwerk/protocol/device/moz.build
netwerk/protocol/file/Makefile.in
netwerk/protocol/file/moz.build
netwerk/protocol/ftp/Makefile.in
netwerk/protocol/ftp/moz.build
netwerk/protocol/http/Makefile.in
netwerk/protocol/http/moz.build
netwerk/protocol/res/Makefile.in
netwerk/protocol/res/moz.build
netwerk/protocol/viewsource/Makefile.in
netwerk/protocol/viewsource/moz.build
netwerk/protocol/websocket/Makefile.in
netwerk/protocol/websocket/moz.build
netwerk/protocol/wyciwyg/Makefile.in
netwerk/protocol/wyciwyg/moz.build
netwerk/sctp/datachannel/Makefile.in
netwerk/sctp/datachannel/moz.build
netwerk/sctp/src/Makefile.in
netwerk/sctp/src/moz.build
netwerk/socket/Makefile.in
netwerk/socket/moz.build
netwerk/streamconv/converters/Makefile.in
netwerk/streamconv/converters/moz.build
netwerk/streamconv/src/Makefile.in
netwerk/streamconv/src/moz.build
netwerk/streamconv/test/Makefile.in
netwerk/streamconv/test/moz.build
netwerk/system/android/Makefile.in
netwerk/system/android/moz.build
netwerk/system/maemo/Makefile.in
netwerk/system/maemo/moz.build
netwerk/system/qt/Makefile.in
netwerk/system/qt/moz.build
netwerk/system/win32/Makefile.in
netwerk/system/win32/moz.build
netwerk/test/Makefile.in
netwerk/test/moz.build
netwerk/wifi/Makefile.in
netwerk/wifi/moz.build
other-licenses/skia-npapi/Makefile.in
other-licenses/skia-npapi/moz.build
other-licenses/snappy/Makefile.in
other-licenses/snappy/moz.build
parser/html/Makefile.in
parser/html/moz.build
parser/htmlparser/src/Makefile.in
parser/htmlparser/src/moz.build
parser/xml/src/Makefile.in
parser/xml/src/moz.build
profile/dirserviceprovider/src/Makefile.in
profile/dirserviceprovider/src/moz.build
profile/dirserviceprovider/standalone/Makefile.in
profile/dirserviceprovider/standalone/moz.build
rdf/base/src/Makefile.in
rdf/base/src/moz.build
rdf/build/Makefile.in
rdf/build/moz.build
rdf/datasource/src/Makefile.in
rdf/datasource/src/moz.build
rdf/tests/dsds/Makefile.in
rdf/tests/dsds/moz.build
rdf/tests/rdfcat/Makefile.in
rdf/tests/rdfcat/moz.build
rdf/tests/rdfpoll/Makefile.in
rdf/tests/rdfpoll/moz.build
rdf/tests/triplescat/Makefile.in
rdf/tests/triplescat/moz.build
rdf/util/src/Makefile.in
rdf/util/src/internal/Makefile.in
rdf/util/src/internal/moz.build
rdf/util/src/moz.build
security/manager/boot/src/Makefile.in
security/manager/boot/src/moz.build
security/manager/pki/src/Makefile.in
security/manager/pki/src/moz.build
security/manager/ssl/src/Makefile.in
security/manager/ssl/src/moz.build
services/crypto/component/Makefile.in
services/crypto/component/moz.build
startupcache/Makefile.in
startupcache/moz.build
storage/build/Makefile.in
storage/build/moz.build
storage/src/Makefile.in
storage/src/moz.build
testing/gtest/Makefile.in
testing/gtest/moz.build
testing/mochitest/ssltunnel/Makefile.in
testing/mochitest/ssltunnel/moz.build
testing/tools/screenshot/Makefile.in
testing/tools/screenshot/moz.build
toolkit/components/alerts/Makefile.in
toolkit/components/alerts/moz.build
toolkit/components/autocomplete/Makefile.in
toolkit/components/autocomplete/moz.build
toolkit/components/build/Makefile.in
toolkit/components/build/moz.build
toolkit/components/commandlines/Makefile.in
toolkit/components/commandlines/moz.build
toolkit/components/ctypes/Makefile.in
toolkit/components/ctypes/moz.build
toolkit/components/ctypes/tests/Makefile.in
toolkit/components/ctypes/tests/moz.build
toolkit/components/downloads/Makefile.in
toolkit/components/downloads/moz.build
toolkit/components/filepicker/Makefile.in
toolkit/components/filepicker/moz.build
toolkit/components/find/Makefile.in
toolkit/components/find/moz.build
toolkit/components/intl/Makefile.in
toolkit/components/intl/moz.build
toolkit/components/maintenanceservice/Makefile.in
toolkit/components/maintenanceservice/moz.build
toolkit/components/mediasniffer/Makefile.in
toolkit/components/mediasniffer/moz.build
toolkit/components/parentalcontrols/Makefile.in
toolkit/components/parentalcontrols/moz.build
toolkit/components/perf/Makefile.in
toolkit/components/perf/moz.build
toolkit/components/places/Makefile.in
toolkit/components/places/moz.build
toolkit/components/protobuf/Makefile.in
toolkit/components/protobuf/moz.build
toolkit/components/reflect/Makefile.in
toolkit/components/reflect/moz.build
toolkit/components/remote/Makefile.in
toolkit/components/remote/moz.build
toolkit/components/satchel/Makefile.in
toolkit/components/satchel/moz.build
toolkit/components/startup/Makefile.in
toolkit/components/startup/moz.build
toolkit/components/statusfilter/Makefile.in
toolkit/components/statusfilter/moz.build
toolkit/components/telemetry/Makefile.in
toolkit/components/telemetry/moz.build
toolkit/components/typeaheadfind/Makefile.in
toolkit/components/typeaheadfind/moz.build
toolkit/components/url-classifier/Makefile.in
toolkit/components/url-classifier/moz.build
toolkit/crashreporter/Makefile.in
toolkit/crashreporter/breakpad-windows-libxul/Makefile.in
toolkit/crashreporter/breakpad-windows-libxul/moz.build
toolkit/crashreporter/breakpad-windows-standalone/Makefile.in
toolkit/crashreporter/breakpad-windows-standalone/moz.build
toolkit/crashreporter/client/Makefile.in
toolkit/crashreporter/client/moz.build
toolkit/crashreporter/google-breakpad/src/client/Makefile.in
toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/Makefile.in
toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation/moz.build
toolkit/crashreporter/google-breakpad/src/client/linux/handler/Makefile.in
toolkit/crashreporter/google-breakpad/src/client/linux/handler/moz.build
toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/Makefile.in
toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer/moz.build
toolkit/crashreporter/google-breakpad/src/client/mac/crash_generation/Makefile.in
toolkit/crashreporter/google-breakpad/src/client/mac/crash_generation/moz.build
toolkit/crashreporter/google-breakpad/src/client/mac/handler/Makefile.in
toolkit/crashreporter/google-breakpad/src/client/mac/handler/moz.build
toolkit/crashreporter/google-breakpad/src/client/moz.build
toolkit/crashreporter/google-breakpad/src/client/solaris/handler/Makefile.in
toolkit/crashreporter/google-breakpad/src/client/solaris/handler/moz.build
toolkit/crashreporter/google-breakpad/src/common/Makefile.in
toolkit/crashreporter/google-breakpad/src/common/linux/Makefile.in
toolkit/crashreporter/google-breakpad/src/common/linux/moz.build
toolkit/crashreporter/google-breakpad/src/common/mac/Makefile.in
toolkit/crashreporter/google-breakpad/src/common/mac/moz.build
toolkit/crashreporter/google-breakpad/src/common/moz.build
toolkit/crashreporter/google-breakpad/src/common/solaris/Makefile.in
toolkit/crashreporter/google-breakpad/src/common/solaris/moz.build
toolkit/crashreporter/google-breakpad/src/processor/Makefile.in
toolkit/crashreporter/google-breakpad/src/processor/moz.build
toolkit/crashreporter/injector/Makefile.in
toolkit/crashreporter/injector/moz.build
toolkit/crashreporter/moz.build
toolkit/crashreporter/test/Makefile.in
toolkit/crashreporter/test/moz.build
toolkit/devtools/debugger/Makefile.in
toolkit/devtools/debugger/moz.build
toolkit/identity/Makefile.in
toolkit/identity/moz.build
toolkit/library/Makefile.in
toolkit/library/moz.build
toolkit/library/winvccorlib/Makefile.in
toolkit/library/winvccorlib/moz.build
toolkit/mozapps/plugins/tests/Makefile.in
toolkit/mozapps/plugins/tests/moz.build
toolkit/mozapps/update/common/Makefile.in
toolkit/mozapps/update/common/moz.build
toolkit/mozapps/update/test/Makefile.in
toolkit/mozapps/update/test/moz.build
toolkit/mozapps/update/updater/Makefile.in
toolkit/mozapps/update/updater/moz.build
toolkit/profile/Makefile.in
toolkit/profile/moz.build
toolkit/system/androidproxy/Makefile.in
toolkit/system/androidproxy/moz.build
toolkit/system/dbus/Makefile.in
toolkit/system/dbus/moz.build
toolkit/system/gnome/Makefile.in
toolkit/system/gnome/moz.build
toolkit/system/unixproxy/Makefile.in
toolkit/system/unixproxy/moz.build
toolkit/system/windowsproxy/Makefile.in
toolkit/system/windowsproxy/moz.build
toolkit/xre/Makefile.in
toolkit/xre/moz.build
toolkit/xre/test/win/Makefile.in
toolkit/xre/test/win/moz.build
tools/jprof/Makefile.in
tools/jprof/moz.build
tools/jprof/stub/Makefile.in
tools/jprof/stub/moz.build
tools/profiler/Makefile.in
tools/profiler/moz.build
tools/trace-malloc/Makefile.in
tools/trace-malloc/lib/Makefile.in
tools/trace-malloc/lib/moz.build
tools/trace-malloc/moz.build
uriloader/base/Makefile.in
uriloader/base/moz.build
uriloader/exthandler/Makefile.in
uriloader/exthandler/moz.build
uriloader/exthandler/tests/Makefile.in
uriloader/exthandler/tests/moz.build
uriloader/prefetch/Makefile.in
uriloader/prefetch/moz.build
view/src/Makefile.in
view/src/moz.build
webapprt/gtk2/Makefile.in
webapprt/gtk2/moz.build
webapprt/win/Makefile.in
webapprt/win/moz.build
widget/android/Makefile.in
widget/android/moz.build
widget/gonk/Makefile.in
widget/gonk/moz.build
widget/gtk2/Makefile.in
widget/gtk2/moz.build
widget/os2/Makefile.in
widget/os2/moz.build
widget/qt/Makefile.in
widget/qt/faststartupqt/Makefile.in
widget/qt/faststartupqt/moz.build
widget/qt/moz.build
widget/shared/Makefile.in
widget/shared/moz.build
widget/windows/Makefile.in
widget/windows/moz.build
widget/windows/winrt/Makefile.in
widget/windows/winrt/moz.build
widget/xpwidgets/Makefile.in
widget/xpwidgets/moz.build
widget/xremoteclient/Makefile.in
widget/xremoteclient/moz.build
xpcom/base/Makefile.in
xpcom/base/moz.build
xpcom/build/Makefile.in
xpcom/build/moz.build
xpcom/components/Makefile.in
xpcom/components/moz.build
xpcom/ds/Makefile.in
xpcom/ds/moz.build
xpcom/glue/Makefile.in
xpcom/glue/moz.build
xpcom/glue/nomozalloc/Makefile.in
xpcom/glue/nomozalloc/moz.build
xpcom/glue/standalone/Makefile.in
xpcom/glue/standalone/moz.build
xpcom/glue/standalone/staticruntime/Makefile.in
xpcom/glue/standalone/staticruntime/moz.build
xpcom/glue/staticruntime/Makefile.in
xpcom/glue/staticruntime/moz.build
xpcom/glue/tests/gtest/Makefile.in
xpcom/glue/tests/gtest/moz.build
xpcom/io/Makefile.in
xpcom/io/moz.build
xpcom/reflect/xptcall/src/Makefile.in
xpcom/reflect/xptcall/src/md/os2/Makefile.in
xpcom/reflect/xptcall/src/md/os2/moz.build
xpcom/reflect/xptcall/src/md/test/Makefile.in
xpcom/reflect/xptcall/src/md/test/moz.build
xpcom/reflect/xptcall/src/md/unix/Makefile.in
xpcom/reflect/xptcall/src/md/unix/moz.build
xpcom/reflect/xptcall/src/md/win32/Makefile.in
xpcom/reflect/xptcall/src/md/win32/moz.build
xpcom/reflect/xptcall/src/moz.build
xpcom/reflect/xptcall/tests/Makefile.in
xpcom/reflect/xptcall/tests/moz.build
xpcom/reflect/xptinfo/src/Makefile.in
xpcom/reflect/xptinfo/src/moz.build
xpcom/reflect/xptinfo/tests/Makefile.in
xpcom/reflect/xptinfo/tests/moz.build
xpcom/sample/Makefile.in
xpcom/sample/moz.build
xpcom/sample/program/Makefile.in
xpcom/sample/program/moz.build
xpcom/string/src/Makefile.in
xpcom/string/src/moz.build
xpcom/tests/Makefile.in
xpcom/tests/bug656331_component/Makefile.in
xpcom/tests/bug656331_component/moz.build
xpcom/tests/component/Makefile.in
xpcom/tests/component/moz.build
xpcom/tests/component_no_aslr/Makefile.in
xpcom/tests/component_no_aslr/moz.build
xpcom/tests/external/Makefile.in
xpcom/tests/external/moz.build
xpcom/tests/moz.build
xpcom/threads/Makefile.in
xpcom/threads/moz.build
xpcom/windbgdlg/Makefile.in
xpcom/windbgdlg/moz.build
xpfe/appshell/src/Makefile.in
xpfe/appshell/src/moz.build
xpfe/components/autocomplete/src/Makefile.in
xpfe/components/autocomplete/src/moz.build
xpfe/components/build/Makefile.in
xpfe/components/build/moz.build
xpfe/components/directory/Makefile.in
xpfe/components/directory/moz.build
xpfe/components/windowds/Makefile.in
xpfe/components/windowds/moz.build
xulrunner/app/Makefile.in
xulrunner/app/moz.build
xulrunner/examples/simple/components/src/Makefile.in
xulrunner/examples/simple/components/src/moz.build
xulrunner/stub/Makefile.in
xulrunner/stub/moz.build
xulrunner/tools/redit/Makefile.in
xulrunner/tools/redit/moz.build
--- a/accessible/build/Makefile.in
+++ b/accessible/build/Makefile.in
@@ -11,18 +11,16 @@ VPATH		= @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= accessibility
 EXPORT_LIBRARY = 1
 IS_COMPONENT	= 1
 MODULE_NAME	= nsAccessibilityModule
 LIBXUL_LIBRARY	= 1
 
-CPPSRCS		= nsAccessibilityFactory.cpp
-
 LOCAL_INCLUDES	= -I$(srcdir)/../src
 
 SHARED_LIBRARY_LIBS = \
   ../src/base/$(LIB_PREFIX)accessibility_base_s.$(LIB_SUFFIX) \
   ../src/generic/$(LIB_PREFIX)accessibility_generic_s.$(LIB_SUFFIX) \
   ../src/html/$(LIB_PREFIX)accessibility_html_s.$(LIB_SUFFIX) \
   ../src/xpcom/$(LIB_PREFIX)accessibility_xpcom_s.$(LIB_SUFFIX) \
   $(NULL)
--- a/accessible/build/moz.build
+++ b/accessible/build/moz.build
@@ -1,8 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 MODULE = 'accessibility'
 
+CPP_SOURCES += [
+    'nsAccessibilityFactory.cpp',
+]
+
--- a/accessible/src/atk/Makefile.in
+++ b/accessible/src/atk/Makefile.in
@@ -8,39 +8,16 @@ srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_toolkit_s
 EXPORT_LIBRARY = ..
 LIBXUL_LIBRARY = 1
 
-
-CPPSRCS = \
-  AccessibleWrap.cpp \
-  ApplicationAccessibleWrap.cpp \
-  AtkSocketAccessible.cpp \
-  DocAccessibleWrap.cpp \
-  nsMaiInterfaceComponent.cpp \
-  nsMaiInterfaceAction.cpp \
-  nsMaiInterfaceText.cpp \
-  nsMaiInterfaceEditableText.cpp \
-  nsMaiInterfaceSelection.cpp \
-  nsMaiInterfaceValue.cpp \
-  nsMaiHyperlink.cpp \
-  nsMaiInterfaceHypertext.cpp \
-  nsMaiInterfaceHyperlinkImpl.cpp \
-  nsMaiInterfaceTable.cpp \
-  nsMaiInterfaceDocument.cpp \
-  nsMaiInterfaceImage.cpp \
-  Platform.cpp \
-  RootAccessibleWrap.cpp \
-  UtilInterface.cpp \
-  $(NULL)
-
 # we want to force the creation of a static lib.
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
 
 CFLAGS  	+= $(MOZ_GTK2_CFLAGS)
 CXXFLAGS  += $(MOZ_GTK2_CFLAGS)
 
--- a/accessible/src/atk/moz.build
+++ b/accessible/src/atk/moz.build
@@ -6,8 +6,30 @@
 
 MODULE = 'accessibility'
 
 EXPORTS.mozilla.a11y += [
     'AccessibleWrap.h',
     'HyperTextAccessibleWrap.h',
 ]
 
+CPP_SOURCES += [
+    'AccessibleWrap.cpp',
+    'ApplicationAccessibleWrap.cpp',
+    'AtkSocketAccessible.cpp',
+    'DocAccessibleWrap.cpp',
+    'Platform.cpp',
+    'RootAccessibleWrap.cpp',
+    'UtilInterface.cpp',
+    'nsMaiHyperlink.cpp',
+    'nsMaiInterfaceAction.cpp',
+    'nsMaiInterfaceComponent.cpp',
+    'nsMaiInterfaceDocument.cpp',
+    'nsMaiInterfaceEditableText.cpp',
+    'nsMaiInterfaceHyperlinkImpl.cpp',
+    'nsMaiInterfaceHypertext.cpp',
+    'nsMaiInterfaceImage.cpp',
+    'nsMaiInterfaceSelection.cpp',
+    'nsMaiInterfaceTable.cpp',
+    'nsMaiInterfaceText.cpp',
+    'nsMaiInterfaceValue.cpp',
+]
+
--- a/accessible/src/base/Makefile.in
+++ b/accessible/src/base/Makefile.in
@@ -7,50 +7,16 @@ topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_base_s
 LIBXUL_LIBRARY = 1
 
-
-CPPSRCS = \
-  AccCollector.cpp \
-  AccEvent.cpp \
-  AccGroupInfo.cpp \
-  AccIterator.cpp \
-  Filters.cpp \
-  ARIAMap.cpp \
-  ARIAStateMap.cpp \
-  DocManager.cpp \
-  EventQueue.cpp \
-  FocusManager.cpp \
-  NotificationController.cpp \
-  nsAccessNode.cpp \
-  nsCoreUtils.cpp \
-  nsAccUtils.cpp \
-  nsAccessibilityService.cpp \
-  nsAccessiblePivot.cpp \
-  nsEventShell.cpp \
-  nsTextEquivUtils.cpp \
-  RoleAsserts.cpp \
-  SelectionManager.cpp \
-  StyleInfo.cpp \
-  TextAttrs.cpp \
-  TextUpdater.cpp \
-  TreeWalker.cpp \
-  $(NULL)
-
-ifneq ($(A11Y_LOG),0)
-CPPSRCS += \
-  Logging.cpp \
-  $(NULL)
-endif
-
 # 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
 
 LOCAL_INCLUDES += \
   -I$(srcdir) \
   -I$(srcdir)/../generic \
--- a/accessible/src/base/moz.build
+++ b/accessible/src/base/moz.build
@@ -1,14 +1,16 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
+include('../shared.mozbuild')
+
 MODULE = 'accessibility'
 
 EXPORTS += [
     'AccEvent.h',
     'nsAccessNode.h',
     'nsAccessibilityService.h',
 ]
 
@@ -21,8 +23,40 @@ EXPORTS.mozilla.a11y += [
     'SelectionManager.h',
     'States.h',
 ]
 
 if CONFIG['MOZ_DEBUG']:
     EXPORTS.mozilla.a11y += [
         'Logging.h',
     ]
+
+CPP_SOURCES += [
+    'AccCollector.cpp',
+    'AccEvent.cpp',
+    'AccGroupInfo.cpp',
+    'AccIterator.cpp',
+    'ARIAMap.cpp',
+    'ARIAStateMap.cpp',
+    'DocManager.cpp',
+    'EventQueue.cpp',
+    'Filters.cpp',
+    'FocusManager.cpp',
+    'NotificationController.cpp',
+    'nsAccessibilityService.cpp',
+    'nsAccessiblePivot.cpp',
+    'nsAccessNode.cpp',
+    'nsAccUtils.cpp',
+    'nsCoreUtils.cpp',
+    'nsEventShell.cpp',
+    'nsTextEquivUtils.cpp',
+    'RoleAsserts.cpp',
+    'SelectionManager.cpp',
+    'StyleInfo.cpp',
+    'TextAttrs.cpp',
+    'TextUpdater.cpp',
+    'TreeWalker.cpp',
+]
+
+if a11y_log:
+    CPP_SOURCES += [
+        'Logging.cpp',
+    ]
--- a/accessible/src/generic/Makefile.in
+++ b/accessible/src/generic/Makefile.in
@@ -7,32 +7,16 @@ topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_generic_s
 LIBXUL_LIBRARY = 1
 
-
-CPPSRCS = \
-  Accessible.cpp \
-  ApplicationAccessible.cpp \
-  ARIAGridAccessible.cpp \
-  BaseAccessibles.cpp \
-  DocAccessible.cpp \
-  FormControlAccessible.cpp \
-  HyperTextAccessible.cpp \
-  ImageAccessible.cpp \
-  OuterDocAccessible.cpp \
-  RootAccessible.cpp \
-  TableCellAccessible.cpp \
-  TextLeafAccessible.cpp \
-  $(NULL)
-
 # 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
 
 LOCAL_INCLUDES = \
   -I$(srcdir)/../xpcom \
   -I$(srcdir)/../base \
--- a/accessible/src/generic/moz.build
+++ b/accessible/src/generic/moz.build
@@ -7,8 +7,23 @@
 MODULE = 'accessibility'
 
 EXPORTS.mozilla.a11y += [
     'Accessible.h',
     'DocAccessible.h',
     'HyperTextAccessible.h',
 ]
 
+CPP_SOURCES += [
+    'ARIAGridAccessible.cpp',
+    'Accessible.cpp',
+    'ApplicationAccessible.cpp',
+    'BaseAccessibles.cpp',
+    'DocAccessible.cpp',
+    'FormControlAccessible.cpp',
+    'HyperTextAccessible.cpp',
+    'ImageAccessible.cpp',
+    'OuterDocAccessible.cpp',
+    'RootAccessible.cpp',
+    'TableCellAccessible.cpp',
+    'TextLeafAccessible.cpp',
+]
+
--- a/accessible/src/html/Makefile.in
+++ b/accessible/src/html/Makefile.in
@@ -8,29 +8,16 @@ topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_html_s
 LIBXUL_LIBRARY = 1
 
-
-
-CPPSRCS = \
-  HTMLCanvasAccessible.cpp \
-  HTMLElementAccessibles.cpp \
-  HTMLFormControlAccessible.cpp \
-  HTMLImageMapAccessible.cpp \
-  HTMLLinkAccessible.cpp \
-  HTMLListAccessible.cpp \
-  HTMLSelectAccessible.cpp \
-  HTMLTableAccessible.cpp \
-  $(NULL)
-
 # 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
 
 LOCAL_INCLUDES = \
   -I$(srcdir)/../base \
   -I$(srcdir)/../generic \
--- a/accessible/src/html/moz.build
+++ b/accessible/src/html/moz.build
@@ -1,8 +1,19 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 MODULE = 'accessibility'
 
+CPP_SOURCES += [
+    'HTMLCanvasAccessible.cpp',
+    'HTMLElementAccessibles.cpp',
+    'HTMLFormControlAccessible.cpp',
+    'HTMLImageMapAccessible.cpp',
+    'HTMLLinkAccessible.cpp',
+    'HTMLListAccessible.cpp',
+    'HTMLSelectAccessible.cpp',
+    'HTMLTableAccessible.cpp',
+]
+
--- a/accessible/src/other/Makefile.in
+++ b/accessible/src/other/Makefile.in
@@ -8,22 +8,16 @@ srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_toolkit_s
 EXPORT_LIBRARY = ..
 LIBXUL_LIBRARY = 1
 
-
-CPPSRCS = \
-  AccessibleWrap.cpp \
-  Platform.cpp \
-  $(NULL)
-
 # 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
 
 LOCAL_INCLUDES += \
   -I$(srcdir) \
   -I$(srcdir)/../base \
--- a/accessible/src/other/moz.build
+++ b/accessible/src/other/moz.build
@@ -6,8 +6,13 @@
 
 MODULE = 'accessibility'
 
 EXPORTS.mozilla.a11y += [
     'AccessibleWrap.h',
     'HyperTextAccessibleWrap.h',
 ]
 
+CPP_SOURCES += [
+    'AccessibleWrap.cpp',
+    'Platform.cpp',
+]
+
new file mode 100644
--- /dev/null
+++ b/accessible/src/shared.mozbuild
@@ -0,0 +1,12 @@
+# -*- Mode: python; c-basic-offset: 4; 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/.
+
+a11y_log = 0
+if CONFIG['MOZ_DEBUG']:
+    a11y_log = 1
+
+if CONFIG['MOZ_UPDATE_CHANNEL'] not in ('aurora', 'beta', 'release', 'esr'):
+    a11y_log = 1
--- a/accessible/src/windows/ia2/Makefile.in
+++ b/accessible/src/windows/ia2/Makefile.in
@@ -8,31 +8,16 @@ srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_toolkit_ia2_s
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
 
-
-CPPSRCS += \
-  ia2AccessibleAction.cpp \
-  ia2AccessibleComponent.cpp \
-  ia2AccessibleEditableText.cpp \
-  ia2AccessibleHyperlink.cpp \
-  ia2AccessibleHypertext.cpp \
-  ia2AccessibleImage.cpp \
-  ia2AccessibleRelation.cpp \
-  ia2AccessibleTable.cpp \
-  ia2AccessibleTableCell.cpp \
-  ia2AccessibleText.cpp \
-  ia2AccessibleValue.cpp \
-  $(NULL)
-
 # The midl generated code include Windows headers which defines min and max
 # macros which conflicts with std::min/max.  Suppress the macros:
 OS_CXXFLAGS += -DNOMINMAX
 
 # 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/config.mk
--- a/accessible/src/windows/ia2/moz.build
+++ b/accessible/src/windows/ia2/moz.build
@@ -11,8 +11,22 @@ EXPORTS += [
     'ia2AccessibleComponent.h',
     'ia2AccessibleEditableText.h',
     'ia2AccessibleHyperlink.h',
     'ia2AccessibleHypertext.h',
     'ia2AccessibleText.h',
     'ia2AccessibleValue.h',
 ]
 
+CPP_SOURCES += [
+    'ia2AccessibleAction.cpp',
+    'ia2AccessibleComponent.cpp',
+    'ia2AccessibleEditableText.cpp',
+    'ia2AccessibleHyperlink.cpp',
+    'ia2AccessibleHypertext.cpp',
+    'ia2AccessibleImage.cpp',
+    'ia2AccessibleRelation.cpp',
+    'ia2AccessibleTable.cpp',
+    'ia2AccessibleTableCell.cpp',
+    'ia2AccessibleText.cpp',
+    'ia2AccessibleValue.cpp',
+]
+
--- a/accessible/src/windows/msaa/Makefile.in
+++ b/accessible/src/windows/msaa/Makefile.in
@@ -8,44 +8,16 @@ srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_toolkit_msaa_s
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
 
-
-CPPSRCS = \
-  AccessibleWrap.cpp \
-  ApplicationAccessibleWrap.cpp \
-  ARIAGridAccessibleWrap.cpp \
-  DocAccessibleWrap.cpp \
-  HTMLTableAccessibleWrap.cpp \
-  HTMLWin32ObjectAccessible.cpp \
-  HyperTextAccessibleWrap.cpp \
-  ImageAccessibleWrap.cpp \
-  IUnknownImpl.cpp \
-  nsWinUtils.cpp \
-  Compatibility.cpp \
-  EnumVariant.cpp \
-  Platform.cpp \
-  ServiceProvider.cpp \
-  RootAccessibleWrap.cpp \
-  TextLeafAccessibleWrap.cpp \
-  $(NULL)
-
-ifdef MOZ_XUL
-CPPSRCS += \
-  XULListboxAccessibleWrap.cpp \
-  XULMenuAccessibleWrap.cpp \
-  XULTreeGridAccessibleWrap.cpp \
-  $(NULL)
-endif
-
 # 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/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES += \
--- a/accessible/src/windows/msaa/moz.build
+++ b/accessible/src/windows/msaa/moz.build
@@ -11,8 +11,33 @@ EXPORTS += [
 ]
 
 EXPORTS.mozilla.a11y += [
     'AccessibleWrap.h',
     'Compatibility.h',
     'HyperTextAccessibleWrap.h',
 ]
 
+CPP_SOURCES += [
+    'AccessibleWrap.cpp',
+    'ApplicationAccessibleWrap.cpp',
+    'ARIAGridAccessibleWrap.cpp',
+    'DocAccessibleWrap.cpp',
+    'HTMLTableAccessibleWrap.cpp',
+    'HTMLWin32ObjectAccessible.cpp',
+    'HyperTextAccessibleWrap.cpp',
+    'ImageAccessibleWrap.cpp',
+    'IUnknownImpl.cpp',
+    'nsWinUtils.cpp',
+    'Compatibility.cpp',
+    'EnumVariant.cpp',
+    'Platform.cpp',
+    'ServiceProvider.cpp',
+    'RootAccessibleWrap.cpp',
+    'TextLeafAccessibleWrap.cpp',
+]
+
+if CONFIG['MOZ_XUL']:
+    CPP_SOURCES += [
+        'XULListboxAccessibleWrap.cpp',
+        'XULMenuAccessibleWrap.cpp',
+        'XULTreeGridAccessibleWrap.cpp',
+    ]
--- a/accessible/src/windows/sdn/Makefile.in
+++ b/accessible/src/windows/sdn/Makefile.in
@@ -11,21 +11,16 @@ include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_toolkit_sdn_s
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
 # The midl generated code include Windows headers which defines min and max
 # macros which conflicts with std::min/max.  Suppress the macros:
 OS_CXXFLAGS += -DNOMINMAX
 
-CPPSRCS += \
-  sdnAccessible.cpp \
-  sdnTextAccessible.cpp \
-  $(NULL)
-
 # 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/config.mk
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES += \
   -I$(srcdir) \
--- a/accessible/src/windows/sdn/moz.build
+++ b/accessible/src/windows/sdn/moz.build
@@ -1,8 +1,13 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 MODULE = 'accessibility'
 
+CPP_SOURCES += [
+    'sdnAccessible.cpp',
+    'sdnTextAccessible.cpp',
+]
+
--- a/accessible/src/windows/uia/Makefile.in
+++ b/accessible/src/windows/uia/Makefile.in
@@ -11,21 +11,16 @@ include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_toolkit_uia_s
 EXPORT_LIBRARY = ..
 LIBXUL_LIBRARY = 1
 # The midl generated code include Windows headers which defines min and max
 # macros which conflicts with std::min/max.  Suppress the macros:
 OS_CXXFLAGS += -DNOMINMAX
 
-
-CPPSRCS += \
-  uiaRawElmProvider.cpp \
-  $(NULL)
-
 # 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/config.mk
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES += \
   -I$(srcdir) \
--- a/accessible/src/windows/uia/moz.build
+++ b/accessible/src/windows/uia/moz.build
@@ -1,8 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 MODULE = 'accessibility'
 
+CPP_SOURCES += [
+    'uiaRawElmProvider.cpp',
+]
+
--- a/accessible/src/xpcom/Makefile.in
+++ b/accessible/src/xpcom/Makefile.in
@@ -8,23 +8,16 @@ topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_xpcom_s
 LIBXUL_LIBRARY = 1
 
-CPPSRCS = \
-  xpcAccEvents.cpp \
-  nsAccessibleRelation.cpp \
-  xpcAccessibleTable.cpp \
-  xpcAccessibleTableCell.cpp \
-  $(NULL)
-
 # we don't want the shared lib, but we want to force the creation of a static lib.
 FORCE_STATIC_LIB = 1
 
 EXTRA_MDDEPEND_FILES = xpcAccEvents.pp
 
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES = \
--- a/accessible/src/xpcom/moz.build
+++ b/accessible/src/xpcom/moz.build
@@ -5,8 +5,15 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 MODULE = 'accessibility'
 
 EXPORTS += [
     'xpcAccEvents.h',
 ]
 
+CPP_SOURCES += [
+    'nsAccessibleRelation.cpp',
+    'xpcAccEvents.cpp',
+    'xpcAccessibleTable.cpp',
+    'xpcAccessibleTableCell.cpp',
+]
+
--- a/accessible/src/xul/Makefile.in
+++ b/accessible/src/xul/Makefile.in
@@ -8,33 +8,16 @@ topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = accessibility_xul_s
 LIBXUL_LIBRARY = 1
 
-
-
-CPPSRCS = \
-  XULAlertAccessible.cpp \
-  XULColorPickerAccessible.cpp \
-  XULComboboxAccessible.cpp \
-  XULElementAccessibles.cpp \
-  XULFormControlAccessible.cpp \
-  XULListboxAccessible.cpp \
-  XULMenuAccessible.cpp \
-  XULSelectControlAccessible.cpp \
-  XULSliderAccessible.cpp \
-  XULTabAccessible.cpp \
-  XULTreeAccessible.cpp \
-  XULTreeGridAccessible.cpp \
-  $(NULL)
-
 # 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
 
 LOCAL_INCLUDES = \
   -I$(srcdir) \
   -I$(srcdir)/../base \
--- a/accessible/src/xul/moz.build
+++ b/accessible/src/xul/moz.build
@@ -1,8 +1,23 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 MODULE = 'accessibility'
 
+CPP_SOURCES += [
+    'XULAlertAccessible.cpp',
+    'XULColorPickerAccessible.cpp',
+    'XULComboboxAccessible.cpp',
+    'XULElementAccessibles.cpp',
+    'XULFormControlAccessible.cpp',
+    'XULListboxAccessible.cpp',
+    'XULMenuAccessible.cpp',
+    'XULSelectControlAccessible.cpp',
+    'XULSliderAccessible.cpp',
+    'XULTabAccessible.cpp',
+    'XULTreeAccessible.cpp',
+    'XULTreeGridAccessible.cpp',
+]
+
--- a/b2g/app/Makefile.in
+++ b/b2g/app/Makefile.in
@@ -14,20 +14,17 @@ include $(topsrcdir)/config/makefiles/rc
 PREF_JS_EXPORTS = $(srcdir)/b2g.js
 
 ifdef ENABLE_MARIONETTE
 DEFINES += -DENABLE_MARIONETTE=1
 endif
 
 ifndef LIBXUL_SDK
 
-CPPSRCS = nsBrowserApp.cpp
-
 ifeq (gonk,$(MOZ_WIDGET_TOOLKIT))
-CPPSRCS += BootAnimation.cpp
 LIBS += \
   -lui \
   -lhardware_legacy \
   -lhardware \
   -lcutils \
   $(DEPTH)/media/libpng/$(LIB_PREFIX)mozpng.$(LIB_SUFFIX) \
   $(MOZ_ZLIB_LIBS) \
   $(NULL)
--- a/b2g/app/moz.build
+++ b/b2g/app/moz.build
@@ -4,8 +4,15 @@
 # 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/.
 
 if not CONFIG['LIBXUL_SDK']:
     if CONFIG['GAIADIR']:
         PROGRAM = CONFIG['MOZ_APP_NAME'] + "-bin"
     else:
         PROGRAM = CONFIG['MOZ_APP_NAME']
+    CPP_SOURCES += [
+        'nsBrowserApp.cpp',
+    ]
+    if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
+        CPP_SOURCES += [
+            'BootAnimation.cpp',
+        ]
--- a/b2g/gaia/Makefile.in
+++ b/b2g/gaia/Makefile.in
@@ -7,17 +7,16 @@ topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 GAIA_PATH := gaia/profile
 
 ifeq ($(OS_ARCH),WINNT)
-CPPSRCS = run-b2g.cpp
 DEFINES += \
   -DB2G_NAME=L\"$(MOZ_APP_NAME)-bin$(BIN_SUFFIX)\" \
   -DGAIA_PATH=L\"$(subst /,\\\\,$(GAIA_PATH))\" \
   $(NULL)
 GAIA_MAKE=make
 else # Non-windows machines use the same wrapper program
 CSRCS = run-b2g.c
 DEFINES += \
--- a/b2g/gaia/moz.build
+++ b/b2g/gaia/moz.build
@@ -1,8 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 PROGRAM = CONFIG['MOZ_APP_NAME']
 
+if CONFIG['OS_ARCH'] == 'WINNT':
+    CPP_SOURCES += [
+        'run-b2g.cpp',
+    ]
--- a/browser/app/Makefile.in
+++ b/browser/app/Makefile.in
@@ -38,18 +38,16 @@ endif
 
 ifdef LIBXUL_SDK #{
 PREF_JS_EXPORTS += $(srcdir)/profile/channel-prefs.js
 DEFINES += -DLIBXUL_SDK
 endif #} LIBXUL_SDK
 
 # Build a binary bootstrapping with XRE_main
 
-CPPSRCS = nsBrowserApp.cpp
-
 LOCAL_INCLUDES += \
   -I$(topsrcdir)/toolkit/xre \
   -I$(topsrcdir)/xpcom/base \
   -I$(topsrcdir)/xpcom/build \
   -I$(DEPTH)/build \
   $(NULL)
 
 DEFINES += -DXPCOM_GLUE
--- a/browser/app/moz.build
+++ b/browser/app/moz.build
@@ -3,8 +3,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/.
 
 DIRS += ['profile/extensions']
 
 PROGRAM = CONFIG['MOZ_APP_NAME']
 
+CPP_SOURCES += [
+    'nsBrowserApp.cpp',
+]
--- a/browser/components/about/Makefile.in
+++ b/browser/components/about/Makefile.in
@@ -9,13 +9,11 @@ VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = browserabout_s
 
 FORCE_STATIC_LIB = 1
 USE_STATIC_LIBS = 1
 
-CPPSRCS = AboutRedirector.cpp
-
 LOCAL_INCLUDES = -I$(srcdir)/../build
 
 include $(topsrcdir)/config/rules.mk
--- a/browser/components/about/moz.build
+++ b/browser/components/about/moz.build
@@ -5,8 +5,12 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 MODULE = 'browserabout'
 
 EXPORTS.mozilla.browser += [
     'AboutRedirector.h',
 ]
 
+CPP_SOURCES += [
+    'AboutRedirector.cpp',
+]
+
--- a/browser/components/build/Makefile.in
+++ b/browser/components/build/Makefile.in
@@ -12,19 +12,16 @@ include $(DEPTH)/config/autoconf.mk
 LIBRARY_NAME = browsercomps
 SHORT_LIBNAME = brwsrcmp
 IS_COMPONENT = 1
 MODULE_NAME = nsBrowserCompsModule
 FORCE_SHARED_LIB = 1
 
 USE_STATIC_LIBS = 1
 
-CPPSRCS = nsModule.cpp \
-          $(NULL)
-
 ifeq ($(OS_ARCH),WINNT)
 OS_LIBS	+= $(call EXPAND_LIBNAME,ole32 shell32 shlwapi)
 endif
 
 LOCAL_INCLUDES = \
 	-I$(srcdir)/../shell/src \
 	-I$(srcdir)/../feeds/src \
 	-I$(srcdir)/../about \
--- a/browser/components/build/moz.build
+++ b/browser/components/build/moz.build
@@ -5,8 +5,12 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 MODULE = 'browsercomps'
 
 EXPORTS += [
     'nsBrowserCompsCID.h',
 ]
 
+CPP_SOURCES += [
+    'nsModule.cpp',
+]
+
--- a/browser/components/dirprovider/Makefile.in
+++ b/browser/components/dirprovider/Makefile.in
@@ -9,18 +9,16 @@ VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = browserdir_s
 
 FORCE_STATIC_LIB = 1
 USE_STATIC_LIBS = 1
 
-CPPSRCS = DirectoryProvider.cpp
-
 LOCAL_INCLUDES = -I$(srcdir)/../build
 
 EXTRA_DSO_LDOPTS = \
 	$(XPCOM_GLUE_LDOPTS) \
 	$(NSPR_LIBS) \
 	$(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/browser/components/dirprovider/moz.build
+++ b/browser/components/dirprovider/moz.build
@@ -7,8 +7,12 @@
 TEST_DIRS += ['tests']
 
 MODULE = 'browserdir'
 
 EXPORTS.mozilla.browser += [
     'DirectoryProvider.h',
 ]
 
+CPP_SOURCES += [
+    'DirectoryProvider.cpp',
+]
+
--- a/browser/components/feeds/src/Makefile.in
+++ b/browser/components/feeds/src/Makefile.in
@@ -25,13 +25,11 @@ EXTRA_COMPONENTS = \
 	WebContentConverter.js \
   $(NULL)
 
 EXTRA_PP_COMPONENTS = \
 	FeedWriter.js \
 	$(NULL)
 
 
-CPPSRCS = nsFeedSniffer.cpp
-
 LOCAL_INCLUDES = -I$(srcdir)/../../build
 
 include $(topsrcdir)/config/rules.mk
--- a/browser/components/feeds/src/moz.build
+++ b/browser/components/feeds/src/moz.build
@@ -1,8 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 MODULE = 'browser_feeds'
 
+CPP_SOURCES += [
+    'nsFeedSniffer.cpp',
+]
+
--- a/browser/components/migration/src/Makefile.in
+++ b/browser/components/migration/src/Makefile.in
@@ -19,18 +19,16 @@ EXTRA_COMPONENTS = \
   FirefoxProfileMigrator.js \
   $(NULL)
 
 EXTRA_PP_COMPONENTS = \
   ChromeProfileMigrator.js \
   $(NULL)
 
 ifeq ($(OS_ARCH),WINNT)
-CPPSRCS += nsIEHistoryEnumerator.cpp
-
 EXTRA_COMPONENTS += IEProfileMigrator.js \
                     $(NULL)
 
 EXTRA_PP_COMPONENTS += SafariProfileMigrator.js \
                        $(NULL)
 
 DEFINES += -DHAS_IE_MIGRATOR -DHAS_SAFARI_MIGRATOR
 endif
--- a/browser/components/migration/src/moz.build
+++ b/browser/components/migration/src/moz.build
@@ -1,8 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 MODULE = 'migration'
 
+if CONFIG['OS_ARCH'] == 'WINNT':
+    CPP_SOURCES += [
+        'nsIEHistoryEnumerator.cpp',
+    ]
--- a/browser/components/shell/src/Makefile.in
+++ b/browser/components/shell/src/Makefile.in
@@ -8,30 +8,33 @@ topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH   = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 FORCE_STATIC_LIB = 1
 USE_STATIC_LIBS = 1
 
+
+# TODO: Previously, LIBRARY_NAME was set as follows:
+#ifdef CPPSRCS
+#LIBRARY_NAME = shellservice_s
+#endif
+# But now we set CPPSRCS in moz.build, which isn't defined at this point.
+# This can be simplified when LIBRARY_NAME is in moz.build as well.
 ifeq ($(OS_ARCH),WINNT)
-CPPSRCS = nsWindowsShellService.cpp
+LIBRARY_NAME = shellservice_s
 else
 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
-CPPSRCS = nsMacShellService.cpp
+LIBRARY_NAME = shellservice_s
 else
 ifeq ($(MOZ_WIDGET_TOOLKIT), gtk2)
-CPPSRCS = nsGNOMEShellService.cpp
-endif
+LIBRARY_NAME = shellservice_s
 endif
 endif
-
-ifdef CPPSRCS
-LIBRARY_NAME = shellservice_s
 endif
 
 EXTRA_COMPONENTS = nsSetDefaultBrowser.js nsSetDefaultBrowser.manifest
 
 include $(topsrcdir)/config/rules.mk
 
 DEFINES += -DMOZ_APP_NAME=\"$(MOZ_APP_NAME)\" \
   -DMOZ_APP_VERSION=\"$(MOZ_APP_VERSION)\"
--- a/browser/components/shell/src/moz.build
+++ b/browser/components/shell/src/moz.build
@@ -1,8 +1,20 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 MODULE = 'shellservice'
 
+if CONFIG['OS_ARCH'] == 'WINNT':
+    CPP_SOURCES += [
+        'nsWindowsShellService.cpp',
+    ]
+elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+    CPP_SOURCES += [
+        'nsMacShellService.cpp',
+    ]
+elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk2':
+    CPP_SOURCES += [
+        'nsGNOMEShellService.cpp',
+    ]
--- a/browser/metro/shell/commandexecutehandler/Makefile.in
+++ b/browser/metro/shell/commandexecutehandler/Makefile.in
@@ -17,21 +17,16 @@ include $(topsrcdir)/config/config.mk
 DIST_SUBDIR =
 
 DIST_PROGRAM = CommandExecuteHandler$(BIN_SUFFIX)
 
 # Don't link against mozglue.dll
 MOZ_GLUE_LDFLAGS =
 MOZ_GLUE_PROGRAM_LDFLAGS =
 
-CPPSRCS	= \
-	CommandExecuteHandler.cpp \
-	CEHHelper.cpp \
-	$(NULL)
-
 OS_LIBS = \
 	kernel32.lib \
 	user32.lib \
 	ole32.lib \
 	shlwapi.lib \
 	propsys.lib \
 	advapi32.lib \
 	wininet.lib \
--- a/browser/metro/shell/commandexecutehandler/moz.build
+++ b/browser/metro/shell/commandexecutehandler/moz.build
@@ -1,7 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 PROGRAM = 'CommandExecuteHandler'
+
+CPP_SOURCES += [
+    'CEHHelper.cpp',
+    'CommandExecuteHandler.cpp',
+]
--- a/browser/metro/shell/linktool/Makefile.in
+++ b/browser/metro/shell/linktool/Makefile.in
@@ -10,18 +10,16 @@ VPATH      = @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 NO_PROFILE_GUIDED_OPTIMIZE = 1
 
 include $(topsrcdir)/config/config.mk
 
 DIST_SUBDIR = metro/install
 
-CPPSRCS    = linktool.cpp
-
 OS_LIBS = \
 	kernel32.lib \
 	user32.lib \
 	ole32.lib \
 	shlwapi.lib \
 	shell32.lib \
 	propsys.lib \
 	$(NULL)
--- a/browser/metro/shell/linktool/moz.build
+++ b/browser/metro/shell/linktool/moz.build
@@ -1,8 +1,11 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 PROGRAM = 'linktool'
 
+CPP_SOURCES += [
+    'linktool.cpp',
+]
--- a/browser/metro/shell/testing/Makefile.in
+++ b/browser/metro/shell/testing/Makefile.in
@@ -18,20 +18,16 @@ MOZ_GLUE_PROGRAM_LDFLAGS =
 
 NO_PROFILE_GUIDED_OPTIMIZE = 1
 
 include $(topsrcdir)/config/config.mk
 
 # We want this exe in dist/bin
 DIST_SUBDIR =
 
-CPPSRCS	= \
-	metrotestharness.cpp \
-	$(NULL)
-
 OS_LIBS = \
 	kernel32.lib \
 	user32.lib \
 	ole32.lib \
 	shlwapi.lib \
 	propsys.lib \
 	advapi32.lib \
 	$(NULL)
--- a/browser/metro/shell/testing/moz.build
+++ b/browser/metro/shell/testing/moz.build
@@ -1,8 +1,11 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 PROGRAM = 'metrotestharness'
 
+CPP_SOURCES += [
+    'metrotestharness.cpp',
+]
--- a/build/stlport/Makefile.in
+++ b/build/stlport/Makefile.in
@@ -15,16 +15,15 @@ FORCE_STATIC_LIB = 1
 STL_FLAGS =
 
 # Force to build a static library, instead of a fake library, without
 # installing it in dist/lib.
 LIBRARY = $(LIB_PREFIX)$(LIBRARY_NAME).$(LIB_SUFFIX)
 
 VPATH += $(STLPORT_SOURCES)/src
 
-CPPSRCS = $(notdir $(wildcard $(STLPORT_SOURCES)/src/*.cpp))
 CSRCS = $(notdir $(wildcard $(STLPORT_SOURCES)/src/*.c))
 
 include $(topsrcdir)/config/rules.mk
 
 DEFINES += -D_GNU_SOURCE
 CXXFLAGS += -fuse-cxa-atexit
 INCLUDES += -I$(STLPORT_SOURCES)/stlport
--- a/build/stlport/moz.build
+++ b/build/stlport/moz.build
@@ -1,8 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 CONFIGURE_SUBST_FILES += ['stl/config/_android.h']
 
+CPP_SOURCES += [
+    '$(notdir $(wildcard $(STLPORT_SOURCES)/src/*.cpp))',
+]
+
--- a/build/unix/stdc++compat/Makefile.in
+++ b/build/unix/stdc++compat/Makefile.in
@@ -11,18 +11,16 @@ include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= stdc++compat
 HOST_LIBRARY_NAME = host_stdc++compat
 FORCE_STATIC_LIB= 1
 STL_FLAGS =
 NO_EXPAND_LIBS = 1
 NO_PROFILE_GUIDED_OPTIMIZE = 1
 
-CPPSRCS = \
-  stdc++compat.cpp
   $(NULL)
 
 HOST_CPPSRCS = $(CPPSRCS)
 
 include $(topsrcdir)/config/rules.mk
 
 CXXFLAGS += -DMOZ_LIBSTDCXX_VERSION=$(MOZ_LIBSTDCXX_TARGET_VERSION)
 HOST_CXXFLAGS += -DMOZ_LIBSTDCXX_VERSION=$(MOZ_LIBSTDCXX_TARGET_VERSION)
--- a/build/unix/stdc++compat/moz.build
+++ b/build/unix/stdc++compat/moz.build
@@ -1,8 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 MODULE = 'build'
 
+CPP_SOURCES += [
+    'stdc++compat.cpp',
+]
+
--- a/build/win32/Makefile.in
+++ b/build/win32/Makefile.in
@@ -9,17 +9,16 @@ VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 NO_PROFILE_GUIDED_OPTIMIZE = 1
 
 ifdef ENABLE_TESTS
 
 USE_STATIC_LIBS = 1
-CPPSRCS = crashinject.cpp
 
 endif # ENABLE_TESTS
 
 MOZ_GLUE_LDFLAGS =
 
 include $(topsrcdir)/config/rules.mk
 
 ifdef WIN32_REDIST_DIR
--- a/build/win32/crashinjectdll/Makefile.in
+++ b/build/win32/crashinjectdll/Makefile.in
@@ -9,13 +9,11 @@ VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = crashinjectdll
 DEFFILE = $(srcdir)/crashinjectdll.def
 FORCE_SHARED_LIB = 1
 USE_STATIC_LIBS = 1
 
-CPPSRCS = crashinjectdll.cpp
-
 MOZ_GLUE_LDFLAGS =
 
 include $(topsrcdir)/config/rules.mk
--- a/build/win32/crashinjectdll/moz.build
+++ b/build/win32/crashinjectdll/moz.build
@@ -1,6 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
+CPP_SOURCES += [
+    'crashinjectdll.cpp',
+]
+
--- a/build/win32/moz.build
+++ b/build/win32/moz.build
@@ -6,8 +6,11 @@
 
 if CONFIG['_MSC_VER'] and CONFIG['OS_TEST'] != 'x86_64':
     TEST_DIRS += ['vmwarerecordinghelper']
 
 TEST_DIRS += ['crashinjectdll']
 
 if CONFIG['ENABLE_TESTS']:
     PROGRAM = 'crashinject'
+    CPP_SOURCES += [
+        'crashinject.cpp',
+    ]
--- a/build/win32/vmwarerecordinghelper/Makefile.in
+++ b/build/win32/vmwarerecordinghelper/Makefile.in
@@ -10,13 +10,11 @@ VPATH = @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = vmwarerecordinghelper
 DEFFILE = $(srcdir)/$(LIBRARY_NAME).def
 
 FORCE_SHARED_LIB = 1
 USE_STATIC_LIBS = 1
 
-CPPSRCS = $(LIBRARY_NAME).cpp
-
 MOZ_GLUE_LDFLAGS =
 
 include $(topsrcdir)/config/rules.mk
--- a/build/win32/vmwarerecordinghelper/moz.build
+++ b/build/win32/vmwarerecordinghelper/moz.build
@@ -1,6 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
+CPP_SOURCES += [
+    'vmwarerecordinghelper.cpp',
+]
+
--- a/caps/src/Makefile.in
+++ b/caps/src/Makefile.in
@@ -10,24 +10,14 @@ VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= caps_s
 FORCE_STATIC_LIB = 1
 LIBXUL_LIBRARY = 1
 
 
-CPPSRCS		= \
-		nsPrincipal.cpp \
-		nsSystemPrincipal.cpp \
-		nsNullPrincipal.cpp \
-		nsNullPrincipalURI.cpp \
-		nsJSPrincipals.cpp \
-		nsScriptSecurityManager.cpp \
-		nsSecurityManagerFactory.cpp \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
 INCLUDES	+= -I$(srcdir)/../include \
 		   -I$(topsrcdir)/js/xpconnect/src \
 		   -I$(topsrcdir)/dom/base
 
--- a/caps/src/moz.build
+++ b/caps/src/moz.build
@@ -1,8 +1,18 @@
 # -*- Mode: python; c-basic-offset: 4; 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/.
 
 MODULE = 'caps'
 
+CPP_SOURCES += [
+    'nsJSPrincipals.cpp',
+    'nsNullPrincipal.cpp',
+    'nsNullPrincipalURI.cpp',
+    'nsPrincipal.cpp',
+    'nsScriptSecurityManager.cpp',
+    'nsSecurityManagerFactory.cpp',
+    'nsSystemPrincipal.cpp',
+]
+
--- a/chrome/src/Makefile.in
+++ b/chrome/src/Makefile.in
@@ -9,23 +9,16 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME    = chrome_s
 LIBXUL_LIBRARY  = 1
 FORCE_STATIC_LIB = 1
 
-CPPSRCS		= \
-		nsChromeRegistry.cpp \
-		nsChromeRegistryChrome.cpp \
-		nsChromeProtocolHandler.cpp \
-		nsChromeRegistryContent.cpp \
-		$(NULL)
-
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES += \
 		-I$(topsrcdir)/netwerk/protocol/res \
 		-I$(topsrcdir)/netwerk/base/src \
 		$(NULL)
--- a/chrome/src/moz.build
+++ b/chrome/src/moz.build
@@ -5,8 +5,15 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 MODULE = 'chrome'
 
 EXPORTS.mozilla.chrome += [
     'RegistryMessageUtils.h',
 ]
 
+CPP_SOURCES += [
+    'nsChromeProtocolHandler.cpp',
+    'nsChromeRegistry.cpp',
+    'nsChromeRegistryChrome.cpp',
+    'nsChromeRegistryContent.cpp',
+]
+
--- a/content/base/src/Makefile.in
+++ b/content/base/src/Makefile.in
@@ -8,119 +8,22 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconbase_s
 LIBXUL_LIBRARY	= 1
 
-CPPSRCS		= \
-		Comment.cpp \
-		DirectionalityUtils.cpp \
-		DocumentType.cpp \
-		DOMImplementation.cpp \
-		EventSource.cpp \
-		FileIOObject.cpp \
-		nsAtomListUtils.cpp \
-		nsAttrAndChildArray.cpp \
-		nsAttrValue.cpp \
-		nsAttrValueOrString.cpp \
-		nsCCUncollectableMarker.cpp \
-		nsChannelPolicy.cpp \
-		nsContentAreaDragDrop.cpp \
-		nsContentIterator.cpp \
-		nsContentList.cpp \
-		nsContentPolicy.cpp \
-		nsContentSink.cpp \
-		nsContentUtils.cpp \
-		nsCopySupport.cpp \
-		nsCrossSiteListenerProxy.cpp \
-		nsCSPService.cpp \
-		nsDataDocumentContentPolicy.cpp \
-		Attr.cpp \
-		nsDOMAttributeMap.cpp \
-		nsDOMBlobBuilder.cpp \
-		nsDOMCaretPosition.cpp \
-		nsDOMFile.cpp \
-		nsDOMFileReader.cpp \
-		nsDOMLists.cpp \
-		nsDOMParser.cpp \
-		nsDOMSerializer.cpp \
-		nsDOMTokenList.cpp \
-		nsDOMSettableTokenList.cpp \
-		nsDocument.cpp \
-		nsDocumentEncoder.cpp \
-		DocumentFragment.cpp \
-		nsFrameLoader.cpp \
-		Element.cpp \
-		nsFormData.cpp \
-		nsGenConImageContent.cpp \
-		nsGenericDOMDataNode.cpp \
-		nsGkAtoms.cpp \
-		nsHTMLContentSerializer.cpp \
-		nsImageLoadingContent.cpp \
-		nsINode.cpp \
-		nsLineBreaker.cpp \
-		nsMappedAttributeElement.cpp \
-		nsMappedAttributes.cpp \
-		nsNameSpaceManager.cpp \
-		nsNoDataProtocolContentPolicy.cpp \
-		nsNodeInfo.cpp \
-		nsNodeInfoManager.cpp \
-		NodeIterator.cpp \
-		nsNodeUtils.cpp \
-		nsObjectLoadingContent.cpp \
-		nsPlainTextSerializer.cpp \
-		nsPropertyTable.cpp \
-		nsRange.cpp \
-		nsReferencedElement.cpp \
-		nsScriptElement.cpp \
-		nsScriptLoader.cpp \
-		nsStubDocumentObserver.cpp \
-		nsStubMutationObserver.cpp \
-		nsStyledElement.cpp \
-		nsStyleLinkElement.cpp \
-		nsSyncLoadService.cpp \
-		Text.cpp \
-		nsTextFragment.cpp \
-		nsTextNode.cpp \
-		nsTraversal.cpp \
-		nsTreeSanitizer.cpp \
-		TreeWalker.cpp \
-                nsViewportInfo.cpp \
-		WebSocket.cpp \
-		nsXHTMLContentSerializer.cpp \
-		nsXMLContentSerializer.cpp \
-		nsXMLHttpRequest.cpp \
-		nsXMLNameSpaceMap.cpp \
-		FragmentOrElement.cpp \
-		Link.cpp \
-		nsHostObjectProtocolHandler.cpp \
-		nsHostObjectURI.cpp \
-		nsFrameMessageManager.cpp \
-		nsInProcessTabChildGlobal.cpp \
-		ThirdPartyUtil.cpp \
-		nsDOMMutationObserver.cpp \
-		nsMixedContentBlocker.cpp \
-		$(NULL)
-
 ifdef MOZ_WEBRTC
-CPPSRCS += nsDOMDataChannel.cpp
 LOCAL_INCLUDES += \
 		-I$(topsrcdir)/netwerk/sctp/datachannel \
 		$(NULL)
 endif
 
-# Are we targeting x86-32 or x86-64?  If so, we want to include SSE2 code for
-# nsTextFragment.cpp
-ifneq (,$(INTEL_ARCHITECTURE))
-CPPSRCS += nsTextFragmentSSE2.cpp
-endif
-
 GQI_SRCS = contentbase.gqi
 
 # we don't want the shared lib, but we want to force the creation of a
 # static lib.
 FORCE_STATIC_LIB = 1
 
 EXTRA_COMPONENTS = \
 		contentSecurityPolicy.manifest \
--- a/content/base/src/moz.build
+++ b/content/base/src/moz.build
@@ -31,22 +31,122 @@ EXPORTS += [
     'nsStubDocumentObserver.h',
     'nsStubMutationObserver.h',
     'nsStyledElement.h',
     'nsTextFragment.h',
 ]
 
 if CONFIG['MOZ_WEBRTC']:
     EXPORTS += ['nsDOMDataChannel.h']
+    CPP_SOURCES += [
+        'nsDOMDataChannel.cpp',
+    ]
+
+# Are we targeting x86-32 or x86-64?  If so, we want to include SSE2 code for
+# nsTextFragment.cpp
+if CONFIG['INTEL_ARCHITECTURE']:
+    CPP_SOURCES += [
+        'nsTextFragmentSSE2.cpp',
+    ]
 
 EXPORTS.mozilla.dom += [
     'Attr.h',
     'Comment.h',
     'DOMImplementation.h',
     'DocumentFragment.h',
     'DocumentType.h',
     'EventSource.h',
     'Link.h',
     'NodeIterator.h',
     'Text.h',
     'TreeWalker.h',
 ]
 
+CPP_SOURCES += [
+    'Attr.cpp',
+    'Comment.cpp',
+    'DOMImplementation.cpp',
+    'DirectionalityUtils.cpp',
+    'DocumentFragment.cpp',
+    'DocumentType.cpp',
+    'Element.cpp',
+    'EventSource.cpp',
+    'FileIOObject.cpp',
+    'FragmentOrElement.cpp',
+    'Link.cpp',
+    'NodeIterator.cpp',
+    'Text.cpp',
+    'ThirdPartyUtil.cpp',
+    'TreeWalker.cpp',
+    'WebSocket.cpp',
+    'nsAtomListUtils.cpp',
+    'nsAttrAndChildArray.cpp',
+    'nsAttrValue.cpp',
+    'nsAttrValueOrString.cpp',
+    'nsCCUncollectableMarker.cpp',
+    'nsCSPService.cpp',
+    'nsChannelPolicy.cpp',
+    'nsContentAreaDragDrop.cpp',
+    'nsContentIterator.cpp',
+    'nsContentList.cpp',
+    'nsContentPolicy.cpp',
+    'nsContentSink.cpp',
+    'nsContentUtils.cpp',
+    'nsCopySupport.cpp',
+    'nsCrossSiteListenerProxy.cpp',
+    'nsDOMAttributeMap.cpp',
+    'nsDOMBlobBuilder.cpp',
+    'nsDOMCaretPosition.cpp',
+    'nsDOMFile.cpp',
+    'nsDOMFileReader.cpp',
+    'nsDOMLists.cpp',
+    'nsDOMMutationObserver.cpp',
+    'nsDOMParser.cpp',
+    'nsDOMSerializer.cpp',
+    'nsDOMSettableTokenList.cpp',
+    'nsDOMTokenList.cpp',
+    'nsDataDocumentContentPolicy.cpp',
+    'nsDocument.cpp',
+    'nsDocumentEncoder.cpp',
+    'nsFormData.cpp',
+    'nsFrameLoader.cpp',
+    'nsFrameMessageManager.cpp',
+    'nsGenConImageContent.cpp',
+    'nsGenericDOMDataNode.cpp',
+    'nsGkAtoms.cpp',
+    'nsHTMLContentSerializer.cpp',
+    'nsHostObjectProtocolHandler.cpp',
+    'nsHostObjectURI.cpp',
+    'nsINode.cpp',
+    'nsImageLoadingContent.cpp',
+    'nsInProcessTabChildGlobal.cpp',
+    'nsLineBreaker.cpp',
+    'nsMappedAttributeElement.cpp',
+    'nsMappedAttributes.cpp',
+    'nsMixedContentBlocker.cpp',
+    'nsNameSpaceManager.cpp',
+    'nsNoDataProtocolContentPolicy.cpp',
+    'nsNodeInfo.cpp',
+    'nsNodeInfoManager.cpp',
+    'nsNodeUtils.cpp',
+    'nsObjectLoadingContent.cpp',
+    'nsPlainTextSerializer.cpp',
+    'nsPropertyTable.cpp',
+    'nsRange.cpp',
+    'nsReferencedElement.cpp',
+    'nsScriptElement.cpp',
+    'nsScriptLoader.cpp',
+    'nsStubDocumentObserver.cpp',
+    'nsStubMutationObserver.cpp',
+    'nsStyleLinkElement.cpp',
+    'nsStyledElement.cpp',
+    'nsSyncLoadService.cpp',
+    'nsTextFragment.cpp',
+    'nsTextNode.cpp',
+    'nsTraversal.cpp',
+    'nsTreeSanitizer.cpp',
+    'nsViewportInfo.cpp',
+    'nsXHTMLContentSerializer.cpp',
+    'nsXMLContentSerializer.cpp',
+    'nsXMLHttpRequest.cpp',
+    'nsXMLNameSpaceMap.cpp',
+]
+
--- a/content/canvas/src/Makefile.in
+++ b/content/canvas/src/Makefile.in
@@ -9,65 +9,20 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconcvs_s
 LIBXUL_LIBRARY  = 1
 FAIL_ON_WARNINGS = 1
 
-CPPSRCS	= \
-	CanvasImageCache.cpp \
-	CanvasRenderingContext2D.cpp \
-	CanvasUtils.cpp \
-	DocumentRendererParent.cpp \
-	DocumentRendererChild.cpp \
-	ImageData.cpp \
-	$(NULL)
-
 ifdef MOZ_WEBGL
-
-CPPSRCS += \
-	WebGLActiveInfo.cpp \
-	WebGLBuffer.cpp \
-	WebGLContext.cpp \
-	WebGLContextGL.cpp \
-	WebGLContextUtils.cpp \
-	WebGLContextReporter.cpp \
-	WebGLContextValidate.cpp \
-	WebGLElementArrayCache.cpp \
-	WebGLExtensionBase.cpp \
-	WebGLExtensionCompressedTextureATC.cpp \
-	WebGLExtensionCompressedTexturePVRTC.cpp \
-	WebGLExtensionCompressedTextureS3TC.cpp \
-	WebGLExtensionDebugRendererInfo.cpp \
-	WebGLExtensionDepthTexture.cpp \
-	WebGLExtensionLoseContext.cpp \
-	WebGLExtensionStandardDerivatives.cpp \
-	WebGLExtensionTextureFilterAnisotropic.cpp \
-	WebGLExtensionTextureFloat.cpp \
-	WebGLFramebuffer.cpp \
-	WebGLObjectModel.cpp \
-	WebGLProgram.cpp \
-	WebGLRenderbuffer.cpp \
-	WebGLShader.cpp \
-	WebGLShaderPrecisionFormat.cpp \
-	WebGLTexelConversions.cpp \
-	WebGLTexture.cpp \
-	WebGLUniformLocation.cpp \
-	$(NULL)
-
 LOCAL_INCLUDES += \
 	-I$(topsrcdir)/js/xpconnect/wrappers \
 	$(NULL)
-
-else
-
-CPPSRCS += WebGLContextNotSupported.cpp
-
 endif
 
 # 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
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 
--- a/content/canvas/src/moz.build
+++ b/content/canvas/src/moz.build
@@ -10,8 +10,51 @@ EXPORTS.mozilla.dom += [
     'CanvasGradient.h',
     'CanvasPattern.h',
     'CanvasRenderingContext2D.h',
     'CanvasUtils.h',
     'ImageData.h',
     'TextMetrics.h',
 ]
 
+CPP_SOURCES += [
+    'CanvasImageCache.cpp',
+    'CanvasRenderingContext2D.cpp',
+    'CanvasUtils.cpp',
+    'DocumentRendererChild.cpp',
+    'DocumentRendererParent.cpp',
+    'ImageData.cpp',
+]
+
+if CONFIG['MOZ_WEBGL']:
+    CPP_SOURCES += [
+        'WebGLActiveInfo.cpp',
+        'WebGLBuffer.cpp',
+        'WebGLContext.cpp',
+        'WebGLContextGL.cpp',
+        'WebGLContextUtils.cpp',
+        'WebGLContextReporter.cpp',
+        'WebGLContextValidate.cpp',
+        'WebGLElementArrayCache.cpp',
+        'WebGLExtensionBase.cpp',
+        'WebGLExtensionCompressedTextureATC.cpp',
+        'WebGLExtensionCompressedTexturePVRTC.cpp',
+        'WebGLExtensionCompressedTextureS3TC.cpp',
+        'WebGLExtensionDebugRendererInfo.cpp',
+        'WebGLExtensionDepthTexture.cpp',
+        'WebGLExtensionLoseContext.cpp',
+        'WebGLExtensionStandardDerivatives.cpp',
+        'WebGLExtensionTextureFilterAnisotropic.cpp',
+        'WebGLExtensionTextureFloat.cpp',
+        'WebGLFramebuffer.cpp',
+        'WebGLObjectModel.cpp',
+        'WebGLProgram.cpp',
+        'WebGLRenderbuffer.cpp',
+        'WebGLShader.cpp',
+        'WebGLShaderPrecisionFormat.cpp',
+        'WebGLTexelConversions.cpp',
+        'WebGLTexture.cpp',
+        'WebGLUniformLocation.cpp',
+    ]
+else:
+    CPP_SOURCES += [
+        'WebGLContextNotSupported.cpp',
+    ]
--- a/content/events/src/Makefile.in
+++ b/content/events/src/Makefile.in
@@ -9,63 +9,16 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconevents_s
 LIBXUL_LIBRARY  = 1
 FAIL_ON_WARNINGS = 1
 
-CPPSRCS		= \
-		EventTarget.cpp \
-		nsEventListenerManager.cpp \
-		nsEventStateManager.cpp \
-		nsDOMEvent.cpp \
-		nsDOMDataContainerEvent.cpp \
-		nsDOMUIEvent.cpp \
-		nsDOMKeyboardEvent.cpp \
-		nsDOMTextEvent.cpp \
-		nsDOMMouseEvent.cpp \
-		nsDOMMouseScrollEvent.cpp \
-		nsDOMDragEvent.cpp \
-		nsDOMMutationEvent.cpp \
-		nsDOMDeviceMotionEvent.cpp \
-		nsDOMBeforeUnloadEvent.cpp \
-		nsDOMXULCommandEvent.cpp \
-		nsDOMCommandEvent.cpp \
-		nsDOMMessageEvent.cpp \
-		nsPaintRequest.cpp \
-		nsPrivateTextRange.cpp \
-		nsAsyncDOMEvent.cpp \
-		nsEventDispatcher.cpp \
-		nsIMEStateManager.cpp \
-		nsContentEventHandler.cpp \
-		nsEventListenerService.cpp \
-		nsDOMDataTransfer.cpp \
-		nsDOMNotifyPaintEvent.cpp \
-		nsDOMNotifyAudioAvailableEvent.cpp \
-		nsDOMSimpleGestureEvent.cpp \
-		nsDOMEventTargetHelper.cpp \
-		nsDOMScrollAreaEvent.cpp \
-		nsDOMTransitionEvent.cpp \
-		nsDOMAnimationEvent.cpp \
-		nsDOMTouchEvent.cpp \
-		nsDOMCompositionEvent.cpp \
-		nsDOMClipboardEvent.cpp \
-		DOMWheelEvent.cpp \
-		TextComposition.cpp \
-		Touch.cpp \
-		$(NULL)
-
-ifdef MOZ_GAMEPAD
-CPPSRCS += \
-  nsDOMGamepad.cpp \
-  $(NULL)
-endif
-
 # 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/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES	+= \
--- a/content/events/src/moz.build
+++ b/content/events/src/moz.build
@@ -15,8 +15,53 @@ EXPORTS += [
     'nsEventListenerManager.h',
     'nsEventStateManager.h',
 ]
 
 EXPORTS.mozilla.dom += [
     'Touch.h',
 ]
 
+CPP_SOURCES += [
+    'DOMWheelEvent.cpp',
+    'EventTarget.cpp',
+    'TextComposition.cpp',
+    'Touch.cpp',
+    'nsAsyncDOMEvent.cpp',
+    'nsContentEventHandler.cpp',
+    'nsDOMAnimationEvent.cpp',
+    'nsDOMBeforeUnloadEvent.cpp',
+    'nsDOMClipboardEvent.cpp',
+    'nsDOMCommandEvent.cpp',
+    'nsDOMCompositionEvent.cpp',
+    'nsDOMDataContainerEvent.cpp',
+    'nsDOMDataTransfer.cpp',
+    'nsDOMDeviceMotionEvent.cpp',
+    'nsDOMDragEvent.cpp',
+    'nsDOMEvent.cpp',
+    'nsDOMEventTargetHelper.cpp',
+    'nsDOMKeyboardEvent.cpp',
+    'nsDOMMessageEvent.cpp',
+    'nsDOMMouseEvent.cpp',
+    'nsDOMMouseScrollEvent.cpp',
+    'nsDOMMutationEvent.cpp',
+    'nsDOMNotifyAudioAvailableEvent.cpp',
+    'nsDOMNotifyPaintEvent.cpp',
+    'nsDOMScrollAreaEvent.cpp',
+    'nsDOMSimpleGestureEvent.cpp',
+    'nsDOMTextEvent.cpp',
+    'nsDOMTouchEvent.cpp',
+    'nsDOMTransitionEvent.cpp',
+    'nsDOMUIEvent.cpp',
+    'nsDOMXULCommandEvent.cpp',
+    'nsEventDispatcher.cpp',
+    'nsEventListenerManager.cpp',
+    'nsEventListenerService.cpp',
+    'nsEventStateManager.cpp',
+    'nsIMEStateManager.cpp',
+    'nsPaintRequest.cpp',
+    'nsPrivateTextRange.cpp',
+]
+
+if CONFIG['MOZ_GAMEPAD']:
+    CPP_SOURCES += [
+        'nsDOMGamepad.cpp',
+    ]
--- a/content/html/content/src/Makefile.in
+++ b/content/html/content/src/Makefile.in
@@ -9,93 +9,16 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconhtmlcon_s
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
-CPPSRCS		= \
-		HTMLPropertiesCollection.cpp \
-		nsClientRect.cpp \
-		nsHTMLDNSPrefetch.cpp \
-		nsGenericHTMLElement.cpp \
-		nsGenericHTMLFrameElement.cpp \
-		nsFormSubmission.cpp \
-		nsTextEditorState.cpp \
-		HTMLElement.cpp \
-		HTMLAnchorElement.cpp \
-		HTMLAreaElement.cpp \
-		HTMLAudioElement.cpp \
-		HTMLBRElement.cpp \
-		HTMLBodyElement.cpp \
-		HTMLButtonElement.cpp \
-		HTMLCanvasElement.cpp \
-		HTMLDataElement.cpp \
-		HTMLDataListElement.cpp \
-		HTMLDivElement.cpp \
-		HTMLFieldSetElement.cpp \
-		HTMLFontElement.cpp \
-		nsHTMLFormElement.cpp \
-		HTMLFrameElement.cpp \
-		HTMLFrameSetElement.cpp \
-		HTMLHRElement.cpp \
-		HTMLHeadingElement.cpp \
-		HTMLIFrameElement.cpp \
-		HTMLImageElement.cpp \
-		HTMLInputElement.cpp \
-		HTMLLIElement.cpp \
-		HTMLLabelElement.cpp \
-		HTMLLegendElement.cpp \
-		HTMLLinkElement.cpp \
-		HTMLMapElement.cpp \
-		HTMLMediaElement.cpp \
-		HTMLMenuElement.cpp \
-		HTMLMenuItemElement.cpp \
-		HTMLMetaElement.cpp \
-		HTMLMeterElement.cpp \
-		HTMLModElement.cpp \
-		HTMLObjectElement.cpp \
-		HTMLSharedObjectElement.cpp \
-		HTMLOptionElement.cpp \
-		HTMLOptionsCollection.cpp \
-		HTMLOptGroupElement.cpp \
-		HTMLOutputElement.cpp \
-		HTMLParagraphElement.cpp \
-		HTMLPreElement.cpp \
-		HTMLProgressElement.cpp \
-		HTMLScriptElement.cpp \
-		HTMLSelectElement.cpp \
-		HTMLSharedElement.cpp \
-		HTMLSharedListElement.cpp \
-		HTMLSourceElement.cpp \
-		HTMLSpanElement.cpp \
-		HTMLStyleElement.cpp \
-		HTMLTableElement.cpp \
-		HTMLTableCaptionElement.cpp \
-		HTMLTableCellElement.cpp \
-		HTMLTableColElement.cpp \
-		HTMLTableRowElement.cpp \
-		HTMLTableSectionElement.cpp \
-		HTMLTemplateElement.cpp \
-		HTMLTextAreaElement.cpp \
-		HTMLTimeElement.cpp \
-		HTMLTitleElement.cpp \
-		HTMLVideoElement.cpp \
-		HTMLUnknownElement.cpp \
-		MediaError.cpp \
-		TimeRanges.cpp \
-		ValidityState.cpp \
-		nsIConstraintValidation.cpp \
-		nsRadioVisitor.cpp \
-		nsDOMStringMap.cpp \
-		UndoManager.cpp \
-		$(NULL)
-
 # 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
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 
 INCLUDES	+= \
 		-I$(srcdir)/../../document/src \
--- a/content/html/content/src/moz.build
+++ b/content/html/content/src/moz.build
@@ -69,8 +69,85 @@ EXPORTS.mozilla.dom += [
     'HTMLTitleElement.h',
     'HTMLUnknownElement.h',
     'MediaError.h',
     'TimeRanges.h',
     'UndoManager.h',
     'ValidityState.h',
 ]
 
+CPP_SOURCES += [
+    'HTMLAnchorElement.cpp',
+    'HTMLAreaElement.cpp',
+    'HTMLAudioElement.cpp',
+    'HTMLBRElement.cpp',
+    'HTMLBodyElement.cpp',
+    'HTMLButtonElement.cpp',
+    'HTMLCanvasElement.cpp',
+    'HTMLDataElement.cpp',
+    'HTMLDataListElement.cpp',
+    'HTMLDivElement.cpp',