Platform/Porting to unified sources: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 59: Line 59:


   599 ./gfx/skia \o/ UNIFIED_SOURCES \o/
   599 ./gfx/skia \o/ UNIFIED_SOURCES \o/
   293 ./js/src \o/ UNIFIED_SOURCES \o/
   294 ./js/src \o/ UNIFIED_SOURCES \o/
   244 ./toolkit/crashreporter
   244 ./toolkit/crashreporter
   192 ./content/media \o/ UNIFIED_SOURCES \o/
   192 ./content/media \o/ UNIFIED_SOURCES \o/
Line 75: Line 75:
   70 ./xpcom/reflect/xptcall/src/md/unix
   70 ./xpcom/reflect/xptcall/src/md/unix
   65 ./toolkit/crashreporter/google-breakpad/src/client
   65 ./toolkit/crashreporter/google-breakpad/src/client
  65 ./js/src/jsapi-tests \o/ UNIFIED_SOURCES \o/
   64 ./netwerk/base/src \o/ UNIFIED_SOURCES \o/
   64 ./netwerk/base/src \o/ UNIFIED_SOURCES \o/
  64 ./js/src/jsapi-tests \o/ UNIFIED_SOURCES \o/
   61 ./widget/windows
   61 ./widget/windows
   56 ./gfx/angle/src/libGLESv2
   56 ./gfx/angle/src/libGLESv2
Line 87: Line 87:
   46 ./layout/generic \o/ UNIFIED_SOURCES \o/
   46 ./layout/generic \o/ UNIFIED_SOURCES \o/
   44 ./gfx/harfbuzz/src \o/ UNIFIED_SOURCES \o/
   44 ./gfx/harfbuzz/src \o/ UNIFIED_SOURCES \o/
   42 ./widget/gonk
   43 ./widget/gonk
   41 ./layout/xul/base/src \o/ UNIFIED_SOURCES \o/
   41 ./layout/xul/base/src \o/ UNIFIED_SOURCES \o/
   41 ./hal
   41 ./hal
Line 100: Line 100:
   36 ./gfx/graphite2/src \o/ UNIFIED_SOURCES \o/
   36 ./gfx/graphite2/src \o/ UNIFIED_SOURCES \o/
   33 ./parser/html \o/ UNIFIED_SOURCES \o/
   33 ./parser/html \o/ UNIFIED_SOURCES \o/
   33 ./netwerk/protocol/http \o/ UNIFIED_SOURCES \o/
   33 ./netwerk/protocol/http
   33 ./build/stlport
   33 ./build/stlport
   32 ./js/xpconnect/src
   32 ./js/xpconnect/src
Line 128: Line 128:
   23 ./toolkit/crashreporter/google-breakpad/src/common/linux
   23 ./toolkit/crashreporter/google-breakpad/src/common/linux
   23 ./storage/src \o/ UNIFIED_SOURCES \o/
   23 ./storage/src \o/ UNIFIED_SOURCES \o/
   23 ./netwerk/protocol/rtsp \o/ UNIFIED_SOURCES \o/
   23 ./netwerk/protocol/rtsp
   23 ./intl/locale/src
   23 ./intl/locale/src
   22 ./xpcom/ds \o/ UNIFIED_SOURCES \o/
   22 ./xpcom/ds \o/ UNIFIED_SOURCES \o/
Line 135: Line 135:
   22 ./content/media/fmp4
   22 ./content/media/fmp4
   19 ./testing/gtest
   19 ./testing/gtest
  19 ./layout/forms \o/ UNIFIED_SOURCES \o/
   19 ./accessible/src/windows/msaa
   19 ./accessible/src/windows/msaa
   19 ./accessible/src/atk
   19 ./accessible/src/atk
Line 140: Line 141:
   18 ./widget/os2
   18 ./widget/os2
   18 ./widget/android
   18 ./widget/android
  18 ./layout/forms \o/ UNIFIED_SOURCES \o/
   18 ./content/media/webaudio/blink \o/ UNIFIED_SOURCES \o/
   18 ./content/media/webaudio/blink \o/ UNIFIED_SOURCES \o/
   17 ./toolkit/components/places
   17 ./toolkit/components/places
Line 194: Line 194:
   8 ./python/mozbuild/mozbuild/test/backend/data/variable_passthru
   8 ./python/mozbuild/mozbuild/test/backend/data/variable_passthru
   8 ./netwerk/wifi \o/ UNIFIED_SOURCES \o/
   8 ./netwerk/wifi \o/ UNIFIED_SOURCES \o/
   8 ./js/src/gdb
   8 ./js/src/gdb \o/ UNIFIED_SOURCES \o/
   8 ./extensions/spellcheck/src \o/ UNIFIED_SOURCES \o/
   8 ./extensions/spellcheck/src \o/ UNIFIED_SOURCES \o/
   8 ./editor/composer/src \o/ UNIFIED_SOURCES \o/
   8 ./editor/composer/src \o/ UNIFIED_SOURCES \o/
   8 ./caps/src \o/ UNIFIED_SOURCES \o/
   8 ./caps/src \o/ UNIFIED_SOURCES \o/
   8 ./accessible/src/html \o/ UNIFIED_SOURCES \o/
   8 ./accessible/src/html \o/ UNIFIED_SOURCES \o/
  7 ./widget/gonk/nativewindow
   7 ./tools/jprof
   7 ./tools/jprof
   7 ./mozglue/build
   7 ./mozglue/build
Line 205: Line 206:
   7 ./content/html/document/src \o/ UNIFIED_SOURCES \o/
   7 ./content/html/document/src \o/ UNIFIED_SOURCES \o/
   6 ./xpcom/reflect/xptcall/src/md/win32
   6 ./xpcom/reflect/xptcall/src/md/win32
  6 ./widget/gonk/nativewindow
   6 ./uriloader/prefetch
   6 ./uriloader/prefetch
   6 ./tools/trace-malloc
   6 ./tools/trace-malloc
Line 222: Line 222:
   6 ./extensions/cookie
   6 ./extensions/cookie
   6 ./extensions/auth
   6 ./extensions/auth
   6 ./embedding/browser/webBrowser
   6 ./embedding/browser/webBrowser \o/ UNIFIED_SOURCES \o/
   6 ./editor/libeditor/text \o/ UNIFIED_SOURCES \o/
   6 ./editor/libeditor/text \o/ UNIFIED_SOURCES \o/
   6 ./dom/src/storage
   6 ./dom/src/storage
Line 235: Line 235:
   5 ./toolkit/components/downloads
   5 ./toolkit/components/downloads
   5 ./other-licenses/skia-npapi
   5 ./other-licenses/skia-npapi
   5 ./netwerk/protocol/wyciwyg \o/ UNIFIED_SOURCES \o/
   5 ./netwerk/protocol/wyciwyg
   5 ./netwerk/protocol/about
   5 ./netwerk/protocol/about
   5 ./netwerk/dns
   5 ./netwerk/dns \o/ UNIFIED_SOURCES \o/
   5 ./modules/libpref/src
   5 ./modules/libpref/src
   5 ./memory/mozalloc \o/ UNIFIED_SOURCES \o/
   5 ./memory/mozalloc
   5 ./layout/printing \o/ UNIFIED_SOURCES \o/
   5 ./layout/printing \o/ UNIFIED_SOURCES \o/
   5 ./intl/unicharutil/util \o/ UNIFIED_SOURCES \o/
   5 ./intl/unicharutil/util \o/ UNIFIED_SOURCES \o/
Line 245: Line 245:
   5 ./intl/locale/src/unix
   5 ./intl/locale/src/unix
   5 ./gfx/angle/src/libEGL
   5 ./gfx/angle/src/libEGL
   5 ./embedding/components/commandhandler/src
   5 ./embedding/components/commandhandler/src \o/ UNIFIED_SOURCES \o/
   5 ./editor/txmgr/src \o/ UNIFIED_SOURCES \o/
   5 ./editor/txmgr/src \o/ UNIFIED_SOURCES \o/
   5 ./content/xslt/src/base \o/ UNIFIED_SOURCES \o/
   5 ./content/xslt/src/base \o/ UNIFIED_SOURCES \o/
Line 254: Line 254:
   4 ./xpcom/components \o/ UNIFIED_SOURCES \o/
   4 ./xpcom/components \o/ UNIFIED_SOURCES \o/
   4 ./toolkit/components/ctypes
   4 ./toolkit/components/ctypes
   4 ./startupcache \o/ UNIFIED_SOURCES \o/
   4 ./startupcache
   4 ./netwerk/socket \o/ UNIFIED_SOURCES \o/
   4 ./netwerk/socket \o/ UNIFIED_SOURCES \o/
   4 ./netwerk/protocol/websocket \o/ UNIFIED_SOURCES \o/
   4 ./netwerk/protocol/websocket
   4 ./netwerk/protocol/device \o/ UNIFIED_SOURCES \o/
   4 ./netwerk/protocol/device \o/ UNIFIED_SOURCES \o/
   4 ./netwerk/cookie
   4 ./netwerk/cookie
Line 265: Line 265:
   4 ./gfx/cairo/cairo/src \o/ UNIFIED_SOURCES \o/
   4 ./gfx/cairo/cairo/src \o/ UNIFIED_SOURCES \o/
   4 ./extensions/pref/autoconfig/src
   4 ./extensions/pref/autoconfig/src
   4 ./embedding/components/printingui/src/win
   4 ./embedding/components/printingui/src/win \o/ UNIFIED_SOURCES \o/
   4 ./dom/time \o/ UNIFIED_SOURCES \o/
   4 ./dom/time \o/ UNIFIED_SOURCES \o/
   4 ./dom/quota \o/ UNIFIED_SOURCES \o/
   4 ./dom/quota \o/ UNIFIED_SOURCES \o/
Line 277: Line 277:
   4 ./content/media/plugins
   4 ./content/media/plugins
   4 ./content/media/ogg \o/ UNIFIED_SOURCES \o/
   4 ./content/media/ogg \o/ UNIFIED_SOURCES \o/
   4 ./chrome/src
   4 ./chrome/src \o/ UNIFIED_SOURCES \o/
   3 ./xpcom/sample \o/ UNIFIED_SOURCES \o/
   3 ./xpcom/sample \o/ UNIFIED_SOURCES \o/
   3 ./widget/shared \o/ UNIFIED_SOURCES \o/
   3 ./widget/shared \o/ UNIFIED_SOURCES \o/
Line 294: Line 294:
   3 ./js/xpconnect/tests/components/native
   3 ./js/xpconnect/tests/components/native
   3 ./js/xpconnect/loader
   3 ./js/xpconnect/loader
   3 ./js/src/shell
   3 ./js/src/shell \o/ UNIFIED_SOURCES \o/
   3 ./js/ipc
   3 ./js/ipc
   3 ./ipc/testshell
   3 ./ipc/testshell
Line 302: Line 302:
   3 ./gfx/ipc
   3 ./gfx/ipc
   3 ./embedding/tests/winEmbed
   3 ./embedding/tests/winEmbed
   3 ./embedding/components/windowwatcher/src
   3 ./embedding/components/windowwatcher/src \o/ UNIFIED_SOURCES \o/
   3 ./embedding/components/printingui/src/unixshared
   3 ./embedding/components/printingui/src/unixshared \o/ UNIFIED_SOURCES \o/
   3 ./embedding/components/printingui/src/os2
   3 ./embedding/components/printingui/src/os2
   3 ./embedding/components/printingui/src/mac
   3 ./embedding/components/printingui/src/mac \o/ UNIFIED_SOURCES \o/
   3 ./editor/txtsvc/src \o/ UNIFIED_SOURCES \o/
   3 ./editor/txtsvc/src \o/ UNIFIED_SOURCES \o/
   3 ./dom/wifi
   3 ./dom/wifi
Line 333: Line 333:
   2 ./testing/tools/screenshot
   2 ./testing/tools/screenshot
   2 ./security/manager/ssl/tests/unit/tlsserver/lib
   2 ./security/manager/ssl/tests/unit/tlsserver/lib
  2 ./security/manager/ssl/tests/unit/tlsserver/cmd
   2 ./rdf/datasource/src
   2 ./rdf/datasource/src
   2 ./profile/dirserviceprovider/src
   2 ./profile/dirserviceprovider/src
Line 348: Line 349:
   2 ./extensions/universalchardet/src/xpcom
   2 ./extensions/universalchardet/src/xpcom
   2 ./extensions/permissions
   2 ./extensions/permissions
   2 ./embedding/components/find/src
   2 ./embedding/components/find/src \o/ UNIFIED_SOURCES \o/
   2 ./dom/system/unix
   2 ./dom/system/unix
   2 ./dom/system/android
   2 ./dom/system/android
Line 362: Line 363:
   2 ./content/media/raw \o/ UNIFIED_SOURCES \o/
   2 ./content/media/raw \o/ UNIFIED_SOURCES \o/
   2 ./content/media/apple \o/ UNIFIED_SOURCES \o/
   2 ./content/media/apple \o/ UNIFIED_SOURCES \o/
   2 ./content/mathml/content/src
   2 ./content/mathml/content/src \o/ UNIFIED_SOURCES \o/
   2 ./build/unix/elfhack
   2 ./build/unix/elfhack
   2 ./browser/metro/shell/commandexecutehandler
   2 ./browser/metro/shell/commandexecutehandler
Line 417: Line 418:
   1 ./security/sandbox/win/src/sandboxbroker
   1 ./security/sandbox/win/src/sandboxbroker
   1 ./security/sandbox/linux
   1 ./security/sandbox/linux
  1 ./security/manager/ssl/tests/unit/tlsserver/cmd
   1 ./rdf/util/src
   1 ./rdf/util/src
   1 ./rdf/tests/triplescat
   1 ./rdf/tests/triplescat

Revision as of 19:07, 22 November 2013

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 open bugs i.e. all the directories that are currently being ported by someone.

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" | 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.

 599 ./gfx/skia \o/ UNIFIED_SOURCES \o/
 294 ./js/src \o/ UNIFIED_SOURCES \o/
 244 ./toolkit/crashreporter
 192 ./content/media \o/ UNIFIED_SOURCES \o/
 143 ./content/svg/content/src \o/ UNIFIED_SOURCES \o/
 141 ./security/sandbox
 136 ./ipc/chromium \o/ UNIFIED_SOURCES \o/
 126 ./gfx/angle \o/ UNIFIED_SOURCES \o/
 111 ./gfx/layers \o/ UNIFIED_SOURCES \o/
 91 ./content/base/src \o/ UNIFIED_SOURCES \o/
 80 ./xpcom/tests
 80 ./xpcom/reflect/xptcall/src
 79 ./toolkit/crashreporter/google-breakpad/src/common
 76 ./content/html/content/src \o/ UNIFIED_SOURCES \o/
 74 ./gfx/thebes
 70 ./xpcom/reflect/xptcall/src/md/unix
 65 ./toolkit/crashreporter/google-breakpad/src/client
 65 ./js/src/jsapi-tests \o/ UNIFIED_SOURCES \o/
 64 ./netwerk/base/src \o/ UNIFIED_SOURCES \o/
 61 ./widget/windows
 56 ./gfx/angle/src/libGLESv2
 55 ./security/manager/ssl/src
 53 ./content/canvas/src \o/ UNIFIED_SOURCES \o/
 51 ./toolkit/crashreporter/google-breakpad/src/processor
 50 ./content/media/webaudio \o/ UNIFIED_SOURCES \o/
 49 ./gfx/2d \o/ UNIFIED_SOURCES \o/
 47 ./layout/style \o/ UNIFIED_SOURCES \o/
 46 ./layout/generic \o/ UNIFIED_SOURCES \o/
 44 ./gfx/harfbuzz/src \o/ UNIFIED_SOURCES \o/
 43 ./widget/gonk
 41 ./layout/xul/base/src \o/ UNIFIED_SOURCES \o/
 41 ./hal
 41 ./content/events/src \o/ UNIFIED_SOURCES \o/
 40 ./netwerk/test
 39 ./widget/cocoa \o/ UNIFIED_SOURCES \o/
 38 ./content/xslt/src/xpath \o/ UNIFIED_SOURCES \o/
 37 ./xpcom/glue \o/ UNIFIED_SOURCES \o/
 37 ./dom/base \o/ UNIFIED_SOURCES \o/
 36 ./layout/base \o/ UNIFIED_SOURCES \o/
 36 ./ipc/ipdl/test/cxx
 36 ./gfx/graphite2/src \o/ UNIFIED_SOURCES \o/
 33 ./parser/html \o/ UNIFIED_SOURCES \o/
 33 ./netwerk/protocol/http
 33 ./build/stlport
 32 ./js/xpconnect/src
 32 ./dom/plugins/base
 31 ./gfx/ots/src \o/ UNIFIED_SOURCES \o/
 30 ./layout/svg \o/ UNIFIED_SOURCES \o/
 30 ./content/xslt/src/xslt \o/ UNIFIED_SOURCES \o/
 29 ./dom/plugins/ipc
 28 ./widget/xpwidgets \o/ UNIFIED_SOURCES \o/
 28 ./toolkit/xre
 27 ./widget/gtk
 27 ./uriloader/exthandler
 26 ./xpcom/io \o/ UNIFIED_SOURCES \o/
 26 ./widget/qt
 26 ./tools/profiler
 26 ./gfx/gl \o/ UNIFIED_SOURCES \o/
 26 ./content/xul/templates/src \o/ UNIFIED_SOURCES \o/
 25 ./ipc/glue
 25 ./extensions/universalchardet/src/base
 25 ./dom/system
 25 ./dom/bluetooth
 24 ./xpcom/base \o/ UNIFIED_SOURCES \o/
 24 ./image/src \o/ UNIFIED_SOURCES \o/
 24 ./dom/indexedDB
 24 ./content/smil \o/ UNIFIED_SOURCES \o/
 24 ./accessible/src/base \o/ UNIFIED_SOURCES \o/
 23 ./toolkit/crashreporter/google-breakpad/src/common/linux
 23 ./storage/src \o/ UNIFIED_SOURCES \o/
 23 ./netwerk/protocol/rtsp
 23 ./intl/locale/src
 22 ./xpcom/ds \o/ UNIFIED_SOURCES \o/
 22 ./layout/mathml \o/ UNIFIED_SOURCES \o/
 22 ./editor/libeditor/base \o/ UNIFIED_SOURCES \o/
 22 ./content/media/fmp4
 19 ./testing/gtest
 19 ./layout/forms \o/ UNIFIED_SOURCES \o/
 19 ./accessible/src/windows/msaa
 19 ./accessible/src/atk
 18 ./xpcom/string/src \o/ UNIFIED_SOURCES \o/
 18 ./widget/os2
 18 ./widget/android
 18 ./content/media/webaudio/blink \o/ UNIFIED_SOURCES \o/
 17 ./toolkit/components/places
 17 ./netwerk/cache
 17 ./editor/libeditor/html \o/ UNIFIED_SOURCES \o/
 17 ./dom/system/gonk
 17 ./dom/mobilemessage/src
 17 ./dom/file
 17 ./content/xbl/src \o/ UNIFIED_SOURCES \o/
 16 ./netwerk/cache2 \o/ UNIFIED_SOURCES \o/
 16 ./intl/uconv/src \o/ UNIFIED_SOURCES \o/
 16 ./image/decoders \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 ./modules/libjar \o/ UNIFIED_SOURCES \o/
 13 ./media/omx-plugin
 13 ./gfx/src
 13 ./extensions/spellcheck/hunspell/src \o/ UNIFIED_SOURCES \o/
 12 ./xpcom/build \o/ UNIFIED_SOURCES \o/
 12 ./toolkit/mozapps/update/updater
 12 ./toolkit/crashreporter/google-breakpad/src/common/mac
 12 ./toolkit/components/url-classifier
 12 ./layout/tables \o/ UNIFIED_SOURCES \o/
 12 ./docshell/base \o/ UNIFIED_SOURCES \o/
 12 ./content/media/webspeech/recognition \o/ UNIFIED_SOURCES \o/
 12 ./accessible/src/xul \o/ UNIFIED_SOURCES \o/
 12 ./accessible/src/windows/ia2
 12 ./accessible/src/generic \o/ UNIFIED_SOURCES \o/
 11 ./xpcom/threads \o/ UNIFIED_SOURCES \o/
 11 ./toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer
 11 ./netwerk/streamconv/converters \o/ UNIFIED_SOURCES \o/
 11 ./gfx/ycbcr \o/ UNIFIED_SOURCES \o/
 11 ./dom/plugins/base/android
 11 ./content/media/omx
 10 ./toolkit/components/protobuf
 10 ./content/media/webspeech/synth \o/ UNIFIED_SOURCES \o/
 10 ./accessible/src/mac \o/ UNIFIED_SOURCES \o/
 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 ./image/decoders/icon \o/ UNIFIED_SOURCES \o/
 9 ./dom/telephony
 9 ./dom/network/src
 8 ./xpfe/appshell/src
 8 ./toolkit/crashreporter/google-breakpad/src/client/mac/handler
 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 ./js/src/gdb \o/ UNIFIED_SOURCES \o/
 8 ./extensions/spellcheck/src \o/ UNIFIED_SOURCES \o/
 8 ./editor/composer/src \o/ UNIFIED_SOURCES \o/
 8 ./caps/src \o/ UNIFIED_SOURCES \o/
 8 ./accessible/src/html \o/ UNIFIED_SOURCES \o/
 7 ./widget/gonk/nativewindow
 7 ./tools/jprof
 7 ./mozglue/build
 7 ./intl/lwbrk/src
 7 ./content/media/directshow
 7 ./content/html/document/src \o/ UNIFIED_SOURCES \o/
 6 ./xpcom/reflect/xptcall/src/md/win32
 6 ./uriloader/prefetch
 6 ./tools/trace-malloc
 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 ./other-licenses/snappy
 6 ./netwerk/protocol/ftp \o/ UNIFIED_SOURCES \o/
 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 \o/ UNIFIED_SOURCES \o/
 6 ./editor/libeditor/text \o/ UNIFIED_SOURCES \o/
 6 ./dom/src/storage
 6 ./dom/fmradio
 6 ./content/xul/document/src
 6 ./content/media/wmf
 6 ./content/media/webrtc \o/ UNIFIED_SOURCES \o/
 6 ./accessible/src/xpcom \o/ UNIFIED_SOURCES \o/
 5 ./widget/gonk/libdisplay
 5 ./toolkit/crashreporter/google-breakpad/src/client/solaris/handler
 5 ./toolkit/crashreporter/google-breakpad/src/client/mac/crash_generation
 5 ./toolkit/components/downloads
 5 ./other-licenses/skia-npapi
 5 ./netwerk/protocol/wyciwyg
 5 ./netwerk/protocol/about
 5 ./netwerk/dns \o/ UNIFIED_SOURCES \o/
 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 \o/ UNIFIED_SOURCES \o/
 5 ./editor/txmgr/src \o/ UNIFIED_SOURCES \o/
 5 ./content/xslt/src/base \o/ UNIFIED_SOURCES \o/
 5 ./content/media/omx/mediaresourcemanager
 5 ./content/media/mediasource \o/ UNIFIED_SOURCES \o/
 5 ./content/media/gstreamer
 4 ./xpcom/reflect/xptinfo/src \o/ UNIFIED_SOURCES \o/
 4 ./xpcom/components \o/ UNIFIED_SOURCES \o/
 4 ./toolkit/components/ctypes
 4 ./startupcache
 4 ./netwerk/socket \o/ UNIFIED_SOURCES \o/
 4 ./netwerk/protocol/websocket
 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 \o/ UNIFIED_SOURCES \o/
 4 ./extensions/pref/autoconfig/src
 4 ./embedding/components/printingui/src/win \o/ UNIFIED_SOURCES \o/
 4 ./dom/time \o/ UNIFIED_SOURCES \o/
 4 ./dom/quota \o/ UNIFIED_SOURCES \o/
 4 ./dom/media
 4 ./dom/fmradio/ipc
 4 ./dom/encoding \o/ UNIFIED_SOURCES \o/
 4 ./dom/audiochannel \o/ UNIFIED_SOURCES \o/
 4 ./docshell/shistory/src \o/ UNIFIED_SOURCES \o/
 4 ./content/xml/document/src
 4 ./content/xml/content/src
 4 ./content/media/plugins
 4 ./content/media/ogg \o/ UNIFIED_SOURCES \o/
 4 ./chrome/src \o/ UNIFIED_SOURCES \o/
 3 ./xpcom/sample \o/ UNIFIED_SOURCES \o/
 3 ./widget/shared \o/ UNIFIED_SOURCES \o/
 3 ./tools/trace-malloc/lib
 3 ./toolkit/system/dbus
 3 ./toolkit/library
 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 ./rdf/tests/dsds
 3 ./parser/xml/src
 3 ./netwerk/protocol/data \o/ UNIFIED_SOURCES \o/
 3 ./mobile/android/components/build
 3 ./layout/build \o/ UNIFIED_SOURCES \o/
 3 ./js/xpconnect/tests/components/native
 3 ./js/xpconnect/loader
 3 ./js/src/shell \o/ UNIFIED_SOURCES \o/
 3 ./js/ipc
 3 ./ipc/testshell
 3 ./ipc/dbus
 3 ./intl/locale/src/mac
 3 ./intl/hyphenation/src
 3 ./gfx/ipc
 3 ./embedding/tests/winEmbed
 3 ./embedding/components/windowwatcher/src \o/ UNIFIED_SOURCES \o/
 3 ./embedding/components/printingui/src/unixshared \o/ UNIFIED_SOURCES \o/
 3 ./embedding/components/printingui/src/os2
 3 ./embedding/components/printingui/src/mac \o/ UNIFIED_SOURCES \o/
 3 ./editor/txtsvc/src \o/ UNIFIED_SOURCES \o/
 3 ./dom/wifi
 3 ./dom/power
 3 ./dom/icc/src
 3 ./dom/gamepad \o/ UNIFIED_SOURCES \o/
 3 ./dom/devicestorage
 3 ./content/xul/content/src
 3 ./content/media/webm \o/ UNIFIED_SOURCES \o/
 3 ./content/media/encoder \o/ UNIFIED_SOURCES \o/
 3 ./build/win32
 3 ./browser/components/shell/src
 3 ./accessible/src/windows/sdn
 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/crashreporter/test
 2 ./toolkit/crashreporter/google-breakpad/src/client/linux/crash_generation
 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 ./security/manager/ssl/tests/unit/tlsserver/cmd
 2 ./rdf/datasource/src
 2 ./profile/dirserviceprovider/src
 2 ./netwerk/system/qt
 2 ./netwerk/streamconv/test \o/ UNIFIED_SOURCES \o/
 2 ./netwerk/protocol/viewsource \o/ UNIFIED_SOURCES \o/
 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 \o/ UNIFIED_SOURCES \o/
 2 ./dom/system/unix
 2 ./dom/system/android
 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 ./content/xslt/src/xml \o/ UNIFIED_SOURCES \o/
 2 ./content/media/webspeech/synth/pico
 2 ./content/media/wave \o/ UNIFIED_SOURCES \o/
 2 ./content/media/raw \o/ UNIFIED_SOURCES \o/
 2 ./content/media/apple \o/ UNIFIED_SOURCES \o/
 2 ./content/mathml/content/src \o/ UNIFIED_SOURCES \o/
 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/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/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 ./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/gb/libutils
 1 ./media/omx-plugin/lib/gb/libstagefright_color_conversion
 1 ./media/omx-plugin/lib/gb/libstagefright
 1 ./media/omx-plugin/lib/gb235/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/libspeex_resampler/src
 1 ./media/libcubeb/src
 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/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/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