diff options
Diffstat (limited to 'mozglue/misc/moz.build')
-rw-r--r-- | mozglue/misc/moz.build | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/mozglue/misc/moz.build b/mozglue/misc/moz.build new file mode 100644 index 0000000000..2e6669c2bf --- /dev/null +++ b/mozglue/misc/moz.build @@ -0,0 +1,156 @@ +# -*- 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/. + +FINAL_LIBRARY = "mozglue" + +EXPORTS.mozilla += [ + "AutoProfilerLabel.h", + "AwakeTimeStamp.h", + "decimal/Decimal.h", + "decimal/DoubleConversion.h", + "IntegerPrintfMacros.h", + "MmapFaultHandler.h", + "PlatformConditionVariable.h", + "PlatformMutex.h", + "PlatformRWLock.h", + "Printf.h", + "SIMD.h", + "Sprintf.h", + "SSE.h", + "StackWalk.h", + "TimeStamp.h", + "Uptime.h", +] + +EXPORTS.mozilla.glue += [ + "Debug.h", + "WinUtils.h", +] + +if CONFIG["OS_ARCH"] == "WINNT": + EXPORTS.mozilla += [ + "GetKnownFolderPath.h", + "PreXULSkeletonUI.h", + "StackWalk_windows.h", + "StackWalkThread.h", + "TimeStamp_windows.h", + "WindowsDpiAwareness.h", + ] + +SOURCES += [ + "AutoProfilerLabel.cpp", + "AwakeTimeStamp.cpp", + "MmapFaultHandler.cpp", + "Printf.cpp", + "SIMD.cpp", + "StackWalk.cpp", + "TimeStamp.cpp", + "Uptime.cpp", +] + +if CONFIG["CPU_ARCH"].startswith("x86"): + SOURCES += [ + "SIMD_avx2.cpp", + "SSE.cpp", + ] + SOURCES["SIMD_avx2.cpp"].flags += ["-mavx2"] + +if not CONFIG["JS_STANDALONE"]: + EXPORTS.mozilla += [ + "ProcessType.h", + "RuntimeExceptionModule.h", + ] + + SOURCES += [ + "ProcessType.cpp", + "RuntimeExceptionModule.cpp", + ] + +OS_LIBS += CONFIG["REALTIME_LIBS"] + +if CONFIG["OS_ARCH"] == "WINNT": + EXPORTS.mozilla += [ + "DynamicallyLinkedFunctionPtr.h", + "ImportDir.h", + "NativeNt.h", + "WindowsDpiInitialization.h", + "WindowsEnumProcessModules.h", + "WindowsMapRemoteView.h", + "WindowsProcessMitigations.h", + "WindowsStackCookie.h", + "WindowsUnwindInfo.h", + ] + EXPORTS.mozilla.glue += [ + "WindowsUnicode.h", + ] + SOURCES += [ + "GetKnownFolderPath.cpp", + "TimeStamp_windows.cpp", + "WindowsDllMain.cpp", + "WindowsDpiInitialization.cpp", + "WindowsMapRemoteView.cpp", + "WindowsProcessMitigations.cpp", + "WindowsUnicode.cpp", + ] + + OS_LIBS += [ + "dbghelp", + "oleaut32", + "ole32", + ] + + if not CONFIG["JS_STANDALONE"]: + SOURCES += [ + "/ipc/mscom/COMWrappers.cpp", + "/ipc/mscom/ProcessRuntime.cpp", + "PreXULSkeletonUI.cpp", + ] + +elif CONFIG["HAVE_CLOCK_MONOTONIC"]: + SOURCES += [ + "TimeStamp_posix.cpp", + ] +elif CONFIG["OS_ARCH"] == "Darwin": + SOURCES += [ + "TimeStamp_darwin.cpp", + ] +elif CONFIG["COMPILE_ENVIRONMENT"]: + error("No TimeStamp implementation on this platform. Build will not succeed") + +if CONFIG["OS_ARCH"] == "WINNT": + SOURCES += [ + "ConditionVariable_windows.cpp", + "Mutex_windows.cpp", + "RWLock_windows.cpp", + ] +# WASI hasn't supported cond vars and mutexes yet so noop implementation is used. +elif CONFIG["OS_ARCH"] == "WASI": + SOURCES += [ + "ConditionVariable_noop.cpp", + "Mutex_noop.cpp", + ] +else: + SOURCES += [ + "ConditionVariable_posix.cpp", + "Mutex_posix.cpp", + "RWLock_posix.cpp", + ] + +if CONFIG["MOZ_LINKER"] and CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": + LOCAL_INCLUDES += [ + "/mozglue/linker", + ] + +SOURCES += [ + "decimal/Decimal.cpp", +] + +if CONFIG["CC_TYPE"] in ("clang", "clang-cl"): + # Suppress warnings from third-party V8 Decimal code. + SOURCES["decimal/Decimal.cpp"].flags += ["-Wno-implicit-fallthrough"] + +for var in ("MOZ_APP_BASENAME", "MOZ_APP_VENDOR"): + DEFINES[var] = '"%s"' % CONFIG[var] |