Bug 1825336 - Make toolkit/components/url-classifier/ buildable outside of a unified...
[gecko.git] / hal / moz.build
blob97955bde5aa93a4959216b161855a7a321291eb0
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/.
7 with Files("**"):
8     BUG_COMPONENT = ("Core", "Hardware Abstraction Layer (HAL)")
10 EXPORTS.mozilla += [
11     "Hal.h",
12     "HalBatteryInformation.h",
13     "HalImpl.h",
14     "HalIPCUtils.h",
15     "HalNetworkInformation.h",
16     "HalSandbox.h",
17     "HalScreenConfiguration.h",
18     "HalSensor.h",
19     "HalTypes.h",
20     "HalWakeLock.h",
21     "HalWakeLockInformation.h",
24 UNIFIED_SOURCES += [
25     "HalWakeLock.cpp",
26     "sandbox/SandboxHal.cpp",
27     "WindowIdentifier.cpp",
30 # Hal.cpp cannot be built in unified mode because it relies on HalImpl.h.
31 SOURCES += [
32     "Hal.cpp",
35 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
36     LOCAL_INCLUDES += [
37         "/widget/android",
38     ]
39     UNIFIED_SOURCES += [
40         "android/AndroidProcessPriority.cpp",
41         "android/AndroidSensor.cpp",
42     ]
43     # AndroidHal.cpp cannot be built in unified mode because it relies on HalImpl.h.
44     SOURCES += [
45         "android/AndroidHal.cpp",
46     ]
47 elif CONFIG["OS_TARGET"] == "Linux":
49     UNIFIED_SOURCES += [
50         "fallback/FallbackScreenConfiguration.cpp",
51         "fallback/FallbackSensor.cpp",
52         "fallback/FallbackVibration.cpp",
53         "linux/LinuxProcessPriority.cpp",
54     ]
55     if CONFIG["MOZ_ENABLE_DBUS"]:
56         UNIFIED_SOURCES += [
57             "linux/UPowerClient.cpp",
58         ]
59     else:
60         UNIFIED_SOURCES += [
61             "fallback/FallbackBattery.cpp",
62         ]
63 elif CONFIG["OS_TARGET"] == "WINNT":
64     REQUIRES_UNIFIED_BUILD = True
65     UNIFIED_SOURCES += [
66         "fallback/FallbackVibration.cpp",
67         "windows/WindowsSensor.cpp",
68     ]
69     # WindowsBattery.cpp cannot be built in unified mode because it relies on HalImpl.h.
70     # WindowsProcessPriority.cpp needs to set _WIN32_WINNT to Windows 8
71     # WindowsScreenConfiguration.cpp needs to set WINVER to 0x0602.
72     SOURCES += [
73         "windows/WindowsBattery.cpp",
74         "windows/WindowsProcessPriority.cpp",
75         "windows/WindowsScreenConfiguration.cpp",
76     ]
77 elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
78     UNIFIED_SOURCES += [
79         "cocoa/CocoaBattery.cpp",
80         "fallback/FallbackProcessPriority.cpp",
81         "fallback/FallbackScreenConfiguration.cpp",
82         "fallback/FallbackVibration.cpp",
83     ]
84 elif CONFIG["OS_TARGET"] in ("OpenBSD", "NetBSD", "FreeBSD", "DragonFly"):
85     UNIFIED_SOURCES += [
86         "fallback/FallbackProcessPriority.cpp",
87         "fallback/FallbackScreenConfiguration.cpp",
88         "fallback/FallbackSensor.cpp",
89         "fallback/FallbackVibration.cpp",
90     ]
91     if CONFIG["MOZ_ENABLE_DBUS"]:
92         UNIFIED_SOURCES += [
93             "linux/UPowerClient.cpp",
94         ]
95     else:
96         UNIFIED_SOURCES += [
97             "fallback/FallbackBattery.cpp",
98         ]
99 else:
100     UNIFIED_SOURCES += [
101         "fallback/FallbackBattery.cpp",
102         "fallback/FallbackProcessPriority.cpp",
103         "fallback/FallbackScreenConfiguration.cpp",
104         "fallback/FallbackSensor.cpp",
105         "fallback/FallbackVibration.cpp",
106     ]
108 # Fallbacks for backends implemented on Android only.
109 if CONFIG["MOZ_WIDGET_TOOLKIT"] != "android":
110     UNIFIED_SOURCES += [
111         "fallback/FallbackNetwork.cpp",
112     ]
114 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
115     UNIFIED_SOURCES += [
116         "cocoa/CocoaSensor.mm",
117         "cocoa/smslib.mm",
118     ]
120 IPDL_SOURCES = [
121     "sandbox/PHal.ipdl",
124 include("/ipc/chromium/chromium-config.mozbuild")
126 FINAL_LIBRARY = "xul"
128 LOCAL_INCLUDES += [
129     "/dom/base",
132 CFLAGS += CONFIG["GLIB_CFLAGS"]
133 CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
134 CFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
135 CXXFLAGS += CONFIG["GLIB_CFLAGS"]
136 CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
137 CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]