Files
tubestation/mozglue/baseprofiler/moz.build
Nazım Can Altınova 3c32b37bd4 Bug 1964113 - Remove LUL from the baseprofiler r=mstange,profiler-reviewers
Apparently native stackwalking on linux was removed in Bug 1658232. And after
that patch we never had LUL in the baseprofiler. So this patch removes the
copy of the LUL code that we don't use.

Differential Revision: https://phabricator.services.mozilla.com/D247642
2025-05-05 09:11:28 +00:00

126 lines
4.0 KiB
Python

# -*- 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/.
# This is pretty much a copy from tools/profiler, cut down to exclude anything
# that cannot work in mozglue (because they are totally dependent on libxul-
# specific code).
# All exported headers now prefixed with "Base" to avoid #include name clashes.
if CONFIG["MOZ_GECKO_PROFILER"]:
DEFINES["IMPL_MFBT"] = True
EXPORTS += [
"public/BaseProfilingStack.h",
]
UNIFIED_SOURCES += [
"core/PageInformation.cpp",
"core/platform.cpp",
"core/ProfileBuffer.cpp",
"core/ProfileBufferEntry.cpp",
"core/ProfiledThreadData.cpp",
"core/ProfileJSONWriter.cpp",
"core/ProfilerBacktrace.cpp",
"core/ProfilerMarkers.cpp",
"core/ProfilingCategory.cpp",
"core/ProfilingStack.cpp",
"core/RegisteredThread.cpp",
]
if CONFIG["OS_TARGET"] in ("Android", "Linux", "FreeBSD"):
# These files cannot be built in unified mode because of name clashes with mozglue headers on Android.
SOURCES += [
"core/shared-libraries-linux.cc",
]
if CONFIG["TARGET_CPU"] == "arm" and CONFIG["OS_TARGET"] != "FreeBSD":
SOURCES += [
"core/EHABIStackWalk.cpp",
]
elif CONFIG["OS_TARGET"] == "Darwin":
UNIFIED_SOURCES += [
"core/shared-libraries-macos.cc",
]
elif CONFIG["OS_TARGET"] == "WINNT":
SOURCES += [
"core/shared-libraries-win32.cc",
]
LOCAL_INCLUDES += [
"/mozglue/baseprofiler/core/",
"/mozglue/linker",
]
if CONFIG["OS_TARGET"] == "Android":
DEFINES["ANDROID_NDK_MAJOR_VERSION"] = CONFIG["ANDROID_NDK_MAJOR_VERSION"]
DEFINES["ANDROID_NDK_MINOR_VERSION"] = CONFIG["ANDROID_NDK_MINOR_VERSION"]
GeneratedFile(
"public/ProfilingCategoryList.h",
script="build/generate_profiling_categories.py",
entry_point="generate_macro_header",
inputs=["build/profiling_categories.yaml"],
)
EXPORTS += [
"!public/ProfilingCategoryList.h",
"public/BaseProfiler.h",
"public/BaseProfilingCategory.h",
"public/SharedLibraries.h",
]
EXPORTS.mozilla += [
"public/BaseAndGeckoProfilerDetail.h",
"public/BaseProfileJSONWriter.h",
"public/BaseProfilerCounts.h",
"public/BaseProfilerDetail.h",
"public/BaseProfilerLabels.h",
"public/BaseProfilerMarkers.h",
"public/BaseProfilerMarkersDetail.h",
"public/BaseProfilerMarkersPrerequisites.h",
"public/BaseProfilerMarkerTypes.h",
"public/BaseProfilerRAIIMacro.h",
"public/BaseProfilerState.h",
"public/BaseProfilerUtils.h",
"public/FailureLatch.h",
"public/Flow.h",
"public/leb128iterator.h",
"public/ModuloBuffer.h",
"public/PowerOfTwo.h",
"public/ProfileBufferChunk.h",
"public/ProfileBufferChunkManager.h",
"public/ProfileBufferChunkManagerSingle.h",
"public/ProfileBufferChunkManagerWithLocalLimit.h",
"public/ProfileBufferControlledChunkManager.h",
"public/ProfileBufferEntryKinds.h",
"public/ProfileBufferEntrySerialization.h",
"public/ProfileBufferIndex.h",
"public/ProfileChunkedBuffer.h",
"public/ProfileChunkedBufferDetail.h",
"public/ProfilerBufferSize.h",
"public/ProgressLogger.h",
"public/ProportionValue.h",
]
UNIFIED_SOURCES += [
"core/BaseAndGeckoProfilerDetail.cpp",
"core/Flow.cpp",
"core/ProfilerUtils.cpp",
]
if CONFIG["MOZ_VTUNE"]:
DEFINES["MOZ_VTUNE_INSTRUMENTATION"] = True
UNIFIED_SOURCES += [
"core/VTuneProfiler.cpp",
]
FINAL_LIBRARY = "mozglue"
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
CXXFLAGS += [
"-Wno-ignored-qualifiers", # due to use of breakpad headers
]
with Files("**"):
BUG_COMPONENT = ("Core", "Gecko Profiler")