summaryrefslogtreecommitdiffstats
path: root/js/xpconnect/shell/moz.build
blob: ecc796f7ff28f32e5392526a4e2d2770d2f4edb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# -*- 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/.

GeckoProgram('xpcshell', linkage='dependent')

if CONFIG['COMPILE_ENVIRONMENT']:
    SDK_FILES.bin += [
        '!xpcshell%s' % CONFIG['BIN_SUFFIX'],
    ]

SOURCES += [
    'xpcshell.cpp',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    SOURCES += [
        'xpcshellMacUtils.mm',
    ]

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

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

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

# DELAYLOAD_DLLS in this block ensure that the DLL blocklist initializes
if CONFIG['OS_ARCH'] == 'WINNT':
    RCINCLUDE = 'xpcshell.rc'

    if CONFIG['MOZ_SANDBOX']:
        # 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',
        ]

    DELAYLOAD_DLLS += [
        'xul.dll',
    ]

CFLAGS += CONFIG['TK_CFLAGS']
CXXFLAGS += CONFIG['TK_CFLAGS']
OS_LIBS += CONFIG['TK_LIBS']