# -*- Mode: python; 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 += ['profile/extensions']

GeckoProgram(CONFIG['MOZ_APP_NAME'])

JS_PREFERENCE_PP_FILES += [
    'profile/firefox.js',
]

SOURCES += [
    'nsBrowserApp.cpp',
]

FINAL_TARGET_FILES += ['blocklist.xml']
FINAL_TARGET_FILES.defaults.profile += ['profile/prefs.js']
FINAL_TARGET_FILES.defaults += ['permissions']

DEFINES['APP_VERSION'] = CONFIG['MOZ_APP_VERSION']

LOCAL_INCLUDES += [
    '!/build',
    '/toolkit/xre',
    '/xpcom/base',
    '/xpcom/build',
]

USE_LIBS += [
    'mozglue',
]

if CONFIG['LIBFUZZER']:
  USE_LIBS += [ 'fuzzer' ]

if CONFIG['_MSC_VER']:
    # Always enter a Windows program through wmain, whether or not we're
    # a console application.
    WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup']

if CONFIG['OS_ARCH'] == 'WINNT':
    RCINCLUDE = 'splash.rc'
    DEFINES['MOZ_PHOENIX'] = True

for cdm in CONFIG['MOZ_EME_MODULES']:
    DEFINES['MOZ_%s_EME' % cdm.upper()] = True

if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT':
    # For sandbox includes and the include dependencies those have
    LOCAL_INCLUDES += [
        '/security/sandbox/chromium',
        '/security/sandbox/chromium-shim',
    ]

    USE_LIBS += [
        'sandbox_s',
    ]

    DELAYLOAD_DLLS += [
        'winmm.dll',
        'user32.dll',
    ]

# Control the default heap size.
# This is the heap returned by GetProcessHeap().
# As we use the CRT heap, the default size is too large and wastes VM.
#
# The default heap size is 1MB on Win32.
# The heap will grow if need be.
#
# Set it to 256k.  See bug 127069.
if CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['GNU_CC']:
    LDFLAGS += ['/HEAP:0x40000']

DISABLE_STL_WRAPPING = True

if CONFIG['MOZ_LINKER']:
    OS_LIBS += CONFIG['MOZ_ZLIB_LIBS']

if CONFIG['HAVE_CLOCK_MONOTONIC']:
    OS_LIBS += CONFIG['REALTIME_LIBS']

if CONFIG['MOZ_GPSD']:
    DEFINES['MOZ_GPSD'] = True

for icon in ('firefox', 'document', 'newwindow', 'newtab', 'pbmode'):
    DEFINES[icon.upper() + '_ICO'] = '"%s/dist/branding/%s.ico"' % (
        TOPOBJDIR, icon)