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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# -*- 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/.
# Build mozglue as a shared lib on Windows, OSX and Android. But not for
# embedders!
# If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
if CONFIG["JS_STANDALONE"] and not CONFIG["MOZ_MEMORY"]:
Library("mozglue")
elif CONFIG["OS_TARGET"] in ("WINNT", "Darwin", "Android"):
SharedLibrary("mozglue")
else:
Library("mozglue")
if CONFIG["OS_TARGET"] == "Android":
LDFLAGS += ["-Wl,--version-script,%s/mozglue.ver" % SRCDIR]
SOURCES += [
"BionicGlue.cpp",
]
if CONFIG["MOZ_ASAN"]:
SOURCES += [
"AsanOptions.cpp",
]
if CONFIG["MOZ_UBSAN"]:
SOURCES += [
"UbsanOptions.cpp",
]
if CONFIG["MOZ_TSAN"]:
SOURCES += [
"TsanOptions.cpp",
]
if CONFIG["OS_TARGET"] == "WINNT":
if CONFIG["MOZ_MEMORY"]:
DEFFILE = "mozglue.def"
OS_LIBS += [
"advapi32",
"user32",
"winmm",
"uuid",
]
# We'll break the DLL blocklist if we immediately load user32.dll.
# For the same reason, we delayload these other DLLs to avoid eager
# dependencies on user32.dll.
DELAYLOAD_DLLS += [
"advapi32.dll",
"dbghelp.dll",
"oleaut32.dll",
"ole32.dll",
"user32.dll",
"version.dll",
"winmm.dll",
]
if CONFIG["MOZ_WIDGET_TOOLKIT"]:
if CONFIG["MOZ_MEMORY"] and FORCE_SHARED_LIB:
pass
# TODO: SHARED_LIBRARY_LIBS go here
else:
# Temporary, until bug 662814 lands
NoVisibilityFlags()
SOURCES += [
"dummy.cpp",
]
if CONFIG["OS_TARGET"] == "WINNT":
LOCAL_INCLUDES += [
"/memory/build",
]
EXPORTS.mozilla += [
"arm.h",
"mips.h",
"ppc.h",
]
if CONFIG["CPU_ARCH"] == "arm":
SOURCES += [
"arm.cpp",
]
if CONFIG["CPU_ARCH"].startswith("mips"):
SOURCES += [
"mips.cpp",
]
if CONFIG["CPU_ARCH"].startswith("ppc"):
SOURCES += [
"ppc.cpp",
]
if CONFIG["MOZ_LINKER"]:
USE_LIBS += [
"zlib",
]
USE_LIBS += [
"mfbt",
]
if CONFIG["OS_ARCH"] == "WINNT":
RCINCLUDE = "/mozglue/mozglue.rc"
if not CONFIG["HAVE_64BIT_BUILD"]:
EXPORTS += [
"IAccessible32.manifest",
]
EXPORTS += [
"IAccessible64.manifest",
]
LIBRARY_DEFINES["IMPL_MFBT"] = True
LIBRARY_DEFINES["MOZ_HAS_MOZGLUE"] = True
if CONFIG["MOZ_LINKER"] and CONFIG["CPU_ARCH"] == "arm":
LDFLAGS += ["-Wl,-version-script,%s/arm-eabi-filter" % SRCDIR]
DIST_INSTALL = True
include("replace_malloc.mozbuild")
|