Platform/Porting to unified sources: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 50: Line 50:
   fileindex=$((fileindex + 1))
   fileindex=$((fileindex + 1))
   mozbuilddir="`dirname "$mozbuildfile"`"
   mozbuilddir="`dirname "$mozbuildfile"`"
   numcpp=`find $mozbuilddir -name "*.cpp" -o -name "*.C" | wc -l`
   numcpp=`find $mozbuilddir -name "*.cpp" -o -name "*.C" -o -name "*.cc" -o -name "*.mm" -maxdepth 1 | wc -l`
   if [ $numcpp -eq 0 ]
   if [ $numcpp -eq 0 ]
   then
   then
     continue
     continue
   fi
   fi
   if ! grep -q SOURCES "$mozbuildfile"
   if ! ( grep -wq SOURCES "$mozbuildfile" || grep -wq UNIFIED_SOURCES "$mozbuildfile" )
   then
   then
     continue
     continue
Line 81: Line 81:
Directories that are already ported have '''\o/ UNIFIED_SOURCES \o/''' written next to them.
Directories that are already ported have '''\o/ UNIFIED_SOURCES \o/''' written next to them.


    586 ./gfx/skia
    290 ./js/src
    229 ./widget
    167 ./content/media
     143 ./content/svg/content/src \o/ UNIFIED_SOURCES \o/
     143 ./content/svg/content/src \o/ UNIFIED_SOURCES \o/
    126 ./gfx/angle
    109 ./gfx/layers
       91 ./content/base/src
       91 ./content/base/src
      80 ./xpcom/tests
      80 ./xpcom/reflect/xptcall/src
       76 ./content/html/content/src
       76 ./content/html/content/src
       73 ./gfx/thebes
       74 ./gfx/thebes
       70 ./xpcom/reflect/xptcall/src/md/unix
       70 ./xpcom/reflect/xptcall/src/md/unix
      65 ./xpcom/tests
       64 ./netwerk/base/src
       64 ./netwerk/base/src
       64 ./js/src/jsapi-tests
       64 ./js/src/jsapi-tests
      61 ./widget/windows
      56 ./gfx/angle/src/libGLESv2
       55 ./security/manager/ssl/src
       55 ./security/manager/ssl/src
       53 ./content/canvas/src
       53 ./content/canvas/src
       50 ./content/media/webaudio
       49 ./toolkit/crashreporter/google-breakpad/src/processor
       47 ./layout/style \o/ UNIFIED_SOURCES \o/
       47 ./widget/windows
       47 ./gfx/2d
      46 ./layout/generic \o/ UNIFIED_SOURCES \o/
      45 ./layout/generic \o/ UNIFIED_SOURCES \o/
       44 ./layout/style \o/ UNIFIED_SOURCES \o/
       42 ./widget/gonk
       44 ./gfx/harfbuzz/src
       41 ./layout/xul/base/src \o/ UNIFIED_SOURCES \o/
       41 ./layout/xul/base/src \o/ UNIFIED_SOURCES \o/
       40 ./netwerk/test
       40 ./netwerk/test
       40 ./content/events/src
       40 ./content/events/src
       39 ./hal
       39 ./widget/cocoa
      39 ./js/src
      39 ./gfx/2d
       38 ./content/xslt/src/xpath
       38 ./content/xslt/src/xpath
       37 ./xpcom/glue
       38 ./content/media
       37 ./dom/base
       37 ./dom/base
       36 ./layout/base \o/ UNIFIED_SOURCES \o/
       36 ./layout/base \o/ UNIFIED_SOURCES \o/
      36 ./ipc/ipdl/test/cxx
       36 ./gfx/graphite2/src
       36 ./gfx/graphite2/src
      35 ./xpcom/glue
       35 ./layout/svg \o/ UNIFIED_SOURCES \o/
       35 ./layout/svg \o/ UNIFIED_SOURCES \o/
      35 ./ipc/ipdl/test/cxx
       33 ./parser/html \o/ UNIFIED_SOURCES \o/
       33 ./parser/html \o/ UNIFIED_SOURCES \o/
       33 ./netwerk/protocol/http
       33 ./netwerk/protocol/http
      33 ./build/stlport
       32 ./js/xpconnect/src
       32 ./js/xpconnect/src
       32 ./dom/plugins/base
       31 ./gfx/ots/src
      31 ./content/media/webaudio
       30 ./content/xslt/src/xslt
       30 ./content/xslt/src/xslt
       28 ./widget/xpwidgets \o/ UNIFIED_SOURCES \o/
       28 ./widget/xpwidgets \o/ UNIFIED_SOURCES \o/
       27 ./widget/gtk
       27 ./widget/gtk
       26 ./widget/qt
       26 ./xpcom/io
      26 ./tools/profiler
      26 ./toolkit/xre
      26 ./toolkit/crashreporter/google-breakpad/src/common
      26 ./gfx/gl
       26 ./content/xul/templates/src
       26 ./content/xul/templates/src
      25 ./xpcom/io
       25 ./ipc/glue
       25 ./ipc/glue
      25 ./gfx/gl
       25 ./extensions/universalchardet/src/base
       25 ./extensions/universalchardet/src/base
       25 ./dom/plugins/ipc
       25 ./dom/plugins/ipc
       24 ./xpcom/base
       24 ./xpcom/base
       24 ./uriloader/exthandler
       24 ./widget/qt
      24 ./toolkit/xre
       24 ./image/src
       24 ./image/src
      24 ./dom/system
      24 ./dom/indexedDB
       24 ./content/smil
       24 ./content/smil
       24 ./accessible/src/base
       24 ./accessible/src/base
       23 ./storage/src
       23 ./storage/src
      23 ./netwerk/protocol/rtsp
      23 ./intl/locale/src
      23 ./dom/bluetooth
       22 ./xpcom/ds
       22 ./xpcom/ds
      22 ./toolkit/crashreporter/google-breakpad/src/common/linux
       22 ./layout/mathml \o/ UNIFIED_SOURCES \o/
       22 ./layout/mathml \o/ UNIFIED_SOURCES \o/
       22 ./editor/libeditor/base \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/windows/msaa
       19 ./accessible/src/atk
       19 ./accessible/src/atk
Line 151: Line 144:
       18 ./widget/os2
       18 ./widget/os2
       18 ./widget/android
       18 ./widget/android
      18 ./tools/profiler
       18 ./layout/forms \o/ UNIFIED_SOURCES \o/
       18 ./layout/forms \o/ UNIFIED_SOURCES \o/
      18 ./gfx/layers
      18 ./gfx/angle/src/libGLESv2
      18 ./dom/bluetooth
       18 ./content/media/webaudio/blink
       18 ./content/media/webaudio/blink
      17 ./toolkit/mozapps/update
      17 ./toolkit/components/places
       17 ./netwerk/cache
       17 ./netwerk/cache
       17 ./editor/libeditor/html \o/ UNIFIED_SOURCES \o/
       17 ./editor/libeditor/html \o/ UNIFIED_SOURCES \o/
       17 ./dom/system/gonk
       17 ./dom/system/gonk
      17 ./dom/mobilemessage/src
       17 ./dom/file
       17 ./dom/file
       17 ./content/xbl/src
       17 ./content/xbl/src
      16 ./toolkit/components/places
       16 ./netwerk/cache2
       16 ./netwerk/cache2
       16 ./intl/uconv/src \o/ UNIFIED_SOURCES \o/
       16 ./intl/uconv/src \o/ UNIFIED_SOURCES \o/
Line 167: Line 160:
       16 ./dom/camera
       16 ./dom/camera
       15 ./js/jsd
       15 ./js/jsd
      15 ./image/decoders
       15 ./dom/ipc
       15 ./dom/ipc
       14 ./rdf/base/src
       14 ./rdf/base/src
       13 ./widget/windows/winrt
       13 ./widget/windows/winrt
       13 ./parser/htmlparser/src \o/ UNIFIED_SOURCES \o/
       13 ./parser/htmlparser/src \o/ UNIFIED_SOURCES \o/
      13 ./modules/libjar \o/ UNIFIED_SOURCES \o/
      13 ./media/omx-plugin
      13 ./gfx/tests/gtest
       13 ./gfx/src
       13 ./gfx/src
       13 ./extensions/spellcheck/hunspell/src
       13 ./extensions/spellcheck/hunspell/src
       12 ./toolkit/crashreporter
      12 ./widget/gonk
       12 ./toolkit/components/url-classifier
       12 ./toolkit/mozapps/update/updater
       12 ./toolkit/crashreporter/google-breakpad/src/common/mac
       12 ./layout/tables \o/ UNIFIED_SOURCES \o/
       12 ./layout/tables \o/ UNIFIED_SOURCES \o/
       12 ./docshell/base
       12 ./docshell/base
Line 186: Line 176:
       11 ./xpcom/threads
       11 ./xpcom/threads
       11 ./xpcom/build
       11 ./xpcom/build
      11 ./toolkit/crashreporter/google-breakpad/src/client/linux/minidump_writer
      11 ./toolkit/components/url-classifier
       11 ./netwerk/streamconv/converters
       11 ./netwerk/streamconv/converters
       11 ./gfx/ycbcr
       11 ./gfx/ycbcr
       11 ./dom/plugins/base/android
       11 ./dom/plugins/base/android
       11 ./content/media/omx
       11 ./dom/mobilemessage/src
       10 ./toolkit/mozapps/update/updater
       11 ./content/media/webspeech/recognition
       10 ./content/media/webspeech/synth
       10 ./accessible/src/mac
       9 ./media/libsoundtouch/src \o/ UNIFIED_SOURCES \o/
       9 ./media/libsoundtouch/src \o/ UNIFIED_SOURCES \o/
       9 ./layout/xul/tree \o/ UNIFIED_SOURCES \o/
       9 ./layout/xul/tree \o/ UNIFIED_SOURCES \o/
       9 ./layout/xul/grid \o/ UNIFIED_SOURCES \o/
       9 ./layout/xul/grid \o/ UNIFIED_SOURCES \o/
       9 ./layout/inspector/src \o/ UNIFIED_SOURCES \o/
       9 ./layout/inspector/src \o/ UNIFIED_SOURCES \o/
      9 ./dom/telephony
       9 ./dom/network/src
       9 ./dom/network/src
      9 ./content/media/webspeech/recognition
       8 ./xpfe/appshell/src
       8 ./xpfe/appshell/src
       8 ./js/src/gdb
       8 ./uriloader/exthandler
       8 ./image/decoders/icon
      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 ./extensions/spellcheck/src
       8 ./editor/composer/src \o/ UNIFIED_SOURCES \o/
       8 ./editor/composer/src \o/ UNIFIED_SOURCES \o/
       8 ./caps/src
       8 ./caps/src
      8 ./browser/components
       8 ./accessible/src/html
       8 ./accessible/src/html
      7 ./tools/jprof
      7 ./security/sandbox
      7 ./netwerk/wifi \o/ UNIFIED_SOURCES \o/
       7 ./mozglue/build
       7 ./mozglue/build
      7 ./modules/libjar \o/ UNIFIED_SOURCES \o/
       7 ./intl/lwbrk/src
       7 ./intl/lwbrk/src
      7 ./intl/locale/src
      7 ./image/decoders
       7 ./content/media/directshow
       7 ./content/media/directshow
       7 ./content/html/document/src
       7 ./content/html/document/src
Line 217: Line 208:
       6 ./widget/gonk/nativewindow
       6 ./widget/gonk/nativewindow
       6 ./uriloader/prefetch
       6 ./uriloader/prefetch
       6 ./tools/trace-malloc
       6 ./tools/jprof
       6 ./toolkit/system/gnome
       6 ./toolkit/system/gnome
      6 ./toolkit/crashreporter/client
      6 ./toolkit/components/startup
       6 ./toolkit/components/maintenanceservice
       6 ./toolkit/components/maintenanceservice
       6 ./security/manager/pki/src
       6 ./security/manager/pki/src
Line 231: Line 224:
       6 ./embedding/browser/webBrowser
       6 ./embedding/browser/webBrowser
       6 ./editor/libeditor/text \o/ UNIFIED_SOURCES \o/
       6 ./editor/libeditor/text \o/ UNIFIED_SOURCES \o/
      6 ./dom/telephony
       6 ./dom/src/storage
       6 ./dom/src/storage
      6 ./dom/fmradio
       6 ./content/xul/document/src
       6 ./content/xul/document/src
       6 ./content/media/wmf
       6 ./content/media/wmf
      6 ./content/media/webspeech/synth
       6 ./content/media/webrtc
       6 ./content/media/webrtc
      6 ./content/media/omx
       5 ./widget/gonk/libdisplay
       5 ./widget/gonk/libdisplay
       5 ./toolkit/crashreporter/client
       5 ./toolkit/crashreporter/google-breakpad/src/client/solaris/handler
       5 ./toolkit/components/startup
      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 ./other-licenses/skia-npapi
       5 ./netwerk/protocol/wyciwyg \o/ UNIFIED_SOURCES \o/
       5 ./netwerk/protocol/wyciwyg \o/ UNIFIED_SOURCES \o/
Line 248: Line 245:
       5 ./intl/unicharutil/util \o/ UNIFIED_SOURCES \o/
       5 ./intl/unicharutil/util \o/ UNIFIED_SOURCES \o/
       5 ./intl/unicharutil/src \o/ UNIFIED_SOURCES \o/
       5 ./intl/unicharutil/src \o/ UNIFIED_SOURCES \o/
      5 ./intl/uconv/tests
       5 ./intl/locale/src/unix
       5 ./intl/locale/src/unix
       5 ./gfx/angle/src/libEGL
       5 ./gfx/angle/src/libEGL
Line 259: Line 255:
       4 ./xpcom/reflect/xptinfo/src
       4 ./xpcom/reflect/xptinfo/src
       4 ./xpcom/components
       4 ./xpcom/components
       4 ./toolkit/components/downloads
       4 ./toolkit/crashreporter
      4 ./toolkit/components/ctypes
      4 ./startupcache
      4 ./python/mozbuild/mozbuild/test/frontend/data/variable-passthru
      4 ./python/mozbuild/mozbuild/test/backend/data/variable_passthru
       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 \o/ UNIFIED_SOURCES \o/
Line 277: Line 269:
       4 ./dom/time
       4 ./dom/time
       4 ./dom/quota
       4 ./dom/quota
      4 ./dom/media
       4 ./dom/fmradio/ipc
       4 ./dom/fmradio/ipc
       4 ./dom/encoding
       4 ./dom/encoding
      4 ./dom/audiochannel
       4 ./docshell/shistory/src
       4 ./docshell/shistory/src
       4 ./content/xml/document/src
       4 ./content/xml/document/src
Line 288: Line 278:
       4 ./chrome/src
       4 ./chrome/src
       4 ./accessible/src/xpcom
       4 ./accessible/src/xpcom
      3 ./xpcom/sample
       3 ./widget/shared
       3 ./widget/shared
       3 ./tools/trace-malloc/lib
       3 ./tools/trace-malloc/lib
      3 ./tools/trace-malloc
       3 ./toolkit/system/dbus
       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/remote
       3 ./toolkit/components/ctypes/tests
       3 ./toolkit/components/ctypes/tests
       3 ./testing/gtest
       3 ./startupcache
       3 ./rdf/tests/dsds
       3 ./rdf/tests/dsds
       3 ./parser/xml/src
       3 ./parser/xml/src
       3 ./netwerk/protocol/data \o/ UNIFIED_SOURCES \o/
       3 ./netwerk/protocol/data \o/ UNIFIED_SOURCES \o/
       3 ./mobile/android/components/build
       3 ./mobile/android/components/build
      3 ./mobile/android/components
      3 ./layout/style/test
       3 ./layout/build
       3 ./layout/build
       3 ./js/xpconnect/tests/components/native
       3 ./js/xpconnect/tests/components/native
Line 311: Line 300:
       3 ./intl/locale/src/mac
       3 ./intl/locale/src/mac
       3 ./intl/hyphenation/src
       3 ./intl/hyphenation/src
      3 ./image/decoders/icon
      3 ./hal
       3 ./gfx/ipc
       3 ./gfx/ipc
       3 ./embedding/tests/winEmbed
       3 ./embedding/tests/winEmbed
Line 316: Line 307:
       3 ./embedding/components/printingui/src/unixshared
       3 ./embedding/components/printingui/src/unixshared
       3 ./embedding/components/printingui/src/os2
       3 ./embedding/components/printingui/src/os2
      3 ./embedding/components/printingui/src/mac
       3 ./editor/txtsvc/src \o/ UNIFIED_SOURCES \o/
       3 ./editor/txtsvc/src \o/ UNIFIED_SOURCES \o/
       3 ./dom/wifi
       3 ./dom/wifi
       3 ./dom/power
       3 ./dom/power
      3 ./dom/media
       3 ./dom/gamepad
       3 ./dom/gamepad
       3 ./dom/devicestorage
       3 ./dom/devicestorage
      3 ./dom/audiochannel
       3 ./content/xul/content/src
       3 ./content/xul/content/src
       3 ./content/media/webm
       3 ./content/media/webm
       3 ./content/media/encoder
       3 ./content/media/encoder
      3 ./build/win32
       3 ./browser/components/shell/src
       3 ./browser/components/shell/src
       3 ./accessible/src/windows/sdn
       3 ./accessible/src/windows/sdn
      2 ./xpcom/sample
       2 ./xpcom/reflect/xptcall/src/md/test
       2 ./xpcom/reflect/xptcall/src/md/test
       2 ./widget/qt/faststartupqt
       2 ./widget/qt/faststartupqt
Line 335: Line 329:
       2 ./toolkit/mozapps/update/tests
       2 ./toolkit/mozapps/update/tests
       2 ./toolkit/mozapps/plugins/tests
       2 ./toolkit/mozapps/plugins/tests
      2 ./toolkit/library
       2 ./toolkit/crashreporter/test
       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/mediasniffer
       2 ./toolkit/components/autocomplete
       2 ./toolkit/components/autocomplete
Line 346: Line 343:
       2 ./netwerk/streamconv/test
       2 ./netwerk/streamconv/test
       2 ./netwerk/protocol/viewsource \o/ UNIFIED_SOURCES \o/
       2 ./netwerk/protocol/viewsource \o/ UNIFIED_SOURCES \o/
      2 ./netwerk/protocol/rtsp
       2 ./netwerk/protocol/file \o/ UNIFIED_SOURCES \o/
       2 ./netwerk/protocol/file \o/ UNIFIED_SOURCES \o/
       2 ./mozglue/tests
       2 ./mozglue/tests
       2 ./layout/ipc \o/ UNIFIED_SOURCES \o/
       2 ./layout/ipc \o/ UNIFIED_SOURCES \o/
      2 ./js/xpconnect/shell
       2 ./ipc/app
       2 ./ipc/app
       2 ./intl/unicharutil/tests
       2 ./intl/unicharutil/tests
Line 355: Line 354:
       2 ./extensions/universalchardet/src/xpcom
       2 ./extensions/universalchardet/src/xpcom
       2 ./extensions/permissions
       2 ./extensions/permissions
      2 ./embedding/components/printingui/src/mac
       2 ./embedding/components/find/src
       2 ./embedding/components/find/src
       2 ./dom/system/unix
       2 ./dom/system/unix
       2 ./dom/system/android
       2 ./dom/system/android
      2 ./dom/system
       2 ./dom/src/notification
       2 ./dom/src/notification
       2 ./dom/src/geolocation
       2 ./dom/src/geolocation
       2 ./dom/promise
       2 ./dom/promise
      2 ./dom/plugins/ipc/interpose
       2 ./dom/plugins/ipc/hangui
       2 ./dom/plugins/ipc/hangui
       2 ./dom/indexedDB/ipc
       2 ./dom/indexedDB/ipc
      2 ./dom/fmradio
       2 ./content/xslt/src/xml
       2 ./content/xslt/src/xml
       2 ./content/media/webspeech/synth/pico
       2 ./content/media/webspeech/synth/pico
Line 389: Line 390:
       1 ./xpcom/reflect/xptcall/tests
       1 ./xpcom/reflect/xptcall/tests
       1 ./xpcom/reflect/xptcall/src/md/os2
       1 ./xpcom/reflect/xptcall/src/md/os2
      1 ./xpcom/reflect/xptcall/src
       1 ./xpcom/glue/tests/gtest
       1 ./xpcom/glue/tests/gtest
       1 ./xpcom/glue/standalone
       1 ./xpcom/glue/standalone
       1 ./webapprt/win
       1 ./webapprt/win
      1 ./webapprt/mac
       1 ./webapprt/gtk2
       1 ./webapprt/gtk2
       1 ./uriloader/exthandler/tests
       1 ./uriloader/exthandler/tests
       1 ./tools/jprof/stub
       1 ./tools/jprof/stub
       1 ./toolkit/system/windowsproxy
       1 ./toolkit/system/windowsproxy
      1 ./toolkit/system/osxproxy
       1 ./toolkit/system/androidproxy
       1 ./toolkit/system/androidproxy
       1 ./toolkit/profile
       1 ./toolkit/profile
Line 415: Line 419:
       1 ./toolkit/components/filepicker
       1 ./toolkit/components/filepicker
       1 ./toolkit/components/diskspacewatcher
       1 ./toolkit/components/diskspacewatcher
      1 ./toolkit/components/ctypes
       1 ./toolkit/components/commandlines
       1 ./toolkit/components/commandlines
       1 ./toolkit/components/build
       1 ./toolkit/components/build
Line 423: Line 428:
       1 ./security/sandbox/linux
       1 ./security/sandbox/linux
       1 ./security/manager/ssl/tests/unit/tlsserver/cmd
       1 ./security/manager/ssl/tests/unit/tlsserver/cmd
      1 ./security/manager/ssl/tests/gtest
       1 ./rdf/util/src
       1 ./rdf/util/src
       1 ./rdf/tests/triplescat
       1 ./rdf/tests/triplescat
Line 430: Line 434:
       1 ./rdf/build
       1 ./rdf/build
       1 ./netwerk/system/win32
       1 ./netwerk/system/win32
      1 ./netwerk/system/mac
       1 ./netwerk/system/android
       1 ./netwerk/system/android
       1 ./netwerk/streamconv/src
       1 ./netwerk/streamconv/src
Line 451: Line 456:
       1 ./media/omx-plugin/gb
       1 ./media/omx-plugin/gb
       1 ./media/omx-plugin/froyo
       1 ./media/omx-plugin/froyo
      1 ./media/omx-plugin
       1 ./media/libspeex_resampler/src
       1 ./media/libspeex_resampler/src
       1 ./media/libcubeb/src
       1 ./media/libcubeb/src
       1 ./js/xpconnect/shell
       1 ./js/src/gdb
       1 ./js/ductwork/debugger
       1 ./js/ductwork/debugger
       1 ./ipc/unixsocket
       1 ./ipc/unixsocket
Line 469: Line 475:
       1 ./image/decoders/icon/qt
       1 ./image/decoders/icon/qt
       1 ./image/decoders/icon/os2
       1 ./image/decoders/icon/os2
      1 ./image/decoders/icon/mac
       1 ./image/decoders/icon/gtk
       1 ./image/decoders/icon/gtk
       1 ./image/decoders/icon/android
       1 ./image/decoders/icon/android
Line 481: Line 488:
       1 ./dom/voicemail
       1 ./dom/voicemail
       1 ./dom/system/windows
       1 ./dom/system/windows
      1 ./dom/system/mac
       1 ./dom/src/offline
       1 ./dom/src/offline
       1 ./dom/src/jsurl
       1 ./dom/src/jsurl
Line 496: Line 504:
       1 ./docshell/build
       1 ./docshell/build
       1 ./content/svg/document/src
       1 ./content/svg/document/src
      1 ./config
       1 ./build/win32/vmwarerecordinghelper
       1 ./build/win32/vmwarerecordinghelper
       1 ./build/win32/crashinjectdll
       1 ./build/win32/crashinjectdll
      1 ./build/win32
       1 ./build/unix/stdc++compat
       1 ./build/unix/stdc++compat
       1 ./browser/metro/shell/testing
       1 ./browser/metro/shell/testing

Revision as of 22:11, 17 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

To avoid stepping on each other's toes while porting, please update this table when you start on porting a new source directory to UNIFIED_SOURCES, and remove it when it's landed.

Directory Status Owner Bug
content/canvas/src in progress bjacob bug 937886
gfx/layers in progress bjacob bug 938970
content/svg in progress ehsan bug 937908
layout/svg in progress ehsan bug 938864

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