summaryrefslogtreecommitdiffstats
path: root/memory/build/moz.build
blob: da679773308be323a5ca31f3eba78e316cd41dc1 (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
61
62
63
64
65
66
67
68
# -*- 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/.

EXPORTS += [
    "malloc_decls.h",
    "mozjemalloc_types.h",
    "mozmemory.h",
    "mozmemory_utils.h",
    "mozmemory_wrap.h",
    "PHC.h",
]

LIBRARY_DEFINES["MOZ_HAS_MOZGLUE"] = True
DEFINES["MOZ_MEMORY_IMPL"] = True

if CONFIG["MOZ_REPLACE_MALLOC"]:
    EXPORTS += [
        "replace_malloc.h",
        "replace_malloc_bridge.h",
    ]

if CONFIG["MOZ_PHC"]:
    DEFINES["MOZ_PHC"] = True
    UNIFIED_SOURCES += [
        "FdPrintf.cpp",
        # PHC.cpp is #included in mozjemalloc.cpp
    ]

if CONFIG["MOZ_MEMORY"]:
    UNIFIED_SOURCES += [
        "mozjemalloc.cpp",
        "mozmemory_wrap.cpp",
        "Mutex.cpp",
    ]
else:
    UNIFIED_SOURCES += [
        "fallback.cpp",
    ]

if CONFIG["OS_TARGET"] == "Darwin" and (
    CONFIG["MOZ_REPLACE_MALLOC"] or CONFIG["MOZ_MEMORY"]
):
    SOURCES += [
        "zone.c",
    ]

Library("memory")

if CONFIG["OS_TARGET"] == "Android" and CONFIG["CC_TYPE"] == "clang":
    CXXFLAGS += [
        "-Wno-tautological-pointer-compare",
    ]

if CONFIG["MOZ_BUILD_APP"] != "memory":
    FINAL_LIBRARY = "mozglue"

if CONFIG["MOZ_REPLACE_MALLOC_STATIC"]:
    DEFINES["MOZ_REPLACE_MALLOC_STATIC"] = True

DisableStlWrapping()

if CONFIG["CC_TYPE"] == "clang-cl":
    AllowCompilerWarnings()  # workaround for bug 1090497

TEST_DIRS += ["test"]