Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
authorMike Shal <mshal@mozilla.com>
Tue, 23 Apr 2013 17:54:15 -0400
changeset 144532 6e45e9f62d2171419a8d8780ad4779ff0488ccb5
parent 144531 d3b6e29faca11f2abb4a50679f83fb612d801022
child 144545 982dafef356cded9708b3dd20bf93da1c73bc3a6
child 144559 1ba392c9103c997e09afaaaab7a1d979559c85df
child 145089 8841f53d2f4a09fedf5628ba23b9494aa4540280
child 169911 d720bf6a90b9e45971948b919017eb3654b14cbb
push idunknown
push userunknown
push dateunknown
reviewersjoey
bugs864774
milestone24.0a1
Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
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/jsat/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/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/diskspacewatcher/Makefile.in
toolkit/components/diskspacewatcher/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/server/Makefile.in
toolkit/devtools/server/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/libdisplay/Makefile.in
widget/gonk/libdisplay/moz.build
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/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/jsat/moz.build
+++ b/accessible/src/jsat/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 = 'alerts'
 
+CPP_SOURCES += [
+    'nsAccessibilityFactory.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,18 +14,16 @@ 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))
 LIBS += \
   -lui \
   -lEGL \
   -lhardware_legacy \
   -lhardware \
   -lcutils \
   $(DEPTH)/media/libpng/$(LIB_PREFIX)mozpng.$(LIB_SUFFIX) \
--- a/b2g/app/moz.build
+++ b/b2g/app/moz.build
@@ -4,8 +4,11 @@
 # 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',
+    ]
--- 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
@@ -11,24 +11,14 @@ VPATH		= @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= caps_s
 MSVC_ENABLE_PGO := 1
 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
@@ -10,23 +10,16 @@ VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME    = chrome_s
 MSVC_ENABLE_PGO := 1
 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
@@ -9,119 +9,22 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconbase_s
 MSVC_ENABLE_PGO := 1
 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
@@ -34,22 +34,122 @@ EXPORTS += [
     'nsTextFragment.h',
 ]
 
 if CONFIG['MOZ_WEBRTC']:
     EXPORTS += [
         'nsDOMDataChannel.h',
         'nsDOMDataChannelDeclarations.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
@@ -10,66 +10,20 @@ VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconcvs_s
 MSVC_ENABLE_PGO := 1
 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 \
-	WebGLExtensionElementIndexUint.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,52 @@ 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',
+        'WebGLExtensionElementIndexUint.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
@@ -10,63 +10,16 @@ VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconevents_s
 MSVC_ENABLE_PGO := 1
 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
@@ -10,94 +10,16 @@ VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconhtmlcon_s
 MSVC_ENABLE_PGO := 1
 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 \
-		HTMLTrackElement.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
@@ -70,8 +70,86 @@ EXPORTS.mozilla.dom += [
     'HTMLTrackElement.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',
+    'HTMLElement.cpp',
+    'HTMLFieldSetElement.cpp',
+    'HTMLFontElement.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',
+    'HTMLOptGroupElement.cpp',
+    'HTMLOptionElement.cpp',
+    'HTMLOptionsCollection.cpp',
+    'HTMLOutputElement.cpp',
+    'HTMLParagraphElement.cpp',
+    'HTMLPreElement.cpp',
+    'HTMLProgressElement.cpp',
+    'HTMLPropertiesCollection.cpp',
+    'HTMLScriptElement.cpp',
+    'HTMLSelectElement.cpp',
+    'HTMLSharedElement.cpp',
+    'HTMLSharedListElement.cpp',
+    'HTMLSharedObjectElement.cpp',
+    'HTMLSourceElement.cpp',
+    'HTMLSpanElement.cpp',
+    'HTMLStyleElement.cpp',
+    'HTMLTableCaptionElement.cpp',
+    'HTMLTableCellElement.cpp',
+    'HTMLTableColElement.cpp',
+    'HTMLTableElement.cpp',
+    'HTMLTableRowElement.cpp',
+    'HTMLTableSectionElement.cpp',
+    'HTMLTemplateElement.cpp',
+    'HTMLTextAreaElement.cpp',
+    'HTMLTimeElement.cpp',
+    'HTMLTitleElement.cpp',
+    'HTMLTrackElement.cpp',
+    'HTMLUnknownElement.cpp',
+    'HTMLVideoElement.cpp',
+    'MediaError.cpp',
+    'TimeRanges.cpp',
+    'UndoManager.cpp',
+    'ValidityState.cpp',
+    'nsClientRect.cpp',
+    'nsDOMStringMap.cpp',
+    'nsFormSubmission.cpp',
+    'nsGenericHTMLElement.cpp',
+    'nsGenericHTMLFrameElement.cpp',
+    'nsHTMLDNSPrefetch.cpp',
+    'nsHTMLFormElement.cpp',
+    'nsIConstraintValidation.cpp',
+    'nsRadioVisitor.cpp',
+    'nsTextEditorState.cpp',
+]
+
--- a/content/html/document/src/Makefile.in
+++ b/content/html/document/src/Makefile.in
@@ -10,25 +10,16 @@ VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconhtmldoc_s
 MSVC_ENABLE_PGO := 1
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
-CPPSRCS		= \
-		nsHTMLContentSink.cpp \
-		nsHTMLDocument.cpp \
-		ImageDocument.cpp \
-		MediaDocument.cpp \
-		PluginDocument.cpp \
-		VideoDocument.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/src \
 		-I$(srcdir)/../../../events/src \
--- a/content/html/document/src/moz.build
+++ b/content/html/document/src/moz.build
@@ -8,8 +8,17 @@ MODULE = 'content'
 
 EXPORTS += [
     'nsIHTMLDocument.h',
 ]
 
 EXPORTS.mozilla.dom += [
     'ImageDocument.h',
 ]
+
+CPP_SOURCES += [
+    'ImageDocument.cpp',
+    'MediaDocument.cpp',
+    'PluginDocument.cpp',
+    'VideoDocument.cpp',
+    'nsHTMLContentSink.cpp',
+    'nsHTMLDocument.cpp',
+]
--- a/content/mathml/content/src/Makefile.in
+++ b/content/mathml/content/src/Makefile.in
@@ -9,21 +9,16 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkcontentmathml_s
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
-CPPSRCS		= \
-		nsMathMLElement.cpp               \
-		nsMathMLElementFactory.cpp        \
-		$(NULL)
-
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 
 # 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/content/mathml/content/src/moz.build
+++ b/content/mathml/content/src/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 = 'content'
 
+CPP_SOURCES += [
+    'nsMathMLElement.cpp',
+    'nsMathMLElementFactory.cpp',
+]
+
--- a/content/media/Makefile.in
+++ b/content/media/Makefile.in
@@ -11,45 +11,16 @@ include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = gkconmedia_s
 MSVC_ENABLE_PGO := 1
 LIBXUL_LIBRARY = 1
 ifndef _MSC_VER
 FAIL_ON_WARNINGS := 1
 endif # !_MSC_VER
 
-CPPSRCS = \
-  AudioAvailableEventManager.cpp \
-  AudioChannelFormat.cpp \
-  AudioNodeEngine.cpp \
-  AudioNodeStream.cpp \
-  AudioSegment.cpp \
-  AudioStream.cpp \
-  AudioStreamTrack.cpp \
-  DecoderTraits.cpp \
-  DOMMediaStream.cpp \
-  FileBlockCache.cpp \
-  MediaCache.cpp \
-  MediaDecoder.cpp \
-  MediaDecoderStateMachine.cpp \
-  MediaDecoderReader.cpp \
-  MediaResource.cpp \
-  MediaStreamGraph.cpp \
-  MediaStreamTrack.cpp \
-  StreamBuffer.cpp \
-  TextTrack.cpp \
-  TextTrackList.cpp \
-  TextTrackCue.cpp \
-  TextTrackCueList.cpp \
-  VideoFrameContainer.cpp \
-  VideoSegment.cpp \
-  VideoStreamTrack.cpp \
-  VideoUtils.cpp \
-  $(NULL)
-
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 include $(topsrcdir)/config/rules.mk
 
 DEFINES  += -D_IMPL_NS_LAYOUT
 CFLAGS   += $(GSTREAMER_CFLAGS)
--- a/content/media/dash/Makefile.in
+++ b/content/media/dash/Makefile.in
@@ -13,22 +13,16 @@ topsrcdir  := @top_srcdir@
 srcdir     := @srcdir@
 VPATH      := @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME   := gkcondash_s
 LIBXUL_LIBRARY := 1
 
-CPPSRCS := \
-  DASHDecoder.cpp \
-  DASHRepDecoder.cpp \
-  DASHReader.cpp \
-  $(NULL)
-
 FORCE_STATIC_LIB := 1
 
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES := \
   -I$(topsrcdir)/netwerk/dash/mpd \
   -I$(srcdir)/../webm \
   -I$(srcdir)/../../base/src \
--- a/content/media/dash/moz.build
+++ b/content/media/dash/moz.build
@@ -8,8 +8,14 @@ MODULE = 'content'
 
 EXPORTS += [
     'DASHDecoder.h',
     'DASHReader.h',
     'DASHRepDecoder.h',
     'DASHRepReader.h',
 ]
 
+CPP_SOURCES += [
+    'DASHDecoder.cpp',
+    'DASHReader.cpp',
+    'DASHRepDecoder.cpp',
+]
+
--- a/content/media/gstreamer/Makefile.in
+++ b/content/media/gstreamer/Makefile.in
@@ -8,24 +8,16 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 FAIL_ON_WARNINGS := 1
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkcongstreamer_s
 LIBXUL_LIBRARY 	= 1
 
-
-CPPSRCS		= \
-		GStreamerReader.cpp \
-		GStreamerDecoder.cpp \
-		GStreamerFormatHelper.cpp \
-		GStreamerMozVideoBuffer.cpp \
-		$(NULL)
-
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
 
 CFLAGS		+= $(GSTREAMER_CFLAGS)
 CXXFLAGS	+= $(GSTREAMER_CFLAGS)
 
 
--- a/content/media/gstreamer/moz.build
+++ b/content/media/gstreamer/moz.build
@@ -7,8 +7,15 @@
 MODULE = 'content'
 
 EXPORTS += [
     'GStreamerDecoder.h',
     'GStreamerFormatHelper.h',
     'GStreamerReader.h',
 ]
 
+CPP_SOURCES += [
+    'GStreamerDecoder.cpp',
+    'GStreamerFormatHelper.cpp',
+    'GStreamerReader.cpp',
+    'GStreamerMozVideoBuffer.cpp',
+]
+
--- a/content/media/moz.build
+++ b/content/media/moz.build
@@ -78,8 +78,37 @@ EXPORTS.mozilla.dom += [
     'AudioStreamTrack.h',
     'MediaStreamTrack.h',
     'TextTrack.h',
     'TextTrackCue.h',
     'TextTrackCueList.h',
     'TextTrackList.h',
     'VideoStreamTrack.h',
 ]
+
+CPP_SOURCES += [
+    'AudioAvailableEventManager.cpp',
+    'AudioChannelFormat.cpp',
+    'AudioNodeEngine.cpp',
+    'AudioNodeStream.cpp',
+    'AudioSegment.cpp',
+    'AudioStream.cpp',
+    'AudioStreamTrack.cpp',
+    'DOMMediaStream.cpp',
+    'DecoderTraits.cpp',
+    'FileBlockCache.cpp',
+    'MediaCache.cpp',
+    'MediaDecoder.cpp',
+    'MediaDecoderReader.cpp',
+    'MediaDecoderStateMachine.cpp',
+    'MediaResource.cpp',
+    'MediaStreamGraph.cpp',
+    'MediaStreamTrack.cpp',
+    'StreamBuffer.cpp',
+    'TextTrack.cpp',
+    'TextTrackCue.cpp',
+    'TextTrackCueList.cpp',
+    'TextTrackList.cpp',
+    'VideoFrameContainer.cpp',
+    'VideoSegment.cpp',
+    'VideoStreamTrack.cpp',
+    'VideoUtils.cpp',
+]
--- a/content/media/ogg/Makefile.in
+++ b/content/media/ogg/Makefile.in
@@ -9,17 +9,11 @@ VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconogg_s
 LIBXUL_LIBRARY 	= 1
 FAIL_ON_WARNINGS := 1
 
 
-CPPSRCS		= \
-		OggDecoder.cpp \
-		OggCodecState.cpp \
-		OggReader.cpp \
-		$(NULL)
-
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
--- a/content/media/ogg/moz.build
+++ b/content/media/ogg/moz.build
@@ -7,8 +7,14 @@
 MODULE = 'content'
 
 EXPORTS += [
     'OggCodecState.h',
     'OggDecoder.h',
     'OggReader.h',
 ]
 
+CPP_SOURCES += [
+    'OggCodecState.cpp',
+    'OggDecoder.cpp',
+    'OggReader.cpp',
+]
+
--- a/content/media/omx/Makefile.in
+++ b/content/media/omx/Makefile.in
@@ -7,22 +7,16 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconomx_s
 LIBXUL_LIBRARY 	= 1
 
-CPPSRCS		= \
-		MediaOmxDecoder.cpp \
-		MediaOmxReader.cpp \
-		OmxDecoder.cpp \
-		$(NULL)
-
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 
 INCLUDES	+= \
 		-I$(topsrcdir)/ipc/chromium/src \
 		-I$(srcdir)/../../base/src \
--- a/content/media/omx/moz.build
+++ b/content/media/omx/moz.build
@@ -6,8 +6,14 @@
 
 MODULE = 'content'
 
 EXPORTS += [
     'MediaOmxDecoder.h',
     'MediaOmxReader.h',
 ]
 
+CPP_SOURCES += [
+    'MediaOmxDecoder.cpp',
+    'MediaOmxReader.cpp',
+    'OmxDecoder.cpp',
+]
+
--- a/content/media/plugins/Makefile.in
+++ b/content/media/plugins/Makefile.in
@@ -7,22 +7,16 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconmediaplugins_s
 LIBXUL_LIBRARY 	= 1
 
-CPPSRCS		= \
-		MediaPluginHost.cpp \
-		MediaPluginDecoder.cpp \
-		MediaPluginReader.cpp \
-		$(NULL)
-
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
 
 INCLUDES	+= \
 		-I$(srcdir)/../../base/src \
 		-I$(srcdir)/../../html/content/src \
 		$(NULL)
--- a/content/media/plugins/moz.build
+++ b/content/media/plugins/moz.build
@@ -8,8 +8,14 @@ MODULE = 'content'
 
 EXPORTS += [
     'MPAPI.h',
     'MediaPluginDecoder.h',
     'MediaPluginHost.h',
     'MediaPluginReader.h',
 ]
 
+CPP_SOURCES += [
+    'MediaPluginDecoder.cpp',
+    'MediaPluginHost.cpp',
+    'MediaPluginReader.cpp',
+]
+
--- a/content/media/raw/Makefile.in
+++ b/content/media/raw/Makefile.in
@@ -9,21 +9,16 @@ srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = gkconraw_s
 LIBXUL_LIBRARY = 1
 FAIL_ON_WARNINGS := 1
 
-CPPSRCS += \
-  RawDecoder.cpp \
-  RawReader.cpp \
-  $(NULL)
-
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
 
 INCLUDES	+= \
 		-I$(srcdir)/../../base/src \
 		-I$(srcdir)/../../html/content/src \
 		$(NULL)
--- a/content/media/raw/moz.build
+++ b/content/media/raw/moz.build
@@ -7,8 +7,13 @@
 MODULE = 'content'
 
 EXPORTS += [
     'RawDecoder.h',
     'RawReader.h',
     'RawStructs.h',
 ]
 
+CPP_SOURCES += [
+    'RawDecoder.cpp',
+    'RawReader.cpp',
+]
+
--- a/content/media/wave/Makefile.in
+++ b/content/media/wave/Makefile.in
@@ -9,16 +9,11 @@ VPATH		= @srcdir@
 FAIL_ON_WARNINGS := 1
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconwave_s
 LIBXUL_LIBRARY 	= 1
 
 
-CPPSRCS		= \
-		WaveDecoder.cpp \
-		WaveReader.cpp \
-		$(NULL)
-
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
--- a/content/media/wave/moz.build
+++ b/content/media/wave/moz.build
@@ -6,8 +6,13 @@
 
 MODULE = 'content'
 
 EXPORTS += [
     'WaveDecoder.h',
     'WaveReader.h',
 ]
 
+CPP_SOURCES += [
+    'WaveDecoder.cpp',
+    'WaveReader.cpp',
+]
+
--- a/content/media/webaudio/Makefile.in
+++ b/content/media/webaudio/Makefile.in
@@ -10,37 +10,11 @@ VPATH            := @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME   := gkconwebaudio_s
 LIBXUL_LIBRARY := 1
 ifndef _MSC_VER
 FAIL_ON_WARNINGS := 1
 endif # !_MSC_VER
 
-CPPSRCS := \
-  AnalyserNode.cpp \
-  AudioBuffer.cpp \
-  AudioBufferSourceNode.cpp \
-  AudioContext.cpp \
-  AudioDestinationNode.cpp \
-  AudioListener.cpp \
-  AudioNode.cpp \
-  AudioParam.cpp \
-  AudioProcessingEvent.cpp \
-  BiquadFilterNode.cpp \
-  ChannelMergerNode.cpp \
-  ChannelSplitterNode.cpp \
-  DelayNode.cpp \
-  DynamicsCompressorNode.cpp \
-  EnableWebAudioCheck.cpp \
-  GainNode.cpp \
-  MediaBufferDecoder.cpp \
-  OfflineAudioCompletionEvent.cpp \
-  PannerNode.cpp \
-  ScriptProcessorNode.cpp \
-  ThreeDPoint.cpp \
-  WaveShaperNode.cpp \
-  WebAudioUtils.cpp \
-  $(NULL)
-
 FORCE_STATIC_LIB := 1
 
 include $(topsrcdir)/config/rules.mk
--- a/content/media/webaudio/blink/Makefile.in
+++ b/content/media/webaudio/blink/Makefile.in
@@ -7,18 +7,11 @@ topsrcdir        := @top_srcdir@
 srcdir           := @srcdir@
 VPATH            := @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME   := gkconwebaudio_blink_s
 LIBXUL_LIBRARY := 1
 
-CPPSRCS := \
-  Biquad.cpp \
-  DynamicsCompressor.cpp \
-  DynamicsCompressorKernel.cpp \
-  ZeroPole.cpp \
-  $(NULL)
-
 FORCE_STATIC_LIB := 1
 
 include $(topsrcdir)/config/rules.mk
--- a/content/media/webaudio/blink/moz.build
+++ b/content/media/webaudio/blink/moz.build
@@ -1,8 +1,15 @@
 # -*- 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 = 'content'
 
+CPP_SOURCES += [
+    'Biquad.cpp',
+    'DynamicsCompressor.cpp',
+    'DynamicsCompressorKernel.cpp',
+    'ZeroPole.cpp',
+]
+
--- a/content/media/webaudio/moz.build
+++ b/content/media/webaudio/moz.build
@@ -35,8 +35,34 @@ EXPORTS.mozilla.dom += [
     'EnableWebAudioCheck.h',
     'GainNode.h',
     'OfflineAudioCompletionEvent.h',
     'PannerNode.h',
     'ScriptProcessorNode.h',
     'WaveShaperNode.h',
 ]
 
+CPP_SOURCES += [
+    'AnalyserNode.cpp',
+    'AudioBuffer.cpp',
+    'AudioBufferSourceNode.cpp',
+    'AudioContext.cpp',
+    'AudioDestinationNode.cpp',
+    'AudioListener.cpp',
+    'AudioNode.cpp',
+    'AudioParam.cpp',
+    'AudioProcessingEvent.cpp',
+    'BiquadFilterNode.cpp',
+    'ChannelMergerNode.cpp',
+    'ChannelSplitterNode.cpp',
+    'DelayNode.cpp',
+    'DynamicsCompressorNode.cpp',
+    'EnableWebAudioCheck.cpp',
+    'GainNode.cpp',
+    'MediaBufferDecoder.cpp',
+    'OfflineAudioCompletionEvent.cpp',
+    'PannerNode.cpp',
+    'ScriptProcessorNode.cpp',
+    'ThreeDPoint.cpp',
+    'WaveShaperNode.cpp',
+    'WebAudioUtils.cpp',
+]
+
--- a/content/media/webm/Makefile.in
+++ b/content/media/webm/Makefile.in
@@ -9,22 +9,16 @@ VPATH		= @srcdir@
 FAIL_ON_WARNINGS := 1
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconwebm_s
 LIBXUL_LIBRARY 	= 1
 
 
-CPPSRCS		= \
-		WebMBufferedParser.cpp \
-		WebMDecoder.cpp \
-		WebMReader.cpp \
-		$(NULL)
-
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES = \
 		$(MOZ_LIBVPX_CFLAGS) \
 		$(NULL)
 
--- a/content/media/webm/moz.build
+++ b/content/media/webm/moz.build
@@ -6,8 +6,14 @@
 
 MODULE = 'content'
 
 EXPORTS += [
     'WebMDecoder.h',
     'WebMReader.h',
 ]
 
+CPP_SOURCES += [
+    'WebMBufferedParser.cpp',
+    'WebMDecoder.cpp',
+    'WebMReader.cpp',
+]
+
--- a/content/media/webrtc/Makefile.in
+++ b/content/media/webrtc/Makefile.in
@@ -7,28 +7,16 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = gkconwebrtc_s
 LIBXUL_LIBRARY = 1
 
-CPPSRCS	= \
-  MediaEngineDefault.cpp \
-  $(NULL)
-
-ifdef MOZ_WEBRTC
-CPPSRCS += \
-  MediaEngineWebRTC.cpp \
-  MediaEngineWebRTCVideo.cpp \
-  MediaEngineWebRTCAudio.cpp \
-  $(NULL)
-endif
-
 ifeq ($(OS_ARCH),WINNT)
 OS_CXXFLAGS += -DNOMINMAX
 endif
 
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
--- a/content/media/webrtc/moz.build
+++ b/content/media/webrtc/moz.build
@@ -8,8 +8,18 @@ MODULE = 'content'
 
 EXPORTS += [
     'MediaEngine.h',
     'MediaEngineDefault.h',
 ]
 
 if CONFIG['MOZ_WEBRTC']:
     EXPORTS += ['MediaEngineWebRTC.h']
+    CPP_SOURCES += [
+        'MediaEngineWebRTC.cpp',
+        'MediaEngineWebRTCVideo.cpp',
+        'MediaEngineWebRTCAudio.cpp',
+    ]
+
+CPP_SOURCES += [
+    'MediaEngineDefault.cpp',
+]
+
--- a/content/media/webspeech/recognition/Makefile.in
+++ b/content/media/webspeech/recognition/Makefile.in
@@ -14,28 +14,13 @@ VPATH += \
   $(srcdir)/test \
   $(NULL)
 
 LIBRARY_NAME   := gkconwebspeechrecognition_s
 LIBXUL_LIBRARY := 1
 
 LOCAL_INCLUDES += $(VPATH:%=-I%)
 
-CPPSRCS := \
-  EnableWebSpeechRecognitionCheck.cpp \
-  SpeechGrammar.cpp \
-  SpeechGrammarList.cpp \
-  SpeechRecognitionAlternative.cpp \
-  SpeechRecognition.cpp \
-  SpeechRecognitionResult.cpp \
-  SpeechRecognitionResultList.cpp \
-  SpeechStreamListener.cpp \
-  endpointer.cc \
-  energy_endpointer.cc \
-  energy_endpointer_params.cc \
-  FakeSpeechRecognitionService.cpp \
-  $(NULL)
-
 FORCE_STATIC_LIB := 1
 
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 include $(topsrcdir)/config/rules.mk
--- a/content/media/webspeech/recognition/moz.build
+++ b/content/media/webspeech/recognition/moz.build
@@ -21,8 +21,23 @@ EXPORTS.mozilla.dom += [
     'SpeechGrammarList.h',
     'SpeechRecognition.h',
     'SpeechRecognitionAlternative.h',
     'SpeechRecognitionResult.h',
     'SpeechRecognitionResultList.h',
     'SpeechStreamListener.h',
 ]
 
+CPP_SOURCES += [
+    'EnableWebSpeechRecognitionCheck.cpp',
+    'FakeSpeechRecognitionService.cpp',
+    'SpeechGrammar.cpp',
+    'SpeechGrammarList.cpp',
+    'SpeechRecognition.cpp',
+    'SpeechRecognitionAlternative.cpp',
+    'SpeechRecognitionResult.cpp',
+    'SpeechRecognitionResultList.cpp',
+    'SpeechStreamListener.cpp',
+    'endpointer.cc',
+    'energy_endpointer.cc',
+    'energy_endpointer_params.cc',
+]
+
--- a/content/media/webspeech/recognition/test/Makefile.in
+++ b/content/media/webspeech/recognition/test/Makefile.in
@@ -5,20 +5,16 @@
 DEPTH          := @DEPTH@
 topsrcdir      := @top_srcdir@
 srcdir         := @srcdir@
 VPATH          := @srcdir@
 relativesrcdir := @relativesrcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-CPPSRCS := \
-  FakeSpeechRecognitionService.cpp \
-  $(NULL)
-
 MOCHITEST_FILES := \
   head.js \
   test_success_without_recognition_service.html \
   test_timeout.html \
   test_recognition_service_error.html \
   test_audio_capture_error.html \
   test_abort.html \
   test_call_start_from_end_handler.html \
--- a/content/media/webspeech/recognition/test/moz.build
+++ b/content/media/webspeech/recognition/test/moz.build
@@ -1,4 +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/.
+
+CPP_SOURCES += [
+    'FakeSpeechRecognitionService.cpp',
+]
+
--- a/content/media/webspeech/synth/Makefile.in
+++ b/content/media/webspeech/synth/Makefile.in
@@ -17,24 +17,13 @@ VPATH += \
   $(NULL)
 
 LIBRARY_NAME   := gkconwebspeechsynth_s
 EXPORT_LIBRARY  = 1
 LIBXUL_LIBRARY  = 1
 
 LOCAL_INCLUDES += $(VPATH:%=-I%)
 
-CPPSRCS := \
-  EnableSpeechSynthesisCheck.cpp \
-  SpeechSynthesisUtterance.cpp \
-  SpeechSynthesisVoice.cpp \
-  SpeechSynthesis.cpp \
-  SpeechSynthesisChild.cpp \
-  SpeechSynthesisParent.cpp \
-  nsSynthVoiceRegistry.cpp \
-  nsSpeechTask.cpp \
-  $(NULL)
-
 FORCE_STATIC_LIB := 1
 
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 include $(topsrcdir)/config/rules.mk
--- a/content/media/webspeech/synth/moz.build
+++ b/content/media/webspeech/synth/moz.build
@@ -21,8 +21,19 @@ EXPORTS.mozilla.dom += [
     'SpeechSynthesisChild.h',
     'SpeechSynthesisParent.h',
     'SpeechSynthesisUtterance.h',
     'SpeechSynthesisVoice.h',
     'nsSpeechTask.h',
     'nsSynthVoiceRegistry.h',
 ]
 
+CPP_SOURCES += [
+    'EnableSpeechSynthesisCheck.cpp',
+    'SpeechSynthesis.cpp',
+    'SpeechSynthesisChild.cpp',
+    'SpeechSynthesisParent.cpp',
+    'SpeechSynthesisUtterance.cpp',
+    'SpeechSynthesisVoice.cpp',
+    'nsSpeechTask.cpp',
+    'nsSynthVoiceRegistry.cpp',
+]
+
--- a/content/media/wmf/Makefile.in
+++ b/content/media/wmf/Makefile.in
@@ -8,24 +8,15 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 FAIL_ON_WARNINGS := 1
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconwmf_s
 LIBXUL_LIBRARY 	= 1
 
-CPPSRCS		= \
-		DXVA2Manager.cpp \
-		WMFByteStream.cpp \
-		WMFDecoder.cpp \
-		WMFReader.cpp \
-		WMFUtils.cpp \
-		WMFSourceReaderCallback.cpp \
-		$(NULL)
-
 ifeq ($(OS_ARCH),WINNT)
 OS_CXXFLAGS += -DNOMINMAX
 endif
 
 FORCE_STATIC_LIB = 1
 
 include $(topsrcdir)/config/rules.mk
--- a/content/media/wmf/moz.build
+++ b/content/media/wmf/moz.build
@@ -7,8 +7,17 @@
 MODULE = 'content'
 
 EXPORTS += [
     'WMF.h',
     'WMFDecoder.h',
     'WMFReader.h',
 ]
 
+CPP_SOURCES += [
+    'DXVA2Manager.cpp',
+    'WMFByteStream.cpp',
+    'WMFDecoder.cpp',
+    'WMFReader.cpp',
+    'WMFSourceReaderCallback.cpp',
+    'WMFUtils.cpp',
+]
+
--- a/content/smil/Makefile.in
+++ b/content/smil/Makefile.in
@@ -9,43 +9,16 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkconsmil_s
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
-CPPSRCS	= \
-	nsDOMTimeEvent.cpp \
-	nsSMILAnimationController.cpp \
-	nsSMILAnimationFunction.cpp \
-	nsSMILCompositor.cpp \
-	nsSMILCSSProperty.cpp \
-	nsSMILCSSValueType.cpp \
-	nsSMILFloatType.cpp \
-	nsSMILInstanceTime.cpp \
-	nsSMILInterval.cpp \
-	nsSMILKeySpline.cpp \
-	nsSMILMappedAttribute.cpp \
-	nsSMILNullType.cpp \
-	nsSMILParserUtils.cpp \
-	nsSMILRepeatCount.cpp \
-	nsSMILSetAnimationFunction.cpp \
-	nsSMILTimeContainer.cpp \
-	nsSMILTimedElement.cpp \
-	nsSMILTimeValue.cpp \
-	nsSMILTimeValueSpec.cpp \
-	nsSMILValue.cpp \
-	SMILBoolType.cpp \
-	SMILEnumType.cpp \
-	SMILIntegerType.cpp \
-	SMILStringType.cpp \
-	$(NULL)
-
 include $(topsrcdir)/config/config.mk
 
 # we don't want the shared lib, but we want to force the creation of a static lib.
 FORCE_STATIC_LIB = 1
 
 INCLUDES += 	\
 		-I$(srcdir)/../base/src \
 		-I$(srcdir)/../../layout/style \
--- a/content/smil/moz.build
+++ b/content/smil/moz.build
@@ -29,8 +29,35 @@ EXPORTS += [
     'nsSMILTimeValue.h',
     'nsSMILTimeValueSpec.h',
     'nsSMILTimeValueSpecParams.h',
     'nsSMILTimedElement.h',
     'nsSMILTypes.h',
     'nsSMILValue.h',
 ]
 
+CPP_SOURCES += [
+    'SMILBoolType.cpp',
+    'SMILEnumType.cpp',
+    'SMILIntegerType.cpp',
+    'SMILStringType.cpp',
+    'nsDOMTimeEvent.cpp',
+    'nsSMILAnimationController.cpp',
+    'nsSMILAnimationFunction.cpp',
+    'nsSMILCSSProperty.cpp',
+    'nsSMILCSSValueType.cpp',
+    'nsSMILCompositor.cpp',
+    'nsSMILFloatType.cpp',
+    'nsSMILInstanceTime.cpp',
+    'nsSMILInterval.cpp',
+    'nsSMILKeySpline.cpp',
+    'nsSMILMappedAttribute.cpp',
+    'nsSMILNullType.cpp',
+    'nsSMILParserUtils.cpp',
+    'nsSMILRepeatCount.cpp',
+    'nsSMILSetAnimationFunction.cpp',
+    'nsSMILTimeContainer.cpp',
+    'nsSMILTimeValue.cpp',
+    'nsSMILTimeValueSpec.cpp',
+    'nsSMILTimedElement.cpp',
+    'nsSMILValue.cpp',
+]
+
--- a/content/svg/content/src/Makefile.in
+++ b/content/svg/content/src/Makefile.in
@@ -9,158 +9,16 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkcontentsvg_s
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS	= 1
 
-CPPSRCS		= \
-		DOMSVGAnimatedLengthList.cpp \
-		DOMSVGAnimatedNumberList.cpp \
-		DOMSVGLength.cpp \
-		DOMSVGLengthList.cpp \
-		DOMSVGNumber.cpp \
-		DOMSVGNumberList.cpp \
-		DOMSVGPathSeg.cpp \
-		DOMSVGPathSegList.cpp \
-		DOMSVGPoint.cpp \
-		DOMSVGPointList.cpp \
-		DOMSVGStringList.cpp \
-		DOMSVGTransformList.cpp \
-		nsISVGPoint.cpp \
-		nsSVGAngle.cpp \
-		nsSVGAnimatedTransformList.cpp \
-		nsSVGBoolean.cpp \
-		nsSVGClass.cpp \
-		nsSVGDataParser.cpp \
-		nsSVGElement.cpp \
-		nsSVGEnum.cpp \
-		nsSVGFeatures.cpp \
-		nsSVGFilters.cpp \
-		nsSVGInteger.cpp \
-		nsSVGIntegerPair.cpp \
-		nsSVGLength2.cpp \
-		nsSVGNumber2.cpp \
-		nsSVGNumberPair.cpp \
-		nsSVGPathDataParser.cpp \
-		nsSVGPathGeometryElement.cpp \
-		nsSVGPolyElement.cpp \
-		nsSVGString.cpp \
-		nsSVGTransform.cpp \
-		nsSVGViewBox.cpp \
-		SVGAElement.cpp \
-		SVGAltGlyphElement.cpp \
-		SVGAngle.cpp \
-		SVGAnimatedAngle.cpp \
-		SVGAnimatedBoolean.cpp \
-		SVGAnimatedLength.cpp \
-		SVGAnimatedLengthList.cpp \
-		SVGAnimatedNumberList.cpp \
-		SVGAnimatedPathSegList.cpp \
-		SVGAnimatedPointList.cpp \
-		SVGAnimatedPreserveAspectRatio.cpp \
-		SVGAnimatedRect.cpp \
-		SVGAnimatedTransformList.cpp \
-		SVGAnimateElement.cpp \
-		SVGAnimateTransformElement.cpp \
-		SVGAnimateMotionElement.cpp \
-		SVGAnimationElement.cpp \
-		SVGAttrValueWrapper.cpp \
-		SVGClipPathElement.cpp \
-		SVGCircleElement.cpp \
-		SVGContentUtils.cpp \
-		SVGDefsElement.cpp \
-		SVGDescElement.cpp \
-		SVGElementFactory.cpp \
-		SVGEllipseElement.cpp \
-		SVGFEBlendElement.cpp \
-		SVGFEColorMatrixElement.cpp \
-		SVGFEComponentTransferElement.cpp \
-		SVGFECompositeElement.cpp \
-		SVGFEConvolveMatrixElement.cpp \
-		SVGFEDiffuseLightingElement.cpp \
-		SVGFEDisplacementMapElement.cpp \
-		SVGFEDistantLightElement.cpp \
-		SVGFEFloodElement.cpp \
-		SVGFEGaussianBlurElement.cpp \
-		SVGFEImageElement.cpp \
-		SVGFEMergeElement.cpp \
-		SVGFEMergeNodeElement.cpp \
-		SVGFEMorphologyElement.cpp \
-		SVGFEOffsetElement.cpp \
-		SVGFEPointLightElement.cpp \
-		SVGFESpecularLightingElement.cpp \
-		SVGFESpotLightElement.cpp \
-		SVGFETileElement.cpp \
-		SVGFETurbulenceElement.cpp \
-		SVGFilterElement.cpp \
-		SVGForeignObjectElement.cpp \
-		SVGFragmentIdentifier.cpp \
-		SVGGElement.cpp \
-		SVGGradientElement.cpp \
-		SVGGraphicsElement.cpp \
-		SVGImageElement.cpp \
-		SVGIntegerPairSMILType.cpp \
-		SVGLength.cpp \
-		SVGLengthList.cpp \
-		SVGLengthListSMILType.cpp \
-		SVGLineElement.cpp \
-		SVGMarkerElement.cpp \
-		SVGMaskElement.cpp \
-		SVGMatrix.cpp \
-		SVGMetadataElement.cpp \
-		SVGMotionSMILType.cpp \
-		SVGMotionSMILAttr.cpp \
-		SVGMotionSMILAnimationFunction.cpp \
-		SVGMotionSMILPathUtils.cpp \
-		SVGMPathElement.cpp \
-		SVGNumberList.cpp \
-		SVGNumberListSMILType.cpp \
-		SVGNumberPairSMILType.cpp \
-		SVGOrientSMILType.cpp \
-		SVGPathData.cpp \
-		SVGPathElement.cpp \
-		SVGPathSegUtils.cpp \
-		SVGPathSegListSMILType.cpp \
-		SVGPatternElement.cpp \
-		SVGPointList.cpp \
-		SVGPointListSMILType.cpp \
-		SVGPolygonElement.cpp \
-		SVGPolylineElement.cpp \
-		SVGPreserveAspectRatio.cpp \
-		SVGRect.cpp \
-		SVGRectElement.cpp \
-		SVGScriptElement.cpp \
-		SVGSetElement.cpp \
-		SVGStopElement.cpp \
-		SVGStringList.cpp \
-		SVGStyleElement.cpp \
-		SVGSymbolElement.cpp \
-		SVGSVGElement.cpp \
-		SVGSwitchElement.cpp \
-		SVGTests.cpp \
-		SVGTextContentElement.cpp \
-		SVGTextElement.cpp \
-		SVGTextPathElement.cpp \
-		SVGTextPositioningElement.cpp \
-		SVGTitleElement.cpp \
-		SVGTransform.cpp \
-		SVGTransformableElement.cpp \
-		SVGTransformList.cpp \
-		SVGTransformListParser.cpp \
-		SVGTransformListSMILType.cpp \
-		SVGTSpanElement.cpp \
-		SVGUseElement.cpp \
-		SVGViewBoxSMILType.cpp \
-		SVGViewElement.cpp \
-		SVGZoomEvent.cpp \
-		$(NULL)
-
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 
 # 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/content/svg/content/src/moz.build
<