1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2# vim: set filetype=python:
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7include("/ipc/chromium/chromium-config.mozbuild")
8
9if CONFIG["OS_TARGET"] != "WINNT":
10
11    if CONFIG["OS_TARGET"] != "Android":
12        SOURCES += [
13            "ice_unittest.cpp",
14        ]
15
16    SOURCES += [
17        "buffered_stun_socket_unittest.cpp",
18        "multi_tcp_socket_unittest.cpp",
19        "nrappkit_unittest.cpp",
20        "proxy_tunnel_socket_unittest.cpp",
21        "rlogconnector_unittest.cpp",
22        "runnable_utils_unittest.cpp",
23        "simpletokenbucket_unittest.cpp",
24        "sockettransportservice_unittest.cpp",
25        "stunserver.cpp",
26        "test_nr_socket_ice_unittest.cpp",
27        "test_nr_socket_unittest.cpp",
28        "TestSyncRunnable.cpp",
29        "transport_unittests.cpp",
30        "turn_unittest.cpp",
31        "webrtcproxychannel_unittest.cpp",
32    ]
33
34    if CONFIG["MOZ_SCTP"]:
35        SOURCES += [
36            "sctp_unittest.cpp",
37        ]
38
39
40for var in ("HAVE_STRDUP", "NR_SOCKET_IS_VOID_PTR", "SCTP_DEBUG"):
41    DEFINES[var] = True
42
43if CONFIG["OS_TARGET"] == "Android":
44    DEFINES["LINUX"] = True
45    DEFINES["ANDROID"] = True
46    LOCAL_INCLUDES += [
47        "/dom/media/webrtc/transport/third_party/nrappkit/src/port/android/include",
48    ]
49
50if CONFIG["OS_TARGET"] == "Linux":
51    DEFINES["LINUX"] = True
52    LOCAL_INCLUDES += [
53        "/dom/media/webrtc/transport/third_party/nrappkit/src/port/linux/include",
54    ]
55
56if CONFIG["OS_TARGET"] == "Darwin":
57    LOCAL_INCLUDES += [
58        "/dom/media/webrtc/transport/third_party/nrappkit/src/port/darwin/include",
59    ]
60
61if CONFIG["OS_TARGET"] in ("DragonFly", "FreeBSD", "NetBSD", "OpenBSD"):
62    if CONFIG["OS_TARGET"] == "Darwin":
63        DEFINES["DARWIN"] = True
64    else:
65        DEFINES["BSD"] = True
66    LOCAL_INCLUDES += [
67        "/dom/media/webrtc/transport/third_party/nrappkit/src/port/darwin/include",
68    ]
69
70# SCTP DEFINES
71if CONFIG["OS_TARGET"] == "WINNT":
72    DEFINES["WIN"] = True
73    # for stun.h
74    DEFINES["WIN32"] = True
75    DEFINES["__Userspace_os_Windows"] = 1
76else:
77    # Works for Darwin, Linux, Android. Probably doesn't work for others.
78    DEFINES["__Userspace_os_%s" % CONFIG["OS_TARGET"]] = 1
79
80if CONFIG["OS_TARGET"] in ("Darwin", "Android"):
81    DEFINES["GTEST_USE_OWN_TR1_TUPLE"] = 1
82
83LOCAL_INCLUDES += [
84    "/dom/media/webrtc/transport/",
85    "/dom/media/webrtc/transport/third_party/",
86    "/dom/media/webrtc/transport/third_party/nICEr/src/crypto",
87    "/dom/media/webrtc/transport/third_party/nICEr/src/ice",
88    "/dom/media/webrtc/transport/third_party/nICEr/src/net",
89    "/dom/media/webrtc/transport/third_party/nICEr/src/stun",
90    "/dom/media/webrtc/transport/third_party/nICEr/src/util",
91    "/dom/media/webrtc/transport/third_party/nrappkit/src/event",
92    "/dom/media/webrtc/transport/third_party/nrappkit/src/log",
93    "/dom/media/webrtc/transport/third_party/nrappkit/src/plugin",
94    "/dom/media/webrtc/transport/third_party/nrappkit/src/port/generic/include",
95    "/dom/media/webrtc/transport/third_party/nrappkit/src/registry",
96    "/dom/media/webrtc/transport/third_party/nrappkit/src/share",
97    "/dom/media/webrtc/transport/third_party/nrappkit/src/stats",
98    "/dom/media/webrtc/transport/third_party/nrappkit/src/util/",
99    "/dom/media/webrtc/transport/third_party/nrappkit/src/util/libekr",
100    "/netwerk/sctp/src/",
101    "/xpcom/tests/",
102]
103
104FINAL_LIBRARY = "xul-gtest"
105
106if CONFIG["CC_TYPE"] in ("clang", "gcc"):
107    CXXFLAGS += ["-Wno-error=shadow"]
108