From 4c793126b7856fad18518cd94cebe4f53095dd57 Mon Sep 17 00:00:00 2001 From: zhiguo-rbs Date: Sat, 18 Oct 2025 20:45:07 +0800 Subject: [PATCH 01/15] update --- .bazelrc | 1 + .bazelversion | 1 + .gitignore | 4 + BUILD.bazel | 25 +- MODULE.bazel | 108 +----- MODULE.bazel.lock | 851 ---------------------------------------------- test/BUILD.bazel | 60 +--- 7 files changed, 42 insertions(+), 1008 deletions(-) create mode 100644 .bazelversion delete mode 100644 MODULE.bazel.lock diff --git a/.bazelrc b/.bazelrc index 4650ed79..e3eb701f 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,3 +1,4 @@ test --strip=never test --test_output=all test --copt=-g +test --copt=-O0 diff --git a/.bazelversion b/.bazelversion new file mode 100644 index 00000000..f4131375 --- /dev/null +++ b/.bazelversion @@ -0,0 +1 @@ +8.4.1 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 0195c425..16c5ef96 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,7 @@ bazel-*/ cmake-build-*/ test/jank/data + +# bazel out +bazel-* +MODULE.bazel.lock diff --git a/BUILD.bazel b/BUILD.bazel index 0aead564..2ebe8f09 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,26 +1,15 @@ +load("@rules_cc//cc:defs.bzl", "cc_library") + cc_library( name = "cpptrace", srcs = glob([ "src/**/*.hpp", "src/**/*.cpp", ]), - local_defines = [ - "CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF", - "CPPTRACE_DEMANGLE_WITH_CXXABI", - "CPPTRACE_UNWIND_WITH_LIBUNWIND" - ], hdrs = glob([ "include/cpptrace/*.hpp", "include/ctrace/*.h", ]), - includes = [ - "include", - "src" - ], - deps = [ - "@libdwarf//:libdwarf", - "@libunwind//:libunwind" - ], copts = [ "-Wall", "-Wextra", @@ -28,7 +17,15 @@ cc_library( "-Wundef", "-Wuninitialized", "-fPIC", - "-std=c++11" + "-std=c++11", + ], + includes = [ + "include", + "src", ], visibility = ["//visibility:public"], + deps = [ + "@libdwarf", + "@libunwind", + ], ) diff --git a/MODULE.bazel b/MODULE.bazel index d2a952ce..ebaab2e7 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -1,104 +1,12 @@ +"""cpptrace""" + module( name = "cpptrace", + version = "1.0.4", + compatibility_level = 1, + bazel_compatibility = [">=8.0.0"], ) -bazel_dep(name = "googletest", version = "1.14.0") -bazel_dep(name = "bazel_skylib", version = "1.7.1") -bazel_dep(name = "rules_foreign_cc", version = "0.11.1") -bazel_dep(name = "zstd", version = "1.5.6") -bazel_dep(name = "zlib", version = "1.3.1") -bazel_dep(name = "xz", version = "5.4.5.bcr.2") -bazel_dep(name = "toolchains_llvm", version = "1.1.2") - -# Configure and register the toolchain. -llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency = True) - -llvm.toolchain( - llvm_versions = { - "": "18.1.8", - }, - sha256 = { - "": "54ec30358afcc9fb8aa74307db3046f5187f9fb89fb37064cdde906e062ebf36", - }, - strip_prefix = { - "": "clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-18.04", - }, - urls = { - "": ["https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-18.04.tar.xz"], - }, -) - -use_repo(llvm, "llvm_toolchain") - -register_toolchains("@llvm_toolchain//:all", dev_dependency = True) - -http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -http_archive( - name = "libdwarf", - build_file_content = - """ -package(default_visibility = ["//visibility:public"]) -load("@rules_foreign_cc//foreign_cc:defs.bzl", "cmake") - -filegroup( - name = "sources", - srcs = glob(["**/*"]), -) -cmake( - name = "libdwarf", - build_args = ["-j12"], - lib_source = ":sources", - out_static_libs = ["libdwarf.a"], - copts = ["-Wall", "-Werror"], - deps = [ - "@zstd", - "@zlib" - ] -) -""", - sha256 = "4ab8ae7b4b7aa42453725054b348f4fdb2460d5ba644199a1305311c718ff416", - strip_prefix = "libdwarf-code-0.10.1", - url = "https://github.com/davea42/libdwarf-code/archive/refs/tags/v0.10.1.tar.gz", -) - - - -http_archive( - name = "libunwind", - build_file_content = - """ -package(default_visibility = ["//visibility:public"]) -load("@rules_foreign_cc//foreign_cc:defs.bzl", "configure_make") - -filegroup( - name = "sources", - srcs = glob(["**/*"]), -) -configure_make( - name = "libunwind", - args = ["-j12"], - autoreconf = True, - configure_in_place = True, - autoreconf_options = [ - "-i", - ], - lib_source = ":sources", - out_static_libs = [ - "libunwind.a", - "libunwind-coredump.a", - "libunwind-ptrace.a", - "libunwind-x86_64.a", - "libunwind-generic.a", - "libunwind-setjmp.a" - ], - deps = [ - "@xz//:lzma" - ] -) -""", - sha256 = "38833b7b1582db7d76485a62a213706c9252b3dab7380069fea5824e823d8e41", - strip_prefix = "libunwind-1.8.1", - url = "https://github.com/libunwind/libunwind/archive/refs/tags/v1.8.1.tar.gz", -) - +bazel_dep(name = "rules_cc", version = "0.2.8") +bazel_dep(name = "libdwarf", version = "0.12.0.bcr.1") +bazel_dep(name = "libunwind", version = "1.8.1") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock deleted file mode 100644 index 0957599c..00000000 --- a/MODULE.bazel.lock +++ /dev/null @@ -1,851 +0,0 @@ -{ - "lockFileVersion": 11, - "registryFileHashes": { - "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", - "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", - "https://bcr.bazel.build/modules/abseil-cpp/20211102.0/MODULE.bazel": "70390338f7a5106231d20620712f7cccb659cd0e9d073d1991c038eb9fc57589", - "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/MODULE.bazel": "89047429cb0207707b2dface14ba7f8df85273d484c2572755be4bab7ce9c3a0", - "https://bcr.bazel.build/modules/abseil-cpp/20230125.1/source.json": "06cc0842d241da0c5edc755edb3c7d0d008d304330e57ecf2d6449fb0b633a82", - "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel": "50341a62efbc483e8a2a6aec30994a58749bd7b885e18dd96aa8c33031e558ef", - "https://bcr.bazel.build/modules/apple_support/1.5.0/source.json": "eb98a7627c0bc486b57f598ad8da50f6625d974c8f723e9ea71bd39f709c9862", - "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", - "https://bcr.bazel.build/modules/bazel_features/1.11.0/source.json": "c9320aa53cd1c441d24bd6b716da087ad7e4ff0d9742a9884587596edfe53015", - "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", - "https://bcr.bazel.build/modules/bazel_skylib/1.2.1/MODULE.bazel": "f35baf9da0efe45fa3da1696ae906eea3d615ad41e2e3def4aeb4e8bc0ef9a7a", - "https://bcr.bazel.build/modules/bazel_skylib/1.3.0/MODULE.bazel": "20228b92868bf5cfc41bda7afc8a8ba2a543201851de39d990ec957b513579c5", - "https://bcr.bazel.build/modules/bazel_skylib/1.4.1/MODULE.bazel": "a0dcb779424be33100dcae821e9e27e4f2901d9dfd5333efe5ac6a8d7ab75e1d", - "https://bcr.bazel.build/modules/bazel_skylib/1.5.0/MODULE.bazel": "32880f5e2945ce6a03d1fbd588e9198c0a959bb42297b2cfaf1685b7bc32e138", - "https://bcr.bazel.build/modules/bazel_skylib/1.6.1/MODULE.bazel": "8fdee2dbaace6c252131c00e1de4b165dc65af02ea278476187765e1a617b917", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", - "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/source.json": "f121b43eeefc7c29efbd51b83d08631e2347297c95aac9764a701f2a6a2bb953", - "https://bcr.bazel.build/modules/buildozer/7.1.2/MODULE.bazel": "2e8dd40ede9c454042645fd8d8d0cd1527966aa5c919de86661e62953cd73d84", - "https://bcr.bazel.build/modules/buildozer/7.1.2/source.json": "c9028a501d2db85793a6996205c8de120944f50a0d570438fcae0457a5f9d1f8", - "https://bcr.bazel.build/modules/googletest/1.11.0/MODULE.bazel": "3a83f095183f66345ca86aa13c58b59f9f94a2f81999c093d4eeaa2d262d12f4", - "https://bcr.bazel.build/modules/googletest/1.14.0/MODULE.bazel": "cfbcbf3e6eac06ef9d85900f64424708cc08687d1b527f0ef65aa7517af8118f", - "https://bcr.bazel.build/modules/googletest/1.14.0/source.json": "2478949479000fdd7de9a3d0107ba2c85bb5f961c3ecb1aa448f52549ce310b5", - "https://bcr.bazel.build/modules/platforms/0.0.4/MODULE.bazel": "9b328e31ee156f53f3c416a64f8491f7eb731742655a47c9eec4703a71644aee", - "https://bcr.bazel.build/modules/platforms/0.0.5/MODULE.bazel": "5733b54ea419d5eaf7997054bb55f6a1d0b5ff8aedf0176fef9eea44f3acda37", - "https://bcr.bazel.build/modules/platforms/0.0.6/MODULE.bazel": "ad6eeef431dc52aefd2d77ed20a4b353f8ebf0f4ecdd26a807d2da5aa8cd0615", - "https://bcr.bazel.build/modules/platforms/0.0.7/MODULE.bazel": "72fd4a0ede9ee5c021f6a8dd92b503e089f46c227ba2813ff183b71616034814", - "https://bcr.bazel.build/modules/platforms/0.0.8/MODULE.bazel": "9f142c03e348f6d263719f5074b21ef3adf0b139ee4c5133e2aa35664da9eb2d", - "https://bcr.bazel.build/modules/platforms/0.0.9/MODULE.bazel": "4a87a60c927b56ddd67db50c89acaa62f4ce2a1d2149ccb63ffd871d5ce29ebc", - "https://bcr.bazel.build/modules/platforms/0.0.9/source.json": "cd74d854bf16a9e002fb2ca7b1a421f4403cda29f824a765acd3a8c56f8d43e6", - "https://bcr.bazel.build/modules/protobuf/21.7/MODULE.bazel": "a5a29bb89544f9b97edce05642fac225a808b5b7be74038ea3640fae2f8e66a7", - "https://bcr.bazel.build/modules/protobuf/21.7/source.json": "bbe500720421e582ff2d18b0802464205138c06056f443184de39fbb8187b09b", - "https://bcr.bazel.build/modules/protobuf/3.19.0/MODULE.bazel": "6b5fbb433f760a99a22b18b6850ed5784ef0e9928a72668b66e4d7ccd47db9b0", - "https://bcr.bazel.build/modules/protobuf/3.19.6/MODULE.bazel": "9233edc5e1f2ee276a60de3eaa47ac4132302ef9643238f23128fea53ea12858", - "https://bcr.bazel.build/modules/rules_cc/0.0.1/MODULE.bazel": "cb2aa0747f84c6c3a78dad4e2049c154f08ab9d166b1273835a8174940365647", - "https://bcr.bazel.build/modules/rules_cc/0.0.2/MODULE.bazel": "6915987c90970493ab97393024c156ea8fb9f3bea953b2f3ec05c34f19b5695c", - "https://bcr.bazel.build/modules/rules_cc/0.0.6/MODULE.bazel": "abf360251023dfe3efcef65ab9d56beefa8394d4176dd29529750e1c57eaa33f", - "https://bcr.bazel.build/modules/rules_cc/0.0.8/MODULE.bazel": "964c85c82cfeb6f3855e6a07054fdb159aced38e99a5eecf7bce9d53990afa3e", - "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel": "836e76439f354b89afe6a911a7adf59a6b2518fafb174483ad78a2a2fde7b1c5", - "https://bcr.bazel.build/modules/rules_cc/0.0.9/source.json": "1f1ba6fea244b616de4a554a0f4983c91a9301640c8fe0dd1d410254115c8430", - "https://bcr.bazel.build/modules/rules_foreign_cc/0.11.1/MODULE.bazel": "beeb0dd8d488d3cff57fa12ab3378051a7299aa9de2476d61c1d46f664d6398d", - "https://bcr.bazel.build/modules/rules_foreign_cc/0.11.1/source.json": "be2106be697115c10c03c6505a07bd4e259719c6608f08a61d600a560b8cf172", - "https://bcr.bazel.build/modules/rules_java/4.0.0/MODULE.bazel": "5a78a7ae82cd1a33cef56dc578c7d2a46ed0dca12643ee45edbb8417899e6f74", - "https://bcr.bazel.build/modules/rules_java/7.6.5/MODULE.bazel": "481164be5e02e4cab6e77a36927683263be56b7e36fef918b458d7a8a1ebadb1", - "https://bcr.bazel.build/modules/rules_java/7.6.5/source.json": "a805b889531d1690e3c72a7a7e47a870d00323186a9904b36af83aa3d053ee8d", - "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", - "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/source.json": "a075731e1b46bc8425098512d038d416e966ab19684a10a34f4741295642fc35", - "https://bcr.bazel.build/modules/rules_license/0.0.3/MODULE.bazel": "627e9ab0247f7d1e05736b59dbb1b6871373de5ad31c3011880b4133cafd4bd0", - "https://bcr.bazel.build/modules/rules_license/0.0.7/MODULE.bazel": "088fbeb0b6a419005b89cf93fe62d9517c0a2b8bb56af3244af65ecfe37e7d5d", - "https://bcr.bazel.build/modules/rules_license/0.0.7/source.json": "355cc5737a0f294e560d52b1b7a6492d4fff2caf0bef1a315df5a298fca2d34a", - "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", - "https://bcr.bazel.build/modules/rules_pkg/0.7.0/source.json": "c2557066e0c0342223ba592510ad3d812d4963b9024831f7f66fd0584dd8c66c", - "https://bcr.bazel.build/modules/rules_proto/4.0.0/MODULE.bazel": "a7a7b6ce9bee418c1a760b3d84f83a299ad6952f9903c67f19e4edd964894e06", - "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/MODULE.bazel": "e8dff86b0971688790ae75528fe1813f71809b5afd57facb44dad9e8eca631b7", - "https://bcr.bazel.build/modules/rules_proto/5.3.0-21.7/source.json": "d57902c052424dfda0e71646cb12668d39c4620ee0544294d9d941e7d12bc3a9", - "https://bcr.bazel.build/modules/rules_python/0.10.2/MODULE.bazel": "cc82bc96f2997baa545ab3ce73f196d040ffb8756fd2d66125a530031cd90e5f", - "https://bcr.bazel.build/modules/rules_python/0.22.1/MODULE.bazel": "26114f0c0b5e93018c0c066d6673f1a2c3737c7e90af95eff30cfee38d0bbac7", - "https://bcr.bazel.build/modules/rules_python/0.23.1/MODULE.bazel": "49ffccf0511cb8414de28321f5fcf2a31312b47c40cc21577144b7447f2bf300", - "https://bcr.bazel.build/modules/rules_python/0.23.1/source.json": "a6d9965700e3bd75df4e19140c0e651851bb720d8b9eb280ecd1ee44b92d7646", - "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel": "9208ee05fd48bf09ac60ed269791cf17fb343db56c8226a720fbb1cdf467166c", - "https://bcr.bazel.build/modules/stardoc/0.5.1/MODULE.bazel": "1a05d92974d0c122f5ccf09291442580317cdd859f07a8655f1db9a60374f9f8", - "https://bcr.bazel.build/modules/stardoc/0.5.1/source.json": "a96f95e02123320aa015b956f29c00cb818fa891ef823d55148e1a362caacf29", - "https://bcr.bazel.build/modules/toolchains_llvm/1.1.2/MODULE.bazel": "402101d6f73115ec49a3a765a3361c1dd90ba3959fa688ccdcd465c36dbbbc52", - "https://bcr.bazel.build/modules/toolchains_llvm/1.1.2/source.json": "27f3cf531bc654c719b50411cac94613b7676d63e60962243d485af63e13b9ff", - "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", - "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/source.json": "f1ef7d3f9e0e26d4b23d1c39b5f5de71f584dd7d1b4ef83d9bbba6ec7a6a6459", - "https://bcr.bazel.build/modules/xz/5.4.5.bcr.2/MODULE.bazel": "463976fb85f578a2535421ba4c38fe90657ab348e4b5d5404b75c061602705d0", - "https://bcr.bazel.build/modules/xz/5.4.5.bcr.2/source.json": "e735da8a3f396bf200ed06c585f670f7667e08c4e1ed2849bae7c2691bcb10cf", - "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", - "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/MODULE.bazel": "af322bc08976524477c79d1e45e241b6efbeb918c497e8840b8ab116802dda79", - "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.3/source.json": "2be409ac3c7601245958cd4fcdff4288be79ed23bd690b4b951f500d54ee6e7d", - "https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198", - "https://bcr.bazel.build/modules/zstd/1.5.6/MODULE.bazel": "471ebe7d3cdd8c6469390fcf623eb4779ff55fbee0a87f1dc57a1def468b96d4", - "https://bcr.bazel.build/modules/zstd/1.5.6/source.json": "02010c3333fc89b44fe861db049968decb6e688411f7f9d4f6791d74f9adfb51" - }, - "selectedYankedVersions": {}, - "moduleExtensions": { - "@@apple_support~//crosstool:setup.bzl%apple_cc_configure_extension": { - "general": { - "bzlTransitiveDigest": "PjIds3feoYE8SGbbIq2SFTZy3zmxeO2tQevJZNDo7iY=", - "usagesDigest": "aLmqbvowmHkkBPve05yyDNGN7oh7QE9kBADr3QIZTZs=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "local_config_apple_cc": { - "bzlFile": "@@apple_support~//crosstool:setup.bzl", - "ruleClassName": "_apple_cc_autoconf", - "attributes": {} - }, - "local_config_apple_cc_toolchains": { - "bzlFile": "@@apple_support~//crosstool:setup.bzl", - "ruleClassName": "_apple_cc_autoconf_toolchains", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [ - [ - "apple_support~", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@platforms//host:extension.bzl%host_platform": { - "general": { - "bzlTransitiveDigest": "xelQcPZH8+tmuOHVjL9vDxMnnQNMlwj0SlvgoqBkm4U=", - "usagesDigest": "meSzxn3DUCcYEhq4HQwExWkWtU4EjriRBQLsZN+Q0SU=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "host_platform": { - "bzlFile": "@@platforms//host:extension.bzl", - "ruleClassName": "host_platform_repo", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [] - } - }, - "@@rules_foreign_cc~//foreign_cc:extensions.bzl%tools": { - "general": { - "bzlTransitiveDigest": "5Xt39wqg6Xufojy5gN4ke9V2Mv5ANvdeLlAL1hp6+ic=", - "usagesDigest": "WnYOMrYXMz7KcDu0mMpDP5Eue8sHuFMA1dmDT6I124Q=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "cmake-3.23.2-linux-aarch64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-linux-aarch64.tar.gz" - ], - "sha256": "f2654bf780b53f170bbbec44d8ac67d401d24788e590faa53036a89476efa91e", - "strip_prefix": "cmake-3.23.2-linux-aarch64", - "build_file_content": "load(\"@rules_foreign_cc//toolchains/native_tools:native_tools_toolchain.bzl\", \"native_tool_toolchain\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nfilegroup(\n name = \"cmake_bin\",\n srcs = [\"bin/cmake\"],\n)\n\nfilegroup(\n name = \"cmake_data\",\n srcs = glob(\n [\n \"**\",\n ],\n exclude = [\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"**/* *\",\n ],\n ),\n)\n\nnative_tool_toolchain(\n name = \"cmake_tool\",\n path = \"bin/cmake\",\n target = \":cmake_data\",\n env = {\"CMAKE\": \"$(execpath :cmake_bin)\"},\n tools = [\":cmake_bin\"],\n)\n" - } - }, - "rules_foreign_cc_framework_toolchain_macos": { - "bzlFile": "@@rules_foreign_cc~//foreign_cc/private/framework:toolchain.bzl", - "ruleClassName": "framework_toolchain_repository", - "attributes": { - "commands_src": "@rules_foreign_cc//foreign_cc/private/framework/toolchains:macos_commands.bzl", - "exec_compatible_with": [ - "@platforms//os:macos" - ] - } - }, - "ninja_1.12.0_mac": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/ninja-build/ninja/releases/download/v1.12.0/ninja-mac.zip" - ], - "sha256": "19806019c9623a062c3d9fa0d5f45b633a3d150f88e73fbd6c0ff6ea5534df10", - "strip_prefix": "", - "build_file_content": "load(\"@rules_foreign_cc//toolchains/native_tools:native_tools_toolchain.bzl\", \"native_tool_toolchain\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nfilegroup(\n name = \"ninja_bin\",\n srcs = [\"ninja\"],\n)\n\nnative_tool_toolchain(\n name = \"ninja_tool\",\n env = {\"NINJA\": \"$(execpath :ninja_bin)\"},\n path = \"$(execpath :ninja_bin)\",\n target = \":ninja_bin\",\n)\n" - } - }, - "ninja_1.12.0_mac_aarch64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/ninja-build/ninja/releases/download/v1.12.0/ninja-mac.zip" - ], - "sha256": "19806019c9623a062c3d9fa0d5f45b633a3d150f88e73fbd6c0ff6ea5534df10", - "strip_prefix": "", - "build_file_content": "load(\"@rules_foreign_cc//toolchains/native_tools:native_tools_toolchain.bzl\", \"native_tool_toolchain\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nfilegroup(\n name = \"ninja_bin\",\n srcs = [\"ninja\"],\n)\n\nnative_tool_toolchain(\n name = \"ninja_tool\",\n env = {\"NINJA\": \"$(execpath :ninja_bin)\"},\n path = \"$(execpath :ninja_bin)\",\n target = \":ninja_bin\",\n)\n" - } - }, - "gnumake_src": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "build_file_content": "filegroup(\n name = \"all_srcs\",\n srcs = glob([\"**\"]),\n visibility = [\"//visibility:public\"],\n)\n", - "sha256": "dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3", - "strip_prefix": "make-4.4.1", - "urls": [ - "https://mirror.bazel.build/ftpmirror.gnu.org/gnu/make/make-4.4.1.tar.gz", - "http://ftpmirror.gnu.org/gnu/make/make-4.4.1.tar.gz" - ] - } - }, - "gettext_runtime": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "build_file_content": "\ncc_import(\n name = \"gettext_runtime\",\n shared_library = \"bin/libintl-8.dll\",\n visibility = [\"//visibility:public\"],\n)\n ", - "sha256": "1f4269c0e021076d60a54e98da6f978a3195013f6de21674ba0edbc339c5b079", - "urls": [ - "https://mirror.bazel.build/download.gnome.org/binaries/win64/dependencies/gettext-runtime_0.18.1.1-2_win64.zip", - "https://download.gnome.org/binaries/win64/dependencies/gettext-runtime_0.18.1.1-2_win64.zip" - ] - } - }, - "cmake_src": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "build_file_content": "filegroup(\n name = \"all_srcs\",\n srcs = glob([\"**\"]),\n visibility = [\"//visibility:public\"],\n)\n", - "sha256": "f316b40053466f9a416adf981efda41b160ca859e97f6a484b447ea299ff26aa", - "strip_prefix": "cmake-3.23.2", - "urls": [ - "https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2.tar.gz" - ], - "patches": [ - "@@rules_foreign_cc~//toolchains:cmake-c++11.patch" - ] - } - }, - "bazel_skylib": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz", - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.2.1/bazel-skylib-1.2.1.tar.gz" - ], - "sha256": "f7be3474d42aae265405a592bb7da8e171919d74c16f082a5457840f06054728" - } - }, - "cmake-3.23.2-macos-universal": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-macos-universal.tar.gz" - ], - "sha256": "853a0f9af148c5ef47282ffffee06c4c9f257be2635936755f39ca13c3286c88", - "strip_prefix": "cmake-3.23.2-macos-universal/CMake.app/Contents", - "build_file_content": "load(\"@rules_foreign_cc//toolchains/native_tools:native_tools_toolchain.bzl\", \"native_tool_toolchain\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nfilegroup(\n name = \"cmake_bin\",\n srcs = [\"bin/cmake\"],\n)\n\nfilegroup(\n name = \"cmake_data\",\n srcs = glob(\n [\n \"**\",\n ],\n exclude = [\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"**/* *\",\n ],\n ),\n)\n\nnative_tool_toolchain(\n name = \"cmake_tool\",\n path = \"bin/cmake\",\n target = \":cmake_data\",\n env = {\"CMAKE\": \"$(execpath :cmake_bin)\"},\n tools = [\":cmake_bin\"],\n)\n" - } - }, - "ninja_1.12.0_win": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/ninja-build/ninja/releases/download/v1.12.0/ninja-win.zip" - ], - "sha256": "51d99be9ceea8835edf536d52d47fa4c316aa332e57f71a08df5bd059da11417", - "strip_prefix": "", - "build_file_content": "load(\"@rules_foreign_cc//toolchains/native_tools:native_tools_toolchain.bzl\", \"native_tool_toolchain\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nfilegroup(\n name = \"ninja_bin\",\n srcs = [\"ninja.exe\"],\n)\n\nnative_tool_toolchain(\n name = \"ninja_tool\",\n env = {\"NINJA\": \"$(execpath :ninja_bin)\"},\n path = \"$(execpath :ninja_bin)\",\n target = \":ninja_bin\",\n)\n" - } - }, - "meson_src": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "build_file_content": "exports_files([\"meson.py\"])\n\nfilegroup(\n name = \"runtime\",\n srcs = glob([\"mesonbuild/**\"]),\n visibility = [\"//visibility:public\"],\n)\n", - "sha256": "d04b541f97ca439fb82fab7d0d480988be4bd4e62563a5ca35fadb5400727b1c", - "strip_prefix": "meson-1.1.1", - "urls": [ - "https://mirror.bazel.build/github.com/mesonbuild/meson/releases/download/1.1.1/meson-1.1.1.tar.gz", - "https://github.com/mesonbuild/meson/releases/download/1.1.1/meson-1.1.1.tar.gz" - ] - } - }, - "rules_foreign_cc_framework_toolchain_freebsd": { - "bzlFile": "@@rules_foreign_cc~//foreign_cc/private/framework:toolchain.bzl", - "ruleClassName": "framework_toolchain_repository", - "attributes": { - "commands_src": "@rules_foreign_cc//foreign_cc/private/framework/toolchains:freebsd_commands.bzl", - "exec_compatible_with": [ - "@platforms//os:freebsd" - ] - } - }, - "rules_foreign_cc_framework_toolchain_linux": { - "bzlFile": "@@rules_foreign_cc~//foreign_cc/private/framework:toolchain.bzl", - "ruleClassName": "framework_toolchain_repository", - "attributes": { - "commands_src": "@rules_foreign_cc//foreign_cc/private/framework/toolchains:linux_commands.bzl", - "exec_compatible_with": [ - "@platforms//os:linux" - ] - } - }, - "rules_python": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "sha256": "84aec9e21cc56fbc7f1335035a71c850d1b9b5cc6ff497306f84cced9a769841", - "strip_prefix": "rules_python-0.23.1", - "url": "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.23.1.tar.gz" - } - }, - "pkgconfig_src": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "build_file_content": "filegroup(\n name = \"all_srcs\",\n srcs = glob([\"**\"]),\n visibility = [\"//visibility:public\"],\n)\n", - "sha256": "6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591", - "strip_prefix": "pkg-config-0.29.2", - "patches": [ - "@@rules_foreign_cc~//toolchains:pkgconfig-detectenv.patch", - "@@rules_foreign_cc~//toolchains:pkgconfig-makefile-vc.patch", - "@@rules_foreign_cc~//toolchains:pkgconfig-builtin-glib-int-conversion.patch" - ], - "urls": [ - "https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz", - "https://mirror.bazel.build/pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz" - ] - } - }, - "ninja_build_src": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "build_file_content": "filegroup(\n name = \"all_srcs\",\n srcs = glob([\"**\"]),\n visibility = [\"//visibility:public\"],\n)\n", - "integrity": "sha256-iyyGzUg9x/y3l1xexzKRNdIQCZqJvH2wWQoHsLv+SaU=", - "strip_prefix": "ninja-1.12.0", - "urls": [ - "https://mirror.bazel.build/github.com/ninja-build/ninja/archive/v1.12.0.tar.gz", - "https://github.com/ninja-build/ninja/archive/v1.12.0.tar.gz" - ] - } - }, - "glib_src": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "build_file_content": "\ncc_import(\n name = \"msvc_hdr\",\n hdrs = [\"msvc_recommended_pragmas.h\"],\n visibility = [\"//visibility:public\"],\n)\n ", - "sha256": "bc96f63112823b7d6c9f06572d2ad626ddac7eb452c04d762592197f6e07898e", - "strip_prefix": "glib-2.26.1", - "urls": [ - "https://mirror.bazel.build/download.gnome.org/sources/glib/2.26/glib-2.26.1.tar.gz", - "https://download.gnome.org/sources/glib/2.26/glib-2.26.1.tar.gz" - ] - } - }, - "cmake-3.23.2-windows-x86_64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-windows-x86_64.zip" - ], - "sha256": "2329387f3166b84c25091c86389fb891193967740c9bcf01e7f6d3306f7ffda0", - "strip_prefix": "cmake-3.23.2-windows-x86_64", - "build_file_content": "load(\"@rules_foreign_cc//toolchains/native_tools:native_tools_toolchain.bzl\", \"native_tool_toolchain\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nfilegroup(\n name = \"cmake_bin\",\n srcs = [\"bin/cmake.exe\"],\n)\n\nfilegroup(\n name = \"cmake_data\",\n srcs = glob(\n [\n \"**\",\n ],\n exclude = [\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"**/* *\",\n ],\n ),\n)\n\nnative_tool_toolchain(\n name = \"cmake_tool\",\n path = \"bin/cmake.exe\",\n target = \":cmake_data\",\n env = {\"CMAKE\": \"$(execpath :cmake_bin)\"},\n tools = [\":cmake_bin\"],\n)\n" - } - }, - "glib_runtime": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "build_file_content": "\nexports_files(\n [\n \"bin/libgio-2.0-0.dll\",\n \"bin/libglib-2.0-0.dll\",\n \"bin/libgmodule-2.0-0.dll\",\n \"bin/libgobject-2.0-0.dll\",\n \"bin/libgthread-2.0-0.dll\",\n ],\n visibility = [\"//visibility:public\"],\n)\n ", - "sha256": "88d857087e86f16a9be651ee7021880b3f7ba050d34a1ed9f06113b8799cb973", - "urls": [ - "https://mirror.bazel.build/download.gnome.org/binaries/win64/glib/2.26/glib_2.26.1-1_win64.zip", - "https://download.gnome.org/binaries/win64/glib/2.26/glib_2.26.1-1_win64.zip" - ] - } - }, - "rules_foreign_cc_framework_toolchains": { - "bzlFile": "@@rules_foreign_cc~//foreign_cc/private/framework:toolchain.bzl", - "ruleClassName": "framework_toolchain_repository_hub", - "attributes": {} - }, - "glib_dev": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "build_file_content": "\nload(\"@rules_cc//cc:defs.bzl\", \"cc_library\")\n\ncc_import(\n name = \"glib_dev\",\n hdrs = glob([\"include/**\"]),\n shared_library = \"@glib_runtime//:bin/libglib-2.0-0.dll\",\n visibility = [\"//visibility:public\"],\n)\n ", - "sha256": "bdf18506df304d38be98a4b3f18055b8b8cca81beabecad0eece6ce95319c369", - "urls": [ - "https://mirror.bazel.build/download.gnome.org/binaries/win64/glib/2.26/glib-dev_2.26.1-1_win64.zip", - "https://download.gnome.org/binaries/win64/glib/2.26/glib-dev_2.26.1-1_win64.zip" - ] - } - }, - "cmake_3.23.2_toolchains": { - "bzlFile": "@@rules_foreign_cc~//toolchains:prebuilt_toolchains_repository.bzl", - "ruleClassName": "prebuilt_toolchains_repository", - "attributes": { - "repos": { - "cmake-3.23.2-linux-aarch64": [ - "@platforms//cpu:aarch64", - "@platforms//os:linux" - ], - "cmake-3.23.2-linux-x86_64": [ - "@platforms//cpu:x86_64", - "@platforms//os:linux" - ], - "cmake-3.23.2-macos-universal": [ - "@platforms//os:macos" - ], - "cmake-3.23.2-windows-i386": [ - "@platforms//cpu:x86_32", - "@platforms//os:windows" - ], - "cmake-3.23.2-windows-x86_64": [ - "@platforms//cpu:x86_64", - "@platforms//os:windows" - ] - }, - "tool": "cmake" - } - }, - "ninja_1.12.0_linux-aarch64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/ninja-build/ninja/releases/download/v1.12.0/ninja-linux-aarch64.zip" - ], - "sha256": "375a49c79095334c88338ff15f90730e08a4d03997ef660f48f11ee7e450db7a", - "strip_prefix": "", - "build_file_content": "load(\"@rules_foreign_cc//toolchains/native_tools:native_tools_toolchain.bzl\", \"native_tool_toolchain\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nfilegroup(\n name = \"ninja_bin\",\n srcs = [\"ninja\"],\n)\n\nnative_tool_toolchain(\n name = \"ninja_tool\",\n env = {\"NINJA\": \"$(execpath :ninja_bin)\"},\n path = \"$(execpath :ninja_bin)\",\n target = \":ninja_bin\",\n)\n" - } - }, - "cmake-3.23.2-windows-i386": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-windows-i386.zip" - ], - "sha256": "6a4fcd6a2315b93cb23c93507efccacc30c449c2bf98f14d6032bb226c582e07", - "strip_prefix": "cmake-3.23.2-windows-i386", - "build_file_content": "load(\"@rules_foreign_cc//toolchains/native_tools:native_tools_toolchain.bzl\", \"native_tool_toolchain\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nfilegroup(\n name = \"cmake_bin\",\n srcs = [\"bin/cmake.exe\"],\n)\n\nfilegroup(\n name = \"cmake_data\",\n srcs = glob(\n [\n \"**\",\n ],\n exclude = [\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"**/* *\",\n ],\n ),\n)\n\nnative_tool_toolchain(\n name = \"cmake_tool\",\n path = \"bin/cmake.exe\",\n target = \":cmake_data\",\n env = {\"CMAKE\": \"$(execpath :cmake_bin)\"},\n tools = [\":cmake_bin\"],\n)\n" - } - }, - "ninja_1.12.0_linux": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/ninja-build/ninja/releases/download/v1.12.0/ninja-linux.zip" - ], - "sha256": "ddc96efa3c7c9d41de733d15e2eda07a8a212555cb43f35d727e080d2ca687ab", - "strip_prefix": "", - "build_file_content": "load(\"@rules_foreign_cc//toolchains/native_tools:native_tools_toolchain.bzl\", \"native_tool_toolchain\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nfilegroup(\n name = \"ninja_bin\",\n srcs = [\"ninja\"],\n)\n\nnative_tool_toolchain(\n name = \"ninja_tool\",\n env = {\"NINJA\": \"$(execpath :ninja_bin)\"},\n path = \"$(execpath :ninja_bin)\",\n target = \":ninja_bin\",\n)\n" - } - }, - "cmake-3.23.2-linux-x86_64": { - "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", - "ruleClassName": "http_archive", - "attributes": { - "urls": [ - "https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-linux-x86_64.tar.gz" - ], - "sha256": "aaced6f745b86ce853661a595bdac6c5314a60f8181b6912a0a4920acfa32708", - "strip_prefix": "cmake-3.23.2-linux-x86_64", - "build_file_content": "load(\"@rules_foreign_cc//toolchains/native_tools:native_tools_toolchain.bzl\", \"native_tool_toolchain\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\nfilegroup(\n name = \"cmake_bin\",\n srcs = [\"bin/cmake\"],\n)\n\nfilegroup(\n name = \"cmake_data\",\n srcs = glob(\n [\n \"**\",\n ],\n exclude = [\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"**/* *\",\n ],\n ),\n)\n\nnative_tool_toolchain(\n name = \"cmake_tool\",\n path = \"bin/cmake\",\n target = \":cmake_data\",\n env = {\"CMAKE\": \"$(execpath :cmake_bin)\"},\n tools = [\":cmake_bin\"],\n)\n" - } - }, - "ninja_1.12.0_toolchains": { - "bzlFile": "@@rules_foreign_cc~//toolchains:prebuilt_toolchains_repository.bzl", - "ruleClassName": "prebuilt_toolchains_repository", - "attributes": { - "repos": { - "ninja_1.12.0_linux": [ - "@platforms//cpu:x86_64", - "@platforms//os:linux" - ], - "ninja_1.12.0_linux-aarch64": [ - "@platforms//cpu:aarch64", - "@platforms//os:linux" - ], - "ninja_1.12.0_mac": [ - "@platforms//cpu:x86_64", - "@platforms//os:macos" - ], - "ninja_1.12.0_mac_aarch64": [ - "@platforms//cpu:aarch64", - "@platforms//os:macos" - ], - "ninja_1.12.0_win": [ - "@platforms//cpu:x86_64", - "@platforms//os:windows" - ] - }, - "tool": "ninja" - } - }, - "rules_foreign_cc_framework_toolchain_windows": { - "bzlFile": "@@rules_foreign_cc~//foreign_cc/private/framework:toolchain.bzl", - "ruleClassName": "framework_toolchain_repository", - "attributes": { - "commands_src": "@rules_foreign_cc//foreign_cc/private/framework/toolchains:windows_commands.bzl", - "exec_compatible_with": [ - "@platforms//os:windows" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_foreign_cc~", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_foreign_cc~", - "rules_foreign_cc", - "rules_foreign_cc~" - ] - ] - } - }, - "@@rules_python~//python/extensions:python.bzl%python": { - "general": { - "bzlTransitiveDigest": "XaaZIw4dO4l6naftU5IBdrfCE1mOmelaT/Sq9uyBnhs=", - "usagesDigest": "XRXGQ1YSlgZzzO0pux+3DEHfP/c70L/kznvRIwakvlw=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "python_3_11_aarch64-unknown-linux-gnu": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "debf15783bdcb5530504f533d33fda75a7b905cec5361ae8f33da5ba6599f8b4", - "patches": [], - "platform": "aarch64-unknown-linux-gnu", - "python_version": "3.11.1", - "release_filename": "20230116/cpython-3.11.1+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-aarch64-unknown-linux-gnu-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - }, - "python_3_9": { - "bzlFile": "@@rules_python~//python/private:toolchains_repo.bzl", - "ruleClassName": "toolchain_aliases", - "attributes": { - "python_version": "3.9.16", - "user_repository_name": "python_3_9" - } - }, - "python_3_11_aarch64-apple-darwin": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "4918cdf1cab742a90f85318f88b8122aeaa2d04705803c7b6e78e81a3dd40f80", - "patches": [], - "platform": "aarch64-apple-darwin", - "python_version": "3.11.1", - "release_filename": "20230116/cpython-3.11.1+20230116-aarch64-apple-darwin-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-aarch64-apple-darwin-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - }, - "pythons_hub": { - "bzlFile": "@@rules_python~//python/extensions/private:pythons_hub.bzl", - "ruleClassName": "hub_repo", - "attributes": { - "toolchain_prefixes": [ - "_0000_python_3_9_", - "_0001_python_3_11_" - ], - "toolchain_python_versions": [ - "3.9", - "3.11" - ], - "toolchain_set_python_version_constraints": [ - "True", - "False" - ], - "toolchain_user_repository_names": [ - "python_3_9", - "python_3_11" - ] - } - }, - "python_3_11_x86_64-pc-windows-msvc": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "edc08979cb0666a597466176511529c049a6f0bba8adf70df441708f766de5bf", - "patches": [], - "platform": "x86_64-pc-windows-msvc", - "python_version": "3.11.1", - "release_filename": "20230116/cpython-3.11.1+20230116-x86_64-pc-windows-msvc-shared-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-x86_64-pc-windows-msvc-shared-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - }, - "python_3_9_aarch64-apple-darwin": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "c1de1d854717a6245f45262ef1bb17b09e2c587590e7e3f406593c143ff875bd", - "patches": [], - "platform": "aarch64-apple-darwin", - "python_version": "3.9.16", - "release_filename": "20230507/cpython-3.9.16+20230507-aarch64-apple-darwin-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230507/cpython-3.9.16+20230507-aarch64-apple-darwin-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - }, - "python_3_9_x86_64-pc-windows-msvc": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "cdabb47204e96ce7ea31fbd0b5ed586114dd7d8f8eddf60a509a7f70b48a1c5e", - "patches": [], - "platform": "x86_64-pc-windows-msvc", - "python_version": "3.9.16", - "release_filename": "20230507/cpython-3.9.16+20230507-x86_64-pc-windows-msvc-shared-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230507/cpython-3.9.16+20230507-x86_64-pc-windows-msvc-shared-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - }, - "python_3_9_ppc64le-unknown-linux-gnu": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "ff3ac35c58f67839aff9b5185a976abd3d1abbe61af02089f7105e876c1fe284", - "patches": [], - "platform": "ppc64le-unknown-linux-gnu", - "python_version": "3.9.16", - "release_filename": "20230507/cpython-3.9.16+20230507-ppc64le-unknown-linux-gnu-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230507/cpython-3.9.16+20230507-ppc64le-unknown-linux-gnu-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - }, - "python_3_9_aarch64-unknown-linux-gnu": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "f629b75ebfcafe9ceee2e796b7e4df5cf8dbd14f3c021afca078d159ab797acf", - "patches": [], - "platform": "aarch64-unknown-linux-gnu", - "python_version": "3.9.16", - "release_filename": "20230507/cpython-3.9.16+20230507-aarch64-unknown-linux-gnu-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230507/cpython-3.9.16+20230507-aarch64-unknown-linux-gnu-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - }, - "python_aliases": { - "bzlFile": "@@rules_python~//python/private:toolchains_repo.bzl", - "ruleClassName": "multi_toolchain_aliases", - "attributes": { - "python_versions": { - "3.9": "python_3_9", - "3.11": "python_3_11" - } - } - }, - "python_3_11": { - "bzlFile": "@@rules_python~//python/private:toolchains_repo.bzl", - "ruleClassName": "toolchain_aliases", - "attributes": { - "python_version": "3.11.1", - "user_repository_name": "python_3_11" - } - }, - "python_3_11_x86_64-apple-darwin": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "20a4203d069dc9b710f70b09e7da2ce6f473d6b1110f9535fb6f4c469ed54733", - "patches": [], - "platform": "x86_64-apple-darwin", - "python_version": "3.11.1", - "release_filename": "20230116/cpython-3.11.1+20230116-x86_64-apple-darwin-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-x86_64-apple-darwin-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - }, - "python_3_9_x86_64-apple-darwin": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "3abc4d5fbbc80f5f848f280927ac5d13de8dc03aabb6ae65d8247cbb68e6f6bf", - "patches": [], - "platform": "x86_64-apple-darwin", - "python_version": "3.9.16", - "release_filename": "20230507/cpython-3.9.16+20230507-x86_64-apple-darwin-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230507/cpython-3.9.16+20230507-x86_64-apple-darwin-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - }, - "python_3_9_x86_64-unknown-linux-gnu": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "2b6e146234a4ef2a8946081fc3fbfffe0765b80b690425a49ebe40b47c33445b", - "patches": [], - "platform": "x86_64-unknown-linux-gnu", - "python_version": "3.9.16", - "release_filename": "20230507/cpython-3.9.16+20230507-x86_64-unknown-linux-gnu-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230507/cpython-3.9.16+20230507-x86_64-unknown-linux-gnu-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - }, - "python_3_11_x86_64-unknown-linux-gnu": { - "bzlFile": "@@rules_python~//python:repositories.bzl", - "ruleClassName": "python_repository", - "attributes": { - "sha256": "02a551fefab3750effd0e156c25446547c238688a32fabde2995c941c03a6423", - "patches": [], - "platform": "x86_64-unknown-linux-gnu", - "python_version": "3.11.1", - "release_filename": "20230116/cpython-3.11.1+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz", - "urls": [ - "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1+20230116-x86_64-unknown-linux-gnu-install_only.tar.gz" - ], - "distutils_content": "", - "strip_prefix": "python", - "ignore_root_user_error": false - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_python~", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@toolchains_llvm~//toolchain/extensions:llvm.bzl%llvm": { - "general": { - "bzlTransitiveDigest": "y9h5L2NtWbogyWSOJgqnUaU50MTPWAW+waelXSirMVg=", - "usagesDigest": "cWIs+RUBBwv1tE2cNVULmSLCA/wGvHWaQzdrujSEO74=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "llvm_toolchain": { - "bzlFile": "@@toolchains_llvm~//toolchain:rules.bzl", - "ruleClassName": "toolchain", - "attributes": { - "absolute_paths": false, - "archive_flags": {}, - "compile_flags": {}, - "coverage_compile_flags": {}, - "coverage_link_flags": {}, - "cxx_builtin_include_directories": {}, - "cxx_flags": {}, - "cxx_standard": {}, - "dbg_compile_flags": {}, - "exec_arch": "", - "exec_os": "", - "link_flags": {}, - "link_libs": {}, - "llvm_versions": { - "": "18.1.8" - }, - "opt_compile_flags": {}, - "opt_link_flags": {}, - "stdlib": {}, - "target_settings": {}, - "unfiltered_compile_flags": {}, - "toolchain_roots": {}, - "sysroot": {} - } - }, - "llvm_toolchain_llvm": { - "bzlFile": "@@toolchains_llvm~//toolchain:rules.bzl", - "ruleClassName": "llvm", - "attributes": { - "alternative_llvm_sources": [], - "auth_patterns": {}, - "distribution": "auto", - "exec_arch": "", - "exec_os": "", - "llvm_mirror": "", - "llvm_version": "", - "llvm_versions": { - "": "18.1.8" - }, - "netrc": "", - "sha256": { - "": "54ec30358afcc9fb8aa74307db3046f5187f9fb89fb37064cdde906e062ebf36" - }, - "strip_prefix": { - "": "clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-18.04" - }, - "urls": { - "": [ - "https://github.com/llvm/llvm-project/releases/download/llvmorg-18.1.8/clang+llvm-18.1.8-x86_64-linux-gnu-ubuntu-18.04.tar.xz" - ] - } - } - } - }, - "recordedRepoMappingEntries": [ - [ - "toolchains_llvm~", - "bazel_skylib", - "bazel_skylib~" - ], - [ - "toolchains_llvm~", - "bazel_tools", - "bazel_tools" - ], - [ - "toolchains_llvm~", - "toolchains_llvm", - "toolchains_llvm~" - ] - ] - } - } - } -} diff --git a/test/BUILD.bazel b/test/BUILD.bazel index 049317b7..4d931730 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -1,55 +1,29 @@ +load("@rules_cc//cc:defs.bzl", "cc_test") + cc_test( name = "unittest", - deps = [ - "//:cpptrace", - "@googletest//:gtest", - "@googletest//:gtest_main" - ], srcs = [ + "unit/internals/general.cpp", + "unit/internals/optional.cpp", + "unit/internals/result.cpp", + "unit/internals/string_utils.cpp", + "unit/lib/formatting.cpp", + "unit/lib/nullable.cpp", "unit/main.cpp", "unit/tracing/common.hpp", - "unit/tracing/raw_trace.cpp", + "unit/tracing/from_current.cpp", "unit/tracing/object_trace.cpp", + "unit/tracing/raw_trace.cpp", "unit/tracing/stacktrace.cpp", - "unit/tracing/from_current.cpp", "unit/tracing/traced_exception.cpp", - "unit/internals/optional.cpp", - "unit/internals/result.cpp", - "unit/internals/string_utils.cpp", - "unit/internals/general.cpp", - "unit/lib/formatting.cpp", - "unit/lib/nullable.cpp" ], + linkstatic = 1, local_defines = [ - "CPPTRACE_NO_TEST_SNIPPETS" + "CPPTRACE_NO_TEST_SNIPPETS", + ], + deps = [ + "//:cpptrace", + "@googletest//:gtest", + "@googletest//:gtest_main", ], - linkstatic = 1, ) -# Disabled until https://github.com/bazelbuild/bazel/pull/19940 -# cc_test( -# name = "unittest_module", -# deps = [ -# "//:cpptrace_module", -# "@googletest//:gtest", -# "@googletest//:gtest_main" -# ], -# srcs = [ -# "unit/main.cpp", -# "unit/tracing/common.hpp", -# "unit/tracing/raw_trace.cpp", -# "unit/tracing/object_trace.cpp", -# "unit/tracing/stacktrace.cpp", -# "unit/tracing/from_current.cpp", -# "unit/tracing/traced_exception.cpp", -# "unit/internals/optional.cpp", -# "unit/internals/result.cpp", -# "unit/internals/string_utils.cpp", -# "unit/internals/general.cpp", -# "unit/lib/formatting.cpp", -# "unit/lib/nullable.cpp" -# ], -# local_defines = [ -# "CPPTRACE_NO_TEST_SNIPPETS" -# ], -# linkstatic = 1, -# ) From db091373f65a2e7600371f783dddaec150e6ce02 Mon Sep 17 00:00:00 2001 From: zhiguo Date: Sat, 18 Oct 2025 20:50:11 +0800 Subject: [PATCH 02/15] update --- .bazeliskrc | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .bazeliskrc diff --git a/.bazeliskrc b/.bazeliskrc deleted file mode 100644 index c3270913..00000000 --- a/.bazeliskrc +++ /dev/null @@ -1 +0,0 @@ -USE_BAZEL_VERSION=7.2.1 From ccb9f9c0381fd3a5015adbbc93acc088ebbc6a96 Mon Sep 17 00:00:00 2001 From: zhiguo Date: Sat, 18 Oct 2025 20:51:32 +0800 Subject: [PATCH 03/15] update --- WORKSPACE | 1 - 1 file changed, 1 deletion(-) delete mode 100644 WORKSPACE diff --git a/WORKSPACE b/WORKSPACE deleted file mode 100644 index c3b2501f..00000000 --- a/WORKSPACE +++ /dev/null @@ -1 +0,0 @@ -workspace(name = "cpptrace") From 492f8069ba22e21f621451b0d998eb340fcc2884 Mon Sep 17 00:00:00 2001 From: zhiguo Date: Mon, 20 Oct 2025 15:47:45 +0800 Subject: [PATCH 04/15] support windows --- .bazelrc | 4 ++-- BUILD.bazel | 38 +++++++++++++++++++++++++------------- MODULE.bazel | 3 +++ 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/.bazelrc b/.bazelrc index e3eb701f..0f6a61c2 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,4 +1,4 @@ test --strip=never test --test_output=all -test --copt=-g -test --copt=-O0 +test --copt=/Od +test --copt=/Z7 diff --git a/BUILD.bazel b/BUILD.bazel index 2ebe8f09..535e43ae 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -10,22 +10,34 @@ cc_library( "include/cpptrace/*.hpp", "include/ctrace/*.h", ]), - copts = [ - "-Wall", - "-Wextra", - "-Werror=return-type", - "-Wundef", - "-Wuninitialized", - "-fPIC", - "-std=c++11", - ], + copts = select( + { + "@rules_cc//cc/compiler:msvc-cl": ["/W4", "/permissive-"], + "@rules_cc//cc/compiler:gcc": ["--std=c++11", "-fPIC","-Wall", "-Wextra", "-Werror=return-type", "-Wundef", "-Wuseless-cast", "-Wmaybe-uninitialized"], + "//conditions:default": [], + } + ), + linkopts = select({ + "@platforms//os:windows": ["dbghelp.lib"], + "//conditions:default": [], + }), includes = [ "include", "src", ], + defines = ["CPPTRACE_STATIC_DEFINE"], + local_defines = select({ + "@platforms//os:windows": ["NOMINMAX", "CPPTRACE_DEMANGLE_WITH_WINAPI", "CPPTRACE_GET_SYMBOLS_WITH_DBGHELP", "CPPTRACE_UNWIND_WITH_DBGHELP"], + "@platforms//os:linux": ["CPPTRACE_HAS_DL_FIND_OBJECT", "CPPTRACE_DEMANGLE_WITH_CXXABI", "CPPTRACE_UNWIND_WITH_LIBUNWIND", "CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF"], + "@platforms//os:macos": ["CPPTRACE_HAS_MACH_VM", "CPPTRACE_DEMANGLE_WITH_CXXABI", "CPPTRACE_UNWIND_WITH_LIBUNWIND", "CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF"], + "//conditions:default": [], + }) + select({ + "@rules_cc//cc/compiler:gcc": ["HAS_ATTRIBUTE_PACKED", "CPPTRACE_HAS_CXX_EXCEPTION_TYPE"], + "//conditions:default": [], + }), visibility = ["//visibility:public"], - deps = [ - "@libdwarf", - "@libunwind", - ], + deps = select({ + "@platforms//os:windows": [], + "//conditions:default": ["@libdwarf","@libunwind"], + }), ) diff --git a/MODULE.bazel b/MODULE.bazel index ebaab2e7..a7de6c6f 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -10,3 +10,6 @@ module( bazel_dep(name = "rules_cc", version = "0.2.8") bazel_dep(name = "libdwarf", version = "0.12.0.bcr.1") bazel_dep(name = "libunwind", version = "1.8.1") +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "googletest", version = "1.17.0.bcr.1") +bazel_dep(name = "bazel_skylib", version = "1.8.2") \ No newline at end of file From 7900553b9650c292d1050bd56f0cdc73e5062a03 Mon Sep 17 00:00:00 2001 From: zhiguo Date: Mon, 20 Oct 2025 16:01:44 +0800 Subject: [PATCH 05/15] update --- .bazelrc | 2 -- BUILD.bazel | 59 +++++++++++++++++++++++++++++++++++++----------- MODULE.bazel | 4 ++-- test/BUILD.bazel | 13 +++++++++++ 4 files changed, 61 insertions(+), 17 deletions(-) diff --git a/.bazelrc b/.bazelrc index 0f6a61c2..a797f437 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,4 +1,2 @@ test --strip=never test --test_output=all -test --copt=/Od -test --copt=/Z7 diff --git a/BUILD.bazel b/BUILD.bazel index 535e43ae..b30bdffd 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -12,32 +12,65 @@ cc_library( ]), copts = select( { - "@rules_cc//cc/compiler:msvc-cl": ["/W4", "/permissive-"], - "@rules_cc//cc/compiler:gcc": ["--std=c++11", "-fPIC","-Wall", "-Wextra", "-Werror=return-type", "-Wundef", "-Wuseless-cast", "-Wmaybe-uninitialized"], + "@rules_cc//cc/compiler:msvc-cl": [ + "/W4", + "/permissive-", + ], + "@rules_cc//cc/compiler:gcc": [ + "--std=c++11", + "-fPIC", + "-Wall", + "-Wextra", + "-Werror=return-type", + "-Wundef", + "-Wuseless-cast", + "-Wmaybe-uninitialized", + ], "//conditions:default": [], - } + }, ), - linkopts = select({ - "@platforms//os:windows": ["dbghelp.lib"], - "//conditions:default": [], - }), + defines = ["CPPTRACE_STATIC_DEFINE"], includes = [ "include", "src", ], - defines = ["CPPTRACE_STATIC_DEFINE"], + linkopts = select({ + "@platforms//os:windows": ["dbghelp.lib"], + "//conditions:default": [], + }), local_defines = select({ - "@platforms//os:windows": ["NOMINMAX", "CPPTRACE_DEMANGLE_WITH_WINAPI", "CPPTRACE_GET_SYMBOLS_WITH_DBGHELP", "CPPTRACE_UNWIND_WITH_DBGHELP"], - "@platforms//os:linux": ["CPPTRACE_HAS_DL_FIND_OBJECT", "CPPTRACE_DEMANGLE_WITH_CXXABI", "CPPTRACE_UNWIND_WITH_LIBUNWIND", "CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF"], - "@platforms//os:macos": ["CPPTRACE_HAS_MACH_VM", "CPPTRACE_DEMANGLE_WITH_CXXABI", "CPPTRACE_UNWIND_WITH_LIBUNWIND", "CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF"], + "@platforms//os:windows": [ + "NOMINMAX", + "CPPTRACE_DEMANGLE_WITH_WINAPI", + "CPPTRACE_GET_SYMBOLS_WITH_DBGHELP", + "CPPTRACE_UNWIND_WITH_DBGHELP", + ], + "@platforms//os:linux": [ + "CPPTRACE_HAS_DL_FIND_OBJECT", + "CPPTRACE_DEMANGLE_WITH_CXXABI", + "CPPTRACE_UNWIND_WITH_LIBUNWIND", + "CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF", + ], + "@platforms//os:macos": [ + "CPPTRACE_HAS_MACH_VM", + "CPPTRACE_DEMANGLE_WITH_CXXABI", + "CPPTRACE_UNWIND_WITH_LIBUNWIND", + "CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF", + ], "//conditions:default": [], }) + select({ - "@rules_cc//cc/compiler:gcc": ["HAS_ATTRIBUTE_PACKED", "CPPTRACE_HAS_CXX_EXCEPTION_TYPE"], + "@rules_cc//cc/compiler:gcc": [ + "HAS_ATTRIBUTE_PACKED", + "CPPTRACE_HAS_CXX_EXCEPTION_TYPE", + ], "//conditions:default": [], }), visibility = ["//visibility:public"], deps = select({ "@platforms//os:windows": [], - "//conditions:default": ["@libdwarf","@libunwind"], + "//conditions:default": [ + "@libdwarf", + "@libunwind", + ], }), ) diff --git a/MODULE.bazel b/MODULE.bazel index a7de6c6f..be355230 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -11,5 +11,5 @@ bazel_dep(name = "rules_cc", version = "0.2.8") bazel_dep(name = "libdwarf", version = "0.12.0.bcr.1") bazel_dep(name = "libunwind", version = "1.8.1") bazel_dep(name = "platforms", version = "1.0.0") -bazel_dep(name = "googletest", version = "1.17.0.bcr.1") -bazel_dep(name = "bazel_skylib", version = "1.8.2") \ No newline at end of file +bazel_dep(name = "bazel_skylib", version = "1.8.2") +bazel_dep(name = "googletest", version = "1.17.0.bcr.1", dev_dependency = True) diff --git a/test/BUILD.bazel b/test/BUILD.bazel index 4d931730..195eb43b 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -17,6 +17,19 @@ cc_test( "unit/tracing/stacktrace.cpp", "unit/tracing/traced_exception.cpp", ], + copts = select( + { + "@rules_cc//cc/compiler:msvc-cl": [ + "/Od", + "/Z7", + ], + "@rules_cc//cc/compiler:gcc": [ + "-g", + "-O0", + ], + "//conditions:default": [], + }, + ), linkstatic = 1, local_defines = [ "CPPTRACE_NO_TEST_SNIPPETS", From 9d23a04557f367ff732ab7369e85434a84c95589 Mon Sep 17 00:00:00 2001 From: zhiguo Date: Mon, 20 Oct 2025 17:39:38 +0800 Subject: [PATCH 06/15] update --- BUILD.bazel | 11 +++++++---- test/BUILD.bazel | 3 +-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index b30bdffd..5a7b28fb 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -54,8 +54,8 @@ cc_library( "@platforms//os:macos": [ "CPPTRACE_HAS_MACH_VM", "CPPTRACE_DEMANGLE_WITH_CXXABI", - "CPPTRACE_UNWIND_WITH_LIBUNWIND", "CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF", + "CPPTRACE_UNWIND_WITH_EXECINFO", ], "//conditions:default": [], }) + select({ @@ -67,10 +67,13 @@ cc_library( }), visibility = ["//visibility:public"], deps = select({ - "@platforms//os:windows": [], - "//conditions:default": [ - "@libdwarf", + "@platforms//os:linux": [ "@libunwind", + "@libdwarf", ], + "@platforms//os:macos": [ + "@libdwarf", + ], + "//conditions:default": [], }), ) diff --git a/test/BUILD.bazel b/test/BUILD.bazel index 195eb43b..8e72ca8e 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -23,11 +23,10 @@ cc_test( "/Od", "/Z7", ], - "@rules_cc//cc/compiler:gcc": [ + "//conditions:default": [ "-g", "-O0", ], - "//conditions:default": [], }, ), linkstatic = 1, From 42d2ecfec52c810aefe3e133457946eb0ce196fb Mon Sep 17 00:00:00 2001 From: zhiguo Date: Mon, 20 Oct 2025 17:49:55 +0800 Subject: [PATCH 07/15] update ci --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c11bafdb..a632e93e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -576,7 +576,7 @@ jobs: - uses: actions/checkout@v4 - name: dependencies run: | - sudo apt install -y libtool libncurses5 + sudo apt install -y libtool libncurses5 libc6-dev - name: test dbg run: | bazel test //... -c dbg From 71686d7a695e5576198abd4114a5b0462788d557 Mon Sep 17 00:00:00 2001 From: zhiguo Date: Thu, 23 Oct 2025 15:36:22 +0800 Subject: [PATCH 08/15] dynamic link on windows --- BUILD.bazel | 4 ++++ MODULE.bazel | 7 +++++++ test/BUILD.bazel | 10 ++++++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 5a7b28fb..e39d9d84 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -38,6 +38,10 @@ cc_library( "@platforms//os:windows": ["dbghelp.lib"], "//conditions:default": [], }), + linkstatic = select({ + "@platforms//os:windows": False, + "//conditions:default": True, + }), local_defines = select({ "@platforms//os:windows": [ "NOMINMAX", diff --git a/MODULE.bazel b/MODULE.bazel index be355230..080ec5fb 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -13,3 +13,10 @@ bazel_dep(name = "libunwind", version = "1.8.1") bazel_dep(name = "platforms", version = "1.0.0") bazel_dep(name = "bazel_skylib", version = "1.8.2") bazel_dep(name = "googletest", version = "1.17.0.bcr.1", dev_dependency = True) + +bazel_dep(name = "hedron_compile_commands", dev_dependency = True) +git_override( + module_name = "hedron_compile_commands", + remote = "https://github.com/hedronvision/bazel-compile-commands-extractor.git", + commit = "abb61a688167623088f8768cc9264798df6a9d10", +) \ No newline at end of file diff --git a/test/BUILD.bazel b/test/BUILD.bazel index 8e72ca8e..cb53c0d1 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -29,13 +29,19 @@ cc_test( ], }, ), + data = select({ + "@platforms//os:windows": ["//:cpptrace"], + "//conditions:default": [], + }), linkstatic = 1, local_defines = [ "CPPTRACE_NO_TEST_SNIPPETS", ], deps = [ - "//:cpptrace", "@googletest//:gtest", "@googletest//:gtest_main", - ], + ] + select({ + "@platforms//os:windows": [], + "//conditions:default": ["//:cpptrace"], + }), ) From 1a43cfe4e530c58c09011e97570da53e566b49f4 Mon Sep 17 00:00:00 2001 From: zhiguo Date: Thu, 23 Oct 2025 16:00:54 +0800 Subject: [PATCH 09/15] update --- test/BUILD.bazel | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/test/BUILD.bazel b/test/BUILD.bazel index cb53c0d1..55754137 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -29,10 +29,6 @@ cc_test( ], }, ), - data = select({ - "@platforms//os:windows": ["//:cpptrace"], - "//conditions:default": [], - }), linkstatic = 1, local_defines = [ "CPPTRACE_NO_TEST_SNIPPETS", @@ -40,8 +36,6 @@ cc_test( deps = [ "@googletest//:gtest", "@googletest//:gtest_main", - ] + select({ - "@platforms//os:windows": [], - "//conditions:default": ["//:cpptrace"], - }), + "//:cpptrace", + ], ) From e04602e441062cb8d807f154d3e6dd656788af6f Mon Sep 17 00:00:00 2001 From: zhiguo Date: Thu, 23 Oct 2025 17:56:35 +0800 Subject: [PATCH 10/15] fix flag bugs on windows --- BUILD.bazel | 1 + test/BUILD.bazel | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/BUILD.bazel b/BUILD.bazel index e39d9d84..ff0dfc19 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -15,6 +15,7 @@ cc_library( "@rules_cc//cc/compiler:msvc-cl": [ "/W4", "/permissive-", + "/FS", ], "@rules_cc//cc/compiler:gcc": [ "--std=c++11", diff --git a/test/BUILD.bazel b/test/BUILD.bazel index 55754137..0bbef0b2 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -20,8 +20,10 @@ cc_test( copts = select( { "@rules_cc//cc/compiler:msvc-cl": [ - "/Od", "/Z7", + "/FS", + "/W4", + "/permissive-", ], "//conditions:default": [ "-g", From 34b0ea9844a80ec4e96ac892fc0e68207b580222 Mon Sep 17 00:00:00 2001 From: zhiguo Date: Wed, 29 Oct 2025 11:22:02 +0800 Subject: [PATCH 11/15] test on macos --- .bazelignore | 1 + .bazelrc | 5 +++++ BUILD.bazel | 42 +++++++++++++++++++++++++++--------------- MODULE.bazel | 2 +- test/BUILD.bazel | 6 +++--- 5 files changed, 37 insertions(+), 19 deletions(-) create mode 100644 .bazelignore diff --git a/.bazelignore b/.bazelignore new file mode 100644 index 00000000..2dff2f0c --- /dev/null +++ b/.bazelignore @@ -0,0 +1 @@ +cmake-build-debug diff --git a/.bazelrc b/.bazelrc index a797f437..895b2fea 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,2 +1,7 @@ test --strip=never test --test_output=all +test --spawn_strategy=local +test --compilation_mode=dbg +build --strip=never +build --spawn_strategy=local +build --compilation_mode=dbg diff --git a/BUILD.bazel b/BUILD.bazel index ff0dfc19..98bdb231 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,5 +1,26 @@ load("@rules_cc//cc:defs.bzl", "cc_library") +COMMON_FLAGS = [ + "--std=c++11", + "-fPIC", + "-Wall", + "-Wextra", + "-Werror=return-type", + "-Wundef", + "-g", + "-O0", + "-gdwarf-4", + "-fPIC", +] + +GCC_FLAGS = COMMON_FLAGS + [ + "-Wuseless-cast", + "-Wmaybe-uninitialized", + "-fdiagnostics-color=always", +] + +CLANG_FLAGS = COMMON_FLAGS + ["-fcolor-diagnostics"] + cc_library( name = "cpptrace", srcs = glob([ @@ -17,17 +38,9 @@ cc_library( "/permissive-", "/FS", ], - "@rules_cc//cc/compiler:gcc": [ - "--std=c++11", - "-fPIC", - "-Wall", - "-Wextra", - "-Werror=return-type", - "-Wundef", - "-Wuseless-cast", - "-Wmaybe-uninitialized", - ], - "//conditions:default": [], + "@rules_cc//cc/compiler:gcc": GCC_FLAGS, + "@rules_cc//cc/compiler:clang": CLANG_FLAGS, + "//conditions:default": COMMON_FLAGS, }, ), defines = ["CPPTRACE_STATIC_DEFINE"], @@ -45,7 +58,6 @@ cc_library( }), local_defines = select({ "@platforms//os:windows": [ - "NOMINMAX", "CPPTRACE_DEMANGLE_WITH_WINAPI", "CPPTRACE_GET_SYMBOLS_WITH_DBGHELP", "CPPTRACE_UNWIND_WITH_DBGHELP", @@ -62,13 +74,13 @@ cc_library( "CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF", "CPPTRACE_UNWIND_WITH_EXECINFO", ], - "//conditions:default": [], + "//conditions:default": ["NOMINMAX",], }) + select({ - "@rules_cc//cc/compiler:gcc": [ + "@rules_cc//cc/compiler:msvc-cl": [], + "//conditions:default": [ "HAS_ATTRIBUTE_PACKED", "CPPTRACE_HAS_CXX_EXCEPTION_TYPE", ], - "//conditions:default": [], }), visibility = ["//visibility:public"], deps = select({ diff --git a/MODULE.bazel b/MODULE.bazel index 080ec5fb..291926c1 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -8,7 +8,7 @@ module( ) bazel_dep(name = "rules_cc", version = "0.2.8") -bazel_dep(name = "libdwarf", version = "0.12.0.bcr.1") +bazel_dep(name = "libdwarf", version = "2.2.0") bazel_dep(name = "libunwind", version = "1.8.1") bazel_dep(name = "platforms", version = "1.0.0") bazel_dep(name = "bazel_skylib", version = "1.8.2") diff --git a/test/BUILD.bazel b/test/BUILD.bazel index 0bbef0b2..df518634 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -28,13 +28,13 @@ cc_test( "//conditions:default": [ "-g", "-O0", + "-gdwarf-4", + "-fno-limit-debug-info", + "-fno-standalone-debug", ], }, ), linkstatic = 1, - local_defines = [ - "CPPTRACE_NO_TEST_SNIPPETS", - ], deps = [ "@googletest//:gtest", "@googletest//:gtest_main", From 68e10a25ca2cf66894c7596b1b76ae782ca52035 Mon Sep 17 00:00:00 2001 From: zhiguo Date: Wed, 29 Oct 2025 11:38:24 +0800 Subject: [PATCH 12/15] format BUILD file --- BUILD.bazel | 4 ++-- test/BUILD.bazel | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/BUILD.bazel b/BUILD.bazel index 98bdb231..03858e8a 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -74,7 +74,7 @@ cc_library( "CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF", "CPPTRACE_UNWIND_WITH_EXECINFO", ], - "//conditions:default": ["NOMINMAX",], + "//conditions:default": ["NOMINMAX"], }) + select({ "@rules_cc//cc/compiler:msvc-cl": [], "//conditions:default": [ @@ -85,8 +85,8 @@ cc_library( visibility = ["//visibility:public"], deps = select({ "@platforms//os:linux": [ - "@libunwind", "@libdwarf", + "@libunwind", ], "@platforms//os:macos": [ "@libdwarf", diff --git a/test/BUILD.bazel b/test/BUILD.bazel index df518634..1724e7df 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -36,8 +36,8 @@ cc_test( ), linkstatic = 1, deps = [ + "//:cpptrace", "@googletest//:gtest", "@googletest//:gtest_main", - "//:cpptrace", ], ) From 1527943a8dc5cf56b5a803dbaebc94457f1cbe80 Mon Sep 17 00:00:00 2001 From: zhiguo Date: Wed, 29 Oct 2025 14:36:59 +0800 Subject: [PATCH 13/15] add apple_support --- MODULE.bazel | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 291926c1..3b59889e 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -7,16 +7,10 @@ module( bazel_compatibility = [">=8.0.0"], ) +bazel_dep(name = "apple_support", version = "1.24.3", repo_name = "build_bazel_apple_support") bazel_dep(name = "rules_cc", version = "0.2.8") bazel_dep(name = "libdwarf", version = "2.2.0") bazel_dep(name = "libunwind", version = "1.8.1") bazel_dep(name = "platforms", version = "1.0.0") bazel_dep(name = "bazel_skylib", version = "1.8.2") bazel_dep(name = "googletest", version = "1.17.0.bcr.1", dev_dependency = True) - -bazel_dep(name = "hedron_compile_commands", dev_dependency = True) -git_override( - module_name = "hedron_compile_commands", - remote = "https://github.com/hedronvision/bazel-compile-commands-extractor.git", - commit = "abb61a688167623088f8768cc9264798df6a9d10", -) \ No newline at end of file From 28096ec5e0c24607e6e9a06049ce96b4b43dd5bb Mon Sep 17 00:00:00 2001 From: zhiguo Date: Wed, 29 Oct 2025 15:34:02 +0800 Subject: [PATCH 14/15] update --- test/BUILD.bazel | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/BUILD.bazel b/test/BUILD.bazel index 1724e7df..ab17aeb2 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -29,8 +29,6 @@ cc_test( "-g", "-O0", "-gdwarf-4", - "-fno-limit-debug-info", - "-fno-standalone-debug", ], }, ), From 6be3065d7531746060f91eb6e68153250a71bdcf Mon Sep 17 00:00:00 2001 From: zhiguo Date: Wed, 29 Oct 2025 15:54:33 +0800 Subject: [PATCH 15/15] update --- BUILD.bazel | 10 +++++++++- test/BUILD.bazel | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/BUILD.bazel b/BUILD.bazel index 03858e8a..4c26b847 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -38,7 +38,15 @@ cc_library( "/permissive-", "/FS", ], - "@rules_cc//cc/compiler:gcc": GCC_FLAGS, + "@rules_cc//cc/compiler:gcc": [ + "-Wall", + "-Wextra", + "-Werror=return-type", + "-Wundef", + "-Wuninitialized", + "-fPIC", + "-std=c++11", + ], "@rules_cc//cc/compiler:clang": CLANG_FLAGS, "//conditions:default": COMMON_FLAGS, }, diff --git a/test/BUILD.bazel b/test/BUILD.bazel index ab17aeb2..5160a1a2 100644 --- a/test/BUILD.bazel +++ b/test/BUILD.bazel @@ -32,6 +32,7 @@ cc_test( ], }, ), + local_defines = ["CPPTRACE_NO_TEST_SNIPPETS"], linkstatic = 1, deps = [ "//:cpptrace",