ipc/app/moz.build
author Gerald Squelart <gsquelart@mozilla.com>
Sun, 27 Mar 2016 19:57:25 +1100
changeset 323692 f0bcd999646ef34545e9c48d206ea8504b468d8c
parent 321379 3a72236db31ef46050582ebc733c9052c1dfa496
child 329005 8f159c5d671e045cecf67b95b1e75b9362937f08
permissions -rw-r--r--
Bug 1259985 - Add missing return after null-check - r=jya a=lizzard MozReview-Commit-ID: 138NM9xTmVA

# -*- 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/.

# Any changes that affect Android need to be made in pie/moz.build as well.

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
    Program(CONFIG['MOZ_CHILD_PROCESS_NAME'])
    SOURCES += [
        'MozillaRuntimeMainAndroid.cpp',
    ]

    DIRS += ['pie']
else:
    kwargs = {
        'linkage': None,
    }
    if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_ARCH'] == 'WINNT' and not CONFIG['MOZ_ASAN']:
        kwargs['msvcrt'] = 'static'
        if not CONFIG['GNU_CC']:
            USE_LIBS += [
                'mozalloc_staticruntime',
            ]
    GeckoProgram(CONFIG['MOZ_CHILD_PROCESS_NAME'], **kwargs)

    SOURCES += [
        'MozillaRuntimeMain.cpp',
    ]
    USE_LIBS += [
        'nspr',
        'xul',
    ]

include('/ipc/chromium/chromium-config.mozbuild')

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

# We link GMPLoader into plugin-container on desktop so that its code is
# covered by the desktop DRM vendor's voucher.
if CONFIG['OS_TARGET'] != 'Android':
    SOURCES += [
        '../../dom/media/gmp/GMPLoader.cpp',
    ]

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 += [
        'rlz',
    ]

    if CONFIG['MOZ_ASAN']:
        USE_LIBS += [
            'sandbox_s',
        ]
    else:
        USE_LIBS += [
            'sandbox_staticruntime_s',
        ]

    DELAYLOAD_DLLS += [
        'nss3.dll',
        'xul.dll'
    ]

    DEFINES['HASH_NODE_ID_WITH_DEVICE_ID'] = 1;
    SOURCES += [
        'sha256.c',
    ]

if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_TARGET'] in ('Linux', 'Android'):
    USE_LIBS += [
        'mozsandbox',
    ]

    # gcc lto likes to put the top level asm in syscall.cc in a different partition
    # from the function using it which breaks the build.  Work around that by
    # forcing there to be only one partition.
    if '-flto' in CONFIG['OS_CXXFLAGS'] and not CONFIG['CLANG_CXX']:
        LDFLAGS += ['--param lto-partitions=1']

if CONFIG['MOZ_SANDBOX'] and CONFIG['OS_TARGET'] == 'Darwin':
    # For sandbox includes and the include dependencies those have
    LOCAL_INCLUDES += [
        '/security/sandbox/chromium',
        '/security/sandbox/chromium-shim',
    ]
    USE_LIBS += [
        'mozsandbox',
        'rlz',
    ]

    DEFINES['HASH_NODE_ID_WITH_DEVICE_ID'] = 1;
    SOURCES += [
        'sha256.c',
    ]

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

LDFLAGS += CONFIG['MOZ_ALLOW_HEAP_EXECUTE_FLAGS']

# 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']

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
    OS_LIBS += [
        'binder',
        'utils',
    ]

if CONFIG['GNU_CXX']:
    CXXFLAGS += ['-Wshadow']