Platform/Porting to unified sources

From MozillaWiki
< Platform
Revision as of 03:12, 18 November 2013 by Bjacob (talk | contribs)
Jump to navigation Jump to search

This page is here to help coordinate the effort around porting Gecko's build system to UNIFIED_SOURCES, a mechanism that enables faster builds by concatenating sources files to have fewer, larger translation units.

Ongoing porting projects

When we start porting a directory, we file a bug about it, and block the tracking bug with the unified alias (bug 939583).

Here is a bugzilla search that lists all such bugs i.e. all the directories that are currently being ported by someone.

Full Query
ID Summary Assignee
806819 Define FORCE_PR_LOG globally so release builds have all NSPR logging available No assignee
928231 Build the uconv library in unified mode No assignee
936912 Build xpcom in unified mode No assignee
937886 Build content/canvas/src in unified mode No assignee
937908 Build content SVG code in unified mode No assignee
938114 Build layout/base in unified mode No assignee
938123 Build layout/style in unified mode No assignee
938134 Build widget/xpwidgets in unified mode No assignee
938844 Add support for building .mm files in unified mode No assignee
938848 Build layout/forms in unified mode No assignee
938849 Build layout/generic in unified mode No assignee
938850 Build layout/mathml in unified mode No assignee
938852 Build layout/inspector in unified mode No assignee
938853 Build layout/ipc in unified mode No assignee
938859 Build layout/printing in unified mode No assignee
938864 Build layout/svg in unified mode No assignee
938865 Build layout/tables in unified mode No assignee
938867 Build layout/tools in unified mode No assignee
938869 Build layout/xul in unified mode No assignee
938970 Build gfx/layers in unified mode No assignee
939121 Build netwerk/ipc, protocol, socket, srtp, and wifi in unified mode No assignee
939296 Build content/html in unified mode No assignee
939303 Build content/base in unified mode No assignee
939451 Build most of the accessible code in unified mode No assignee
939538 Build parts of the ipc code in unified mode No assignee
939569 Build layout/build in unified mode No assignee
939571 Build Web Audio in unified mode No assignee
939572 Build widget/cocoa in unified mode No assignee
939576 Build netwerk/protocol/http in unified mode No assignee
939578 Build netwerk/streamconv in unified mode No assignee
939580 Create unified files based on the absolute path of the original source files No assignee
939582 Build content/media in unified mode No assignee
939584 Build some of the directories under content/media in unified mode No assignee
939585 Build gfx/thebes in unified mode No assignee
939588 Build angle in unified mode No assignee
939596 Build content/event in unified mode No assignee
939608 Build xpconnect in unified mode No assignee
939609 Build content/xslt in unified mode No assignee
939611 Build storage/src in unified mode No assignee
939629 Build skia in unified mode No assignee
939659 Build parts of the spellchecker in unified mode No assignee
939758 Build gfx/gl in unified mode No assignee
939795 Build image/decoder in unified mode No assignee
939950 Build gfx/moz2d in unified mode No assignee
940117 Build startupcache in unified mode No assignee
940129 Build part of widget/gonk in unified mode No assignee
940153 Build dom/encoding in unified mode No assignee
940178 Build cairo in unified mode No assignee
940185 Build dom/audiochannel in unified mode No assignee
940189 Build dom/time in unified mode No assignee
940191 Build dom/base in unified mode No assignee
940194 Build netwerk/cookie in unified mode No assignee
940205 UNIFIED_SOURCES silently grabs wrong file in case of multiple files with same leaf name in different dirs No assignee
940207 Build dom/quota in unified mode No assignee
940215 Build netwerk/cache2, ftp, and rtsp in unified mode No assignee
940218 Build memory/jemalloc and friends in unified mode No assignee
940225 Build docshell in unified mode No assignee
940226 Build image/src in unified mode No assignee
940235 Build uriloader in unified mode No assignee
940407 Kill GTEST_SOURCES No assignee
940416 Build gfx/harfbuzz in unified mode No assignee
940591 Build parts of js/src in unified mode No assignee
940708 Build webrtc in unified mode No assignee
940719 Build content/xbl in unified mode No assignee
940720 Build content/xul/templates in unified mode No assignee
940721 Build content/smil in unified mode No assignee
940723 Build docshell/base in unified mode No assignee
940780 Build dom/gamepad in unified mode No assignee
940793 Build image/decoders/icon in unified mode No assignee
940799 Build gfx/ycbcr in unified mode No assignee
940821 Build part of toolkit/crashreporter in unified mode No assignee
940832 Build content/mathml/content/src in unified mode No assignee
940934 build gfx/graphite2 in unified mode No assignee
941068 Build netwerk/base in unified mode No assignee
941090 build (some of) gfx/ots in unified mode No assignee
941097 Provide a build time option to disable UNIFIED_SOURCES across the tree No assignee
941332 Build caps/src in unified mode No assignee
941406 Build netwerk/dns in unified mode No assignee
941417 Build ipc/glue in unified mode No assignee
941424 Build more of the JS engine in unified mode No assignee
941539 Add a .lldbinit file to the tree and make the build system install it to $(DIST)/bin No assignee
941590 Build jsapi-tests in unified mode No assignee
941599 Using UNIFIED_SOURCES in js/src creates the wrong file names No assignee
941693 Build tools/profiler in unified mode No assignee
941728 Build embedding in unified mode No assignee
941732 Build chrome in unified mode No assignee
941782 Build dom/plugin/base & dom/plugin/ipc in unified mode No assignee
941824 Add a way to protect ourselves from known bad patterns in unified builds No assignee
941854 Protect against two known bad patterns for unified builds No assignee
941866 Deunify the files that are caught by bug 941854 No assignee
942033 Build security/manager in unified mode No assignee
942122 Build the JS gdb tests in unified mode No assignee
942124 Build the js shell in unified mode No assignee
942127 Build the JS editline library in unified mode No assignee
942137 layout/style/nsStyleUtil.h:62:12: error: member access into incomplete type 'nsAString_internal' when disabling unified sources No assignee
942167 Please add non-unified builds to mozilla-central No assignee
942193 Build bustage in non-unified mode in layout/style No assignee
942248 Build bustage in nsNumberControlFrame.cpp in non-unified mode (‘nsIDOMMutationEvent’ has not been declared) No assignee
942334 Build hal in unified mode No assignee
942486 Move PL_ARENA_CONST_ALIGN_MASK out of nsZipArchive.h No assignee
942489 Deunify more files that are caught by bug 941854 No assignee
942537 Build dom/file in unified mode No assignee
942633 Build more dom/ code in unified mode No assignee
942635 Build dom/ipc in unified mode No assignee
943023 unify a bunch of rdf/ and toolkit/components/ No assignee
943156 Convert plarena.h macros to template functions No assignee
943208 Stop force-enabling logging for ftp on Windows, so it can be built unified No assignee
943347 Build js/jsd in unified mode No assignee
943355 Build some of the code in dom/bindings in unified mode No assignee
943686 Enable all of imagelib to be built in unified mode No assignee
943695 Investigate why we're seeing Unified_foo_bar.cpp files in some Tinderbox crash stacks No assignee
943712 Build parts of dom/mobilemessage in unified mode No assignee
943719 Build MFBT in unified mode No assignee
943982 Build content/xul in unified mode No assignee
943983 Build gfx/tests/gtest in unified mode No assignee
943984 Build toolkit/profile in unified mode No assignee
943988 Build toolkit/xre in unified mode No assignee
943990 Build toolkit/components/startup in unified mode No assignee
943993 Build toolkit/components/places in unified mode No assignee
943994 Build toolkit/components/mediasniffer in unified mode No assignee
943995 Build toolkit/components/downloads in unified mode No assignee
943999 Build toolkit/components/ctypes/test in unified mode No assignee
944000 Build toolkit/components/autocomplete in unified mode No assignee
944002 Build toolkit/components/alert in unified mode No assignee
944003 Build toolkit/components/protobuf in unified mode No assignee
944004 Build profile/ in unified mode No assignee
944209 Build gfx/src in unified mode No assignee
944212 Build xpfe/appshell in unified mode No assignee
944378 Build content/media/webspeech/synth/pico in unified mode No assignee
944379 Build js/ipc in unified mode No assignee
944380 Build content/xml in unified mode No assignee
944830 gfx/gl/GLBlitTextureImageHelper.cpp:115:13: error: unknown type name 'RectTriangles' in non-unified builds No assignee
944834 dom/mobilemessage/src/ipc/SmsIPCService.cpp:285:5: error: use of undeclared identifier 'dom' in non-unified builds No assignee
944835 layout/base/nsDisplayListInvalidation.h:124:31: error: unknown type name 'nscolor' when building in non-unified mode No assignee
944844 ../../dist/include/GeckoProfilerImpl.h:309:7: error: call to 'vsnprintf' is ambiguous when building with 8 unified sources instead of 16 No assignee
944961 Build rdf in unified mode No assignee
944962 Building other-licenses/android, skia-npapi, and snappy in unified mode No assignee
944977 Build libvorbis in unified mode No assignee
945097 Build widget/gtk in unified mode No assignee
945118 Build more of XPCOM in unified mode No assignee
945496 Disable unified builds on mozilla-aurora+ No assignee
945587 nsXULTemplateResultStorage.cpp:12:22: error: redefinition of 'kRDFServiceCID' when building with 12 unified sources instead of 16 No assignee
945588 SkConfig8888.h:44:20: error: redefinition of 'SkCopyBitmapToConfig8888' when building with 12 unified sources instead of 16 No assignee
945589 ScriptedNotificationObserver.h:16:7: error: redefinition of 'ScriptedNotificationObserver' when building with 12 unified sources instead of 16 No assignee
945590 nsCellMap.h:217:26: error: reference to 'Corner' is ambiguous when building with 12 unified sources instead of 16 No assignee
945592 nsISupportsPrimitives.h:33:5: error: expected '}' when building with 12 unified sources instead of 16 No assignee
946209 Build intl/strres in unified mode No assignee
946210 Build dom/telephony in unified mode No assignee
946212 Put all of dom/encoding into unified mode No assignee
946214 Build dom/devicestorage in unified mode No assignee
946216 Build content/media/plugins in unified mode No assignee
946217 Build intl/lwbrk in unified mode No assignee
946218 Build intl/chardet in unified mode No assignee
946219 Build intl/hyphenation in unified mode No assignee
946221 Build intl/locale in unified mode No assignee
946576 Disable unified builds on all debug builds No assignee
947734 Build netwerk/protocol/about in unified mode No assignee
947735 Build modules/libmar/ in unified mode No assignee
947736 Build modules/libpref/ in unified mode No assignee
947737 Build dom/indexedDB in unified mode No assignee
947979 Build parts of media/libvpx in unified mode No assignee
948777 Build netwerk/sctp/src in unified mode No assignee
950503 Build accessible/src/windows in unified mode No assignee
950505 Build content/media/wmf in unified mode No assignee
950506 Build content/media/directshow in unified mode No assignee
950507 Build content/media/fmp4 in unified mode No assignee
950508 Build widget/windows in unified mode No assignee
950676 Bring back b2g unified builds No assignee
974900 The Skia build is no longer unified as of bug 910754 No assignee
996738 LayerSorter.cpp doesn't play nicely with unified builds No assignee
996742 CompositableHost.cpp forward-declares Matrix4x4 in wrong namespace No assignee
996768 ContainerLayer{D3D10,Composite}.cpp don't play nicely with unified builds No assignee
997380 GLContext.h has an ambiguous strdup in unified builds No assignee
997383 ImageBridgeParent.cpp plays fast and loose with using statements, making Xlib sad No assignee
1028420 Non-unified build fails when using --enable-warnings-as-errors No assignee
1029678 unified build fails in extensions/spellcheck/src & extensions/spellcheck/hunspell/src No assignee
1061942 Switch back security/certverifier and security/manager to use unified builds No assignee
1072289 Build clearkey in unified mode No assignee
1072294 Build all of the files in content/media/mp4 in unified mode No assignee
1072299 Build dom/animation in unified mode No assignee
1072301 Build the cross platform camera code in unified mode No assignee
1072310 Build more DOM code in unified mode No assignee
1072700 Build the b2g specific camera code in unified mode No assignee
1072701 Build some Firefox OS specific DOM code in unified mode No assignee
1084369 Build dom/cellbroadcast in unified mode No assignee
1111225 Build more files in netwerk/cache2 in unified mode; r=glandium No assignee
1140763 Build dom/media/gtest in unified mode No assignee
1140765 Build some network code in unified mode No assignee
1140766 Build more files in image/decoders in unified mode No assignee
1140767 Build more files in security/manager in unified mode No assignee
1140771 Build more XPCOM code in unified mode No assignee
1146204 Build libopus in unified mode No assignee
1146888 Build more files in ipc/chromium in unified mode No assignee
1147242 Build xpcom/glue/standalone in unified mode No assignee
1147243 Build memory/jemalloc in unified mode No assignee
1175217 nsDisplayListInvalidation.cpp doesn't compile in non-unified mode (or if it's the first file in a unified group) No assignee
1178833 RestyleTracker.cpp doesn't compile in non-unified mode No assignee
1178842 nsDisplayList.cpp doesn't compile in non-unified mode No assignee
1187088 Use UNIFIED_SOURCES in widget/android No assignee
1192587 Build media/libav in unified mode No assignee
1194948 Build gfx/ipc in unified mode and mark as FAIL_ON_WARNINGS No assignee
1195186 Build pocketsphinx and sphinxbase in unified mode No assignee
1348991 Use unified sources in startup cache No assignee
1348998 Build XML with unified sources No assignee
1349002 Build DMD with unified sources No assignee
1350423 Remove unused PL_ARENA macro is nsStaticNameTable No assignee
1351820 Build more more netwerk files in unified mode No assignee
1351831 Build more xpconnect code in unified sources No assignee
1351910 Build more files as unified in ipc/glue No assignee
1362644 Build more SpiderMonkey files in unified mode No assignee

210 Total; 210 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Directories already ported are listed below (see \o/ UNIFIED_SOURCES \o/ in the list below).

Script to track porting status

Here is a script; run it from the root of your source directory to generate a report on the porting status and number of cpp files under each source directory.

#!/bin/bash

MOZBUILDFILES="`find . -name moz.build | grep -v \\./obj`"

logfile="unified-conversion-status.log"

filescount=`echo "$MOZBUILDFILES" | wc -l`
fileindex=0

(while read -r mozbuildfile
do
  fileindex=$((fileindex + 1))
  mozbuilddir="`dirname "$mozbuildfile"`"
  numcpp=`find $mozbuilddir -name "*.cpp" -o -name "*.C" -o -name "*.cc" -o -name "*.mm" -maxdepth 1 | wc -l`
  if [ $numcpp -eq 0 ]
  then
    continue
  fi
  if ! ( grep -wq SOURCES "$mozbuildfile" || grep -wq UNIFIED_SOURCES "$mozbuildfile" )
  then
    continue
  fi
  echo -ne "\r$((100 * fileindex / filescount))%    $mozbuilddir\033[0K" \
    1>&2
  outputline="$numcpp $mozbuilddir"
  unified_msg=
  if grep -q UNIFIED_SOURCES "$mozbuildfile"
  then
    outputline="$outputline \o/ UNIFIED_SOURCES \o/"
  fi
  echo "$outputline"
done <<< "$MOZBUILDFILES") | sort -rn > "$logfile"

echo -e "\rResults written to $logfile\033[0K"

Current porting status

This is just the output of the above script; use it to find a new directory to work on.

The first column is the number of cpp files below each directory, so the higher number hint loosely at greater potential benefits.

Directories that are already ported have \o/ UNIFIED_SOURCES \o/ written next to them.

    143 ./content/svg/content/src \o/ UNIFIED_SOURCES \o/
     91 ./content/base/src
     76 ./content/html/content/src
     74 ./gfx/thebes
     70 ./xpcom/reflect/xptcall/src/md/unix
     65 ./xpcom/tests
     64 ./netwerk/base/src
     64 ./js/src/jsapi-tests
     55 ./security/manager/ssl/src
     53 ./content/canvas/src
     49 ./toolkit/crashreporter/google-breakpad/src/processor
     47 ./widget/windows
     46 ./layout/generic \o/ UNIFIED_SOURCES \o/
     44 ./layout/style \o/ UNIFIED_SOURCES \o/
     44 ./gfx/harfbuzz/src
     41 ./layout/xul/base/src \o/ UNIFIED_SOURCES \o/
     40 ./netwerk/test
     40 ./content/events/src
     39 ./widget/cocoa
     39 ./js/src
     39 ./gfx/2d
     38 ./content/xslt/src/xpath
     38 ./content/media
     37 ./dom/base
     36 ./layout/base \o/ UNIFIED_SOURCES \o/
     36 ./gfx/graphite2/src
     35 ./xpcom/glue
     35 ./layout/svg \o/ UNIFIED_SOURCES \o/
     35 ./ipc/ipdl/test/cxx
     33 ./parser/html \o/ UNIFIED_SOURCES \o/
     33 ./netwerk/protocol/http
     32 ./js/xpconnect/src
     31 ./gfx/ots/src
     31 ./content/media/webaudio
     30 ./content/xslt/src/xslt
     28 ./widget/xpwidgets \o/ UNIFIED_SOURCES \o/
     27 ./widget/gtk
     26 ./xpcom/io
     26 ./tools/profiler
     26 ./toolkit/xre
     26 ./toolkit/crashreporter/google-breakpad/src/common
     26 ./gfx/gl
     26 ./content/xul/templates/src
     25 ./ipc/glue
     25 ./extensions/universalchardet/src/base
     25 ./dom/plugins/ipc
     24 ./xpcom/base
     24 ./widget/qt
     24 ./image/src
     24 ./content/smil
     24 ./accessible/src/base
     23 ./storage/src
     22 ./xpcom/ds
     22 ./toolkit/crashreporter/google-breakpad/src/common/linux
     22 ./layout/mathml \o/ UNIFIED_SOURCES \o/
     22 ./editor/libeditor/base \o/ UNIFIED_SOURCES \o/
     22 ./dom/indexedDB
     21 ./dom/plugins/base
     19 ./accessible/src/windows/msaa
     19 ./accessible/src/atk
     18 ./xpcom/string/src
     18 ./widget/os2
     18 ./widget/android
     18 ./layout/forms \o/ UNIFIED_SOURCES \o/
     18 ./gfx/layers
     18 ./gfx/angle/src/libGLESv2
     18 ./dom/bluetooth
     18 ./content/media/webaudio/blink
     17 ./netwerk/cache
     17 ./editor/libeditor/html \o/ UNIFIED_SOURCES \o/
     17 ./dom/system/gonk
     17 ./dom/file
     17 ./content/xbl/src
     16 ./toolkit/components/places
     16 ./netwerk/cache2
     16 ./intl/uconv/src \o/ UNIFIED_SOURCES \o/
     16 ./dom/workers
     16 ./dom/camera
     15 ./js/jsd
     15 ./dom/ipc
     14 ./rdf/base/src
     13 ./widget/windows/winrt
     13 ./parser/htmlparser/src \o/ UNIFIED_SOURCES \o/
     13 ./gfx/src
     13 ./extensions/spellcheck/hunspell/src
     12 ./widget/gonk
     12 ./toolkit/mozapps/update/updater
     12 ./toolkit/crashreporter/google-breakpad/src/common/mac
     12 ./layout/tables \o/ UNIFIED_SOURCES \o/
     12 ./docshell/base
     12 ./accessible/src/xul
     12 ./accessible/src/windows/ia2
     12 ./accessible/src/generic
     11 ./xpcom/threads
     11 ./xpcom/build
     11 ./toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer
     11 ./toolkit/components/url-classifier
     11 ./netwerk/streamconv/converters
     11 ./gfx/ycbcr
     11 ./dom/plugins/base/android
     11 ./dom/mobilemessage/src
     11 ./content/media/webspeech/recognition
     10 ./accessible/src/mac
      9 ./media/libsoundtouch/src \o/ UNIFIED_SOURCES \o/
      9 ./layout/xul/tree \o/ UNIFIED_SOURCES \o/
      9 ./layout/xul/grid \o/ UNIFIED_SOURCES \o/
      9 ./layout/inspector/src \o/ UNIFIED_SOURCES \o/
      9 ./dom/network/src
      8 ./xpfe/appshell/src
      8 ./uriloader/exthandler
      8 ./python/mozbuild/mozbuild/test/frontend/data/variable-passthru
      8 ./python/mozbuild/mozbuild/test/backend/data/variable_passthru
      8 ./netwerk/wifi \o/ UNIFIED_SOURCES \o/
      8 ./extensions/spellcheck/src
      8 ./editor/composer/src \o/ UNIFIED_SOURCES \o/
      8 ./caps/src
      8 ./accessible/src/html
      7 ./mozglue/build
      7 ./modules/libjar \o/ UNIFIED_SOURCES \o/
      7 ./intl/lwbrk/src
      7 ./intl/locale/src
      7 ./image/decoders
      7 ./content/media/directshow
      7 ./content/html/document/src
      6 ./xpcom/reflect/xptcall/src/md/win32
      6 ./widget/gonk/nativewindow
      6 ./uriloader/prefetch
      6 ./tools/jprof
      6 ./toolkit/system/gnome
      6 ./toolkit/crashreporter/client
      6 ./toolkit/components/startup
      6 ./toolkit/components/maintenanceservice
      6 ./security/manager/pki/src
      6 ./security/manager/boot/src
      6 ./netwerk/protocol/ftp
      6 ./netwerk/ipc \o/ UNIFIED_SOURCES \o/
      6 ./mozglue/linker
      6 ./modules/libjar/zipwriter/src \o/ UNIFIED_SOURCES \o/
      6 ./js/xpconnect/wrappers
      6 ./extensions/cookie
      6 ./extensions/auth
      6 ./embedding/browser/webBrowser
      6 ./editor/libeditor/text \o/ UNIFIED_SOURCES \o/
      6 ./dom/telephony
      6 ./dom/src/storage
      6 ./content/xul/document/src
      6 ./content/media/wmf
      6 ./content/media/webspeech/synth
      6 ./content/media/webrtc
      6 ./content/media/omx
      5 ./widget/gonk/libdisplay
      5 ./toolkit/crashreporter/google-breakpad/src/client/solaris/handler
      5 ./toolkit/crashreporter/google-breakpad/src/client/mac/handler
      5 ./toolkit/crashreporter/google-breakpad/src/client/mac/crash_generation
      5 ./toolkit/components/downloads
      5 ./other-licenses/skia-npapi
      5 ./netwerk/protocol/wyciwyg \o/ UNIFIED_SOURCES \o/
      5 ./netwerk/protocol/about
      5 ./netwerk/dns
      5 ./modules/libpref/src
      5 ./memory/mozalloc
      5 ./layout/printing \o/ UNIFIED_SOURCES \o/
      5 ./intl/unicharutil/util \o/ UNIFIED_SOURCES \o/
      5 ./intl/unicharutil/src \o/ UNIFIED_SOURCES \o/
      5 ./intl/locale/src/unix
      5 ./gfx/angle/src/libEGL
      5 ./embedding/components/commandhandler/src
      5 ./editor/txmgr/src \o/ UNIFIED_SOURCES \o/
      5 ./content/xslt/src/base
      5 ./content/media/omx/mediaresourcemanager
      5 ./content/media/mediasource
      5 ./content/media/gstreamer
      4 ./xpcom/reflect/xptinfo/src
      4 ./xpcom/components
      4 ./toolkit/crashreporter
      4 ./netwerk/socket \o/ UNIFIED_SOURCES \o/
      4 ./netwerk/protocol/websocket \o/ UNIFIED_SOURCES \o/
      4 ./netwerk/protocol/device \o/ UNIFIED_SOURCES \o/
      4 ./netwerk/cookie
      4 ./mozglue/android
      4 ./layout/tools/layout-debug/src \o/ UNIFIED_SOURCES \o/
      4 ./intl/locale/src/windows
      4 ./intl/locale/src/os2
      4 ./gfx/cairo/cairo/src
      4 ./extensions/pref/autoconfig/src
      4 ./embedding/components/printingui/src/win
      4 ./dom/time
      4 ./dom/quota
      4 ./dom/fmradio/ipc
      4 ./dom/encoding
      4 ./docshell/shistory/src
      4 ./content/xml/document/src
      4 ./content/xml/content/src
      4 ./content/media/plugins
      4 ./content/media/ogg
      4 ./chrome/src
      4 ./accessible/src/xpcom
      3 ./widget/shared
      3 ./tools/trace-malloc/lib
      3 ./tools/trace-malloc
      3 ./toolkit/system/dbus
      3 ./toolkit/crashreporter/google-breakpad/src/common/solaris
      3 ./toolkit/crashreporter/google-breakpad/src/client/linux/handler
      3 ./toolkit/components/remote
      3 ./toolkit/components/ctypes/tests
      3 ./startupcache
      3 ./rdf/tests/dsds
      3 ./parser/xml/src
      3 ./netwerk/protocol/data \o/ UNIFIED_SOURCES \o/
      3 ./mobile/android/components/build
      3 ./layout/build
      3 ./js/xpconnect/tests/components/native
      3 ./js/xpconnect/loader
      3 ./js/src/shell
      3 ./js/ipc
      3 ./ipc/testshell
      3 ./ipc/dbus
      3 ./intl/locale/src/mac
      3 ./intl/hyphenation/src
      3 ./image/decoders/icon
      3 ./hal
      3 ./gfx/ipc
      3 ./embedding/tests/winEmbed
      3 ./embedding/components/windowwatcher/src
      3 ./embedding/components/printingui/src/unixshared
      3 ./embedding/components/printingui/src/os2
      3 ./embedding/components/printingui/src/mac
      3 ./editor/txtsvc/src \o/ UNIFIED_SOURCES \o/
      3 ./dom/wifi
      3 ./dom/power
      3 ./dom/media
      3 ./dom/gamepad
      3 ./dom/devicestorage
      3 ./dom/audiochannel
      3 ./content/xul/content/src
      3 ./content/media/webm
      3 ./content/media/encoder
      3 ./browser/components/shell/src
      3 ./accessible/src/windows/sdn
      2 ./xpcom/sample
      2 ./xpcom/reflect/xptcall/src/md/test
      2 ./widget/qt/faststartupqt
      2 ./view/src
      2 ./uriloader/base
      2 ./toolkit/xre/test/win
      2 ./toolkit/system/unixproxy
      2 ./toolkit/mozapps/update/tests
      2 ./toolkit/mozapps/plugins/tests
      2 ./toolkit/library
      2 ./toolkit/crashreporter/test
      2 ./toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation
      2 ./toolkit/crashreporter/google-breakpad/src/client
      2 ./toolkit/components/mediasniffer
      2 ./toolkit/components/autocomplete
      2 ./toolkit/components/alerts
      2 ./testing/tools/screenshot
      2 ./security/manager/ssl/tests/unit/tlsserver/lib
      2 ./rdf/datasource/src
      2 ./profile/dirserviceprovider/src
      2 ./netwerk/system/qt
      2 ./netwerk/streamconv/test
      2 ./netwerk/protocol/viewsource \o/ UNIFIED_SOURCES \o/
      2 ./netwerk/protocol/rtsp
      2 ./netwerk/protocol/file \o/ UNIFIED_SOURCES \o/
      2 ./mozglue/tests
      2 ./layout/ipc \o/ UNIFIED_SOURCES \o/
      2 ./js/xpconnect/shell
      2 ./ipc/app
      2 ./intl/unicharutil/tests
      2 ./intl/strres/src
      2 ./intl/chardet/src
      2 ./extensions/universalchardet/src/xpcom
      2 ./extensions/permissions
      2 ./embedding/components/find/src
      2 ./dom/system/unix
      2 ./dom/system/android
      2 ./dom/system
      2 ./dom/src/notification
      2 ./dom/src/geolocation
      2 ./dom/promise
      2 ./dom/plugins/ipc/interpose
      2 ./dom/plugins/ipc/hangui
      2 ./dom/indexedDB/ipc
      2 ./dom/fmradio
      2 ./content/xslt/src/xml
      2 ./content/media/webspeech/synth/pico
      2 ./content/media/wave
      2 ./content/media/raw
      2 ./content/media/apple
      2 ./content/mathml/content/src
      2 ./build/unix/elfhack
      2 ./browser/metro/shell/commandexecutehandler
      2 ./accessible/src/other
      1 ./xulrunner/tools/redit
      1 ./xulrunner/stub
      1 ./xulrunner/examples/simple/components/src
      1 ./xulrunner/app
      1 ./xpfe/components/windowds
      1 ./xpfe/components/directory
      1 ./xpfe/components/build
      1 ./xpcom/windbgdlg
      1 ./xpcom/tests/external
      1 ./xpcom/tests/component_no_aslr
      1 ./xpcom/tests/component
      1 ./xpcom/tests/bug656331_component
      1 ./xpcom/sample/program
      1 ./xpcom/reflect/xptinfo/tests
      1 ./xpcom/reflect/xptcall/tests
      1 ./xpcom/reflect/xptcall/src/md/os2
      1 ./xpcom/reflect/xptcall/src
      1 ./xpcom/glue/tests/gtest
      1 ./xpcom/glue/standalone
      1 ./webapprt/win
      1 ./webapprt/mac
      1 ./webapprt/gtk2
      1 ./uriloader/exthandler/tests
      1 ./tools/jprof/stub
      1 ./toolkit/system/windowsproxy
      1 ./toolkit/system/osxproxy
      1 ./toolkit/system/androidproxy
      1 ./toolkit/profile
      1 ./toolkit/library/winvccorlib
      1 ./toolkit/identity
      1 ./toolkit/devtools/server
      1 ./toolkit/crashreporter/injector
      1 ./toolkit/components/typeaheadfind
      1 ./toolkit/components/telemetry
      1 ./toolkit/components/statusfilter
      1 ./toolkit/components/satchel
      1 ./toolkit/components/reflect
      1 ./toolkit/components/perf
      1 ./toolkit/components/parentalcontrols
      1 ./toolkit/components/jsdownloads/src
      1 ./toolkit/components/intl
      1 ./toolkit/components/find
      1 ./toolkit/components/finalizationwitness
      1 ./toolkit/components/filepicker
      1 ./toolkit/components/diskspacewatcher
      1 ./toolkit/components/ctypes
      1 ./toolkit/components/commandlines
      1 ./toolkit/components/build
      1 ./testing/mochitest/ssltunnel
      1 ./storage/build
      1 ./services/crypto/component
      1 ./security/sandbox/win/src/sandboxbroker
      1 ./security/sandbox/linux
      1 ./security/manager/ssl/tests/unit/tlsserver/cmd
      1 ./rdf/util/src
      1 ./rdf/tests/triplescat
      1 ./rdf/tests/rdfpoll
      1 ./rdf/tests/rdfcat
      1 ./rdf/build
      1 ./netwerk/system/win32
      1 ./netwerk/system/mac
      1 ./netwerk/system/android
      1 ./netwerk/streamconv/src
      1 ./netwerk/sctp/src
      1 ./netwerk/sctp/datachannel
      1 ./netwerk/protocol/res
      1 ./netwerk/protocol/app
      1 ./netwerk/mime
      1 ./netwerk/build
      1 ./memory/replace/dmd
      1 ./media/omx-plugin/lib/ics/libutils
      1 ./media/omx-plugin/lib/ics/libstagefright
      1 ./media/omx-plugin/lib/hc/libstagefright
      1 ./media/omx-plugin/lib/gb235/libstagefright
      1 ./media/omx-plugin/lib/gb/libutils
      1 ./media/omx-plugin/lib/gb/libstagefright_color_conversion
      1 ./media/omx-plugin/lib/gb/libstagefright
      1 ./media/omx-plugin/lib/froyo/libstagefright
      1 ./media/omx-plugin/hc
      1 ./media/omx-plugin/gb235
      1 ./media/omx-plugin/gb
      1 ./media/omx-plugin/froyo
      1 ./media/omx-plugin
      1 ./media/libspeex_resampler/src
      1 ./media/libcubeb/src
      1 ./js/src/gdb
      1 ./js/ductwork/debugger
      1 ./ipc/unixsocket
      1 ./ipc/ril
      1 ./ipc/nfc
      1 ./ipc/netd
      1 ./ipc/keystore
      1 ./ipc/ipdl/test/cxx/app
      1 ./intl/build
      1 ./image/encoders/png
      1 ./image/encoders/jpeg
      1 ./image/encoders/ico
      1 ./image/encoders/bmp
      1 ./image/decoders/icon/win
      1 ./image/decoders/icon/qt
      1 ./image/decoders/icon/os2
      1 ./image/decoders/icon/mac
      1 ./image/decoders/icon/gtk
      1 ./image/decoders/icon/android
      1 ./image/build
      1 ./extensions/widgetutils/src
      1 ./extensions/gnomevfs
      1 ./extensions/gio
      1 ./embedding/components/webbrowserpersist/src
      1 ./embedding/components/build
      1 ./embedding/components/appstartup/src
      1 ./embedding/browser/build
      1 ./dom/voicemail
      1 ./dom/system/windows
      1 ./dom/system/mac
      1 ./dom/src/offline
      1 ./dom/src/jsurl
      1 ./dom/src/json
      1 ./dom/src/events
      1 ./dom/nfc
      1 ./dom/media/bridge
      1 ./dom/icc/src
      1 ./dom/cellbroadcast/src
      1 ./dom/browser-element
      1 ./dom/battery
      1 ./dom/apps/src
      1 ./dom/alarm
      1 ./dom/activities/src
      1 ./docshell/build
      1 ./content/svg/document/src
      1 ./build/win32/vmwarerecordinghelper
      1 ./build/win32/crashinjectdll
      1 ./build/win32
      1 ./build/unix/stdc++compat
      1 ./browser/metro/shell/testing
      1 ./browser/metro/shell/linktool
      1 ./browser/components/migration/src
      1 ./browser/components/feeds/src
      1 ./browser/components/dirprovider
      1 ./browser/components/build
      1 ./browser/components/about
      1 ./browser/app
      1 ./b2g/gaia
      1 ./b2g/app
      1 ./accessible/src/windows/uia