# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

DIRS += [
    # Depends on NSS and NSPR
    '/security/certverifier',
    # Depends on certverifier
    '/security/apps',
]

# the signing related bits of libmar depend on nss
if CONFIG['MOZ_UPDATER']:
    DIRS += ['/modules/libmar']

DIRS += [
    '/config/external/freetype2',
    '/xpcom',
    '/modules/libpref',
    '/intl',
    '/netwerk',
]

if CONFIG['MOZ_AUTH_EXTENSION']:
    DIRS += ['/extensions/auth']

if CONFIG['MOZ_UPDATER']:
    DIRS += ['/other-licenses/bsdiff']

# Gecko/Core components.

DIRS += [
    '/ipc',
    '/js/ipc',
    '/hal',
    '/js/xpconnect',
    '/intl/chardet',
    '/media/libyuv',
    '/modules/libjar',
    '/storage',
]

if CONFIG['MOZ_PERMISSIONS']:
    DIRS += [
        '/extensions/cookie',
        '/extensions/permissions',
    ]

DIRS += [
    '/rdf',
]

if CONFIG['MOZ_WEBRTC']:
    DIRS += [
        '/media/webrtc',
        '/media/mtransport',
    ]

if CONFIG['ENABLE_TESTS']:
    DIRS += ['/testing/specialpowers']

DIRS += [
    '/testing/gtest',
    '/uriloader',
    '/caps',
    '/parser',
    '/gfx',
    '/image',
    '/dom',
    '/view',
    '/widget',
    '/editor',
    '/layout',
    '/docshell',
    '/embedding',
    '/xpfe/appshell'
]

# This needs to be built after the gfx/ directory
# to ensure all dependencies for skia (e.g. mozalloc, xpcom)
# have been built
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
    DIRS += ['/other-licenses/skia-npapi']

if CONFIG['MOZ_UNIVERSALCHARDET']:
    DIRS += ['/extensions/universalchardet']

if CONFIG['ACCESSIBILITY']:
    DIRS += ['/accessible']
else:
    DIRS += ['/accessible/ipc']

# toolkit

DIRS += [
    '/tools/power',
    '/tools/profiler',
    '/tools/memory-profiler',
    '/xpfe/components',
]

if CONFIG['MOZ_ENABLE_XREMOTE']:
    DIRS += ['/widget/xremoteclient']

if CONFIG['MOZ_SPELLCHECK']:
    DIRS += ['/extensions/spellcheck']

DIRS += [
    '/security/manager',
    '/toolkit',
]

if CONFIG['MOZ_PREF_EXTENSIONS']:
    DIRS += ['/extensions/pref']

DIRS += ['/devtools']

DIRS += [
    '/services',
    '/startupcache',
    '/js/ductwork/debugger',
    '/other-licenses/snappy',
]

if CONFIG['MOZ_GIO_COMPONENT']:
    DIRS += ['/extensions/gio']

DIRS += [
    '/toolkit/library/StaticXULComponentsEnd',
    '/toolkit/library',
]

if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
    DIRS += ['/toolkit/system/gnome']

if CONFIG['ENABLE_MARIONETTE'] or CONFIG['MOZ_WIDGET_TOOLKIT'] not in ('android'):
    DIRS += [
        '/testing/firefox-ui',
        '/testing/marionette',
    ]

DIRS += [
    '/tools/quitter',
]

if CONFIG['MOZ_EME']:
    DIRS += [
    '/media/gmp-clearkey/0.1',
    ]

if CONFIG['ENABLE_TESTS']:
    DIRS += [
        '/testing/mochitest',
        '/testing/xpcshell',
        '/testing/tools/minidumpwriter',
        '/testing/tools/screenshot',
        '/testing/profiles',
        '/testing/mozbase',
        '/testing/modules',
        '/testing/runtimes',
        '/testing/web-platform',
    ]

    if CONFIG['MOZ_MEMORY']:
        DIRS += ['/memory/gtest']

    if CONFIG['MOZ_WEBRTC'] and not CONFIG['MOZ_TASK_TRACER']:
        DIRS += [
            '/media/webrtc/signaling/test',
            '/media/mtransport/test',
        ]

if CONFIG['FUZZING']:
    DIRS += ['/tools/fuzzing']