diff --git a/.bazelrc b/.bazelrc index 9d5ebf6..b7eda51 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,18 +1,13 @@ common --registry=https://bcr.bazel.build/ common --registry=https://bazel.stevenlr.com/registry/ +startup --windows_enable_symlinks +build:windows --enable_runfiles=true + build --enable_platform_specific_config -build:windows --extra_execution_platforms=//:x64_windows-clang-cl -build:windows --extra_toolchains=@local_config_cc//:cc-toolchain-x64_windows-clang-cl - -build:windows --cxxopt=-Xclang=-std=c++23 - -common --incompatible_autoload_externally=+@rules_python - -build --features=external_include_paths - -build --cxxopt=-Wall +build --features=c++23 +build --cxxopt=-Weverything build --cxxopt=-Wno-c++98-compat build --cxxopt=-Wno-c++98-compat-pedantic build --cxxopt=-Wno-pre-c++17-compat @@ -25,12 +20,7 @@ build --cxxopt=-Wno-global-constructors build --cxxopt=-Wno-unsafe-buffer-usage build --cxxopt=-Wno-covered-switch-default -build:windows_san --config=windows -build:windows_san --copt=-fno-sanitize-ignorelist -build:windows_san --copt=-fsanitize=address -build:windows_san --copt=-fsanitize=undefined -build:windows_san --copt=-fno-sanitize-recover=all -build:windows_san --linkopt=clang_rt.asan-x86_64.lib -build:windows_san --copt=/MT +build:sanitizers --features=asan +build:sanitizers --features=ubsan test --test_output=errors diff --git a/MODULE.bazel b/MODULE.bazel index 8389249..46ad995 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -6,12 +6,14 @@ module(name = "hk21") bazel_dep(name = "platforms", version = "0.0.11") bazel_dep(name = "rules_license", version = "1.0.0") - bazel_dep(name = "rules_cc", version = "0.1.1") -cc_configure = use_extension("@rules_cc//cc:extensions.bzl", "cc_configure_extension") -use_repo(cc_configure, "local_config_cc") bazel_dep(name = "hedron_compile_commands", version = "0.1.0", dev_dependency = True) +bazel_dep(name = "asl", version = "0.5.1") +asl_clang_toolchain = use_extension("@asl//bazel/clang_toolchain:config_detection.bzl", "clang_toolchain") +use_repo(asl_clang_toolchain, "clang_toolchain") +register_toolchains("@clang_toolchain//:all") + bazel_dep(name = "sdl3_windows", version = "3.2.6") -bazel_dep(name = "asl", version = "0.4.0") + diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 2563aac..1d3b392 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -2,8 +2,8 @@ "lockFileVersion": 18, "registryFileHashes": { "https://bazel.stevenlr.com/registry/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", - "https://bazel.stevenlr.com/registry/modules/asl/0.4.0/MODULE.bazel": "767046b78b3dfeec294ab47800d20d2c3220f6d29aca915fef12868305d4b7eb", - "https://bazel.stevenlr.com/registry/modules/asl/0.4.0/source.json": "191cd1a3fd046480ee4f68f6c98566eec1210c4ab358c8d204f5284400ec267c", + "https://bazel.stevenlr.com/registry/modules/asl/0.5.1/MODULE.bazel": "d043f62a32aaaa4a9f95678c40bc0a0074b04dffb0d9e914741340bec8f54eb4", + "https://bazel.stevenlr.com/registry/modules/asl/0.5.1/source.json": "6017e0497f2175ef4880225a3c37c3dd41f2ef52e64700326ae5862c57874734", "https://bazel.stevenlr.com/registry/modules/hedron_compile_commands/0.1.0/MODULE.bazel": "5623ba8f732a01246c388bccebf924357e452314a178f179d3b375b623d5a359", "https://bazel.stevenlr.com/registry/modules/hedron_compile_commands/0.1.0/source.json": "c55f6caa3eb9fb027af66949c23ca537214eb32b0316ae95bcc496f3cd8406b9", "https://bazel.stevenlr.com/registry/modules/sdl3_windows/3.2.6/MODULE.bazel": "857507d99ce37f1a4cb331a7888cec8511f38b0bfd46adb55d1b70a9cbe4e86f", @@ -17,7 +17,7 @@ "https://bcr.bazel.build/modules/abseil-cpp/20230802.1/MODULE.bazel": "fa92e2eb41a04df73cdabeec37107316f7e5272650f81d6cc096418fe647b915", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/MODULE.bazel": "37bcdb4440fbb61df6a1c296ae01b327f19e9bb521f9b8e26ec854b6f97309ed", "https://bcr.bazel.build/modules/abseil-cpp/20240116.1/source.json": "9be551b8d4e3ef76875c0d744b5d6a504a27e3ae67bc6b28f46415fd2d2957da", - "https://bcr.bazel.build/modules/asl/0.4.0/MODULE.bazel": "not found", + "https://bcr.bazel.build/modules/asl/0.5.1/MODULE.bazel": "not found", "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel": "27b8c79ef57efe08efccbd9dd6ef70d61b4798320b8d3c134fd571f78963dbcd", "https://bcr.bazel.build/modules/bazel_features/1.11.0/MODULE.bazel": "f9382337dd5a474c3b7d334c2f83e50b6eaedc284253334cf823044a26de03e8", "https://bcr.bazel.build/modules/bazel_features/1.15.0/MODULE.bazel": "d38ff6e517149dc509406aca0db3ad1efdd890a85e049585b7234d04238e2a4d", @@ -25,7 +25,8 @@ "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", - "https://bcr.bazel.build/modules/bazel_features/1.21.0/source.json": "3e8379efaaef53ce35b7b8ba419df829315a880cb0a030e5bb45c96d6d5ecb5f", + "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", + "https://bcr.bazel.build/modules/bazel_features/1.30.0/source.json": "b07e17f067fe4f69f90b03b36ef1e08fe0d1f3cac254c1241a1818773e3423bc", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", "https://bcr.bazel.build/modules/bazel_skylib/1.0.3/MODULE.bazel": "bcb0fd896384802d1ad283b4e4eb4d718eebd8cb820b0a2c3a347fb971afd9d8", @@ -79,7 +80,6 @@ "https://bcr.bazel.build/modules/rules_cc/0.0.14/MODULE.bazel": "5e343a3aac88b8d7af3b1b6d2093b55c347b8eefc2e7d1442f7a02dc8fea48ac", "https://bcr.bazel.build/modules/rules_cc/0.0.15/MODULE.bazel": "6704c35f7b4a72502ee81f61bf88706b54f06b3cbe5558ac17e2e14666cd5dcc", "https://bcr.bazel.build/modules/rules_cc/0.0.16/MODULE.bazel": "7661303b8fc1b4d7f532e54e9d6565771fea666fbdf839e0a86affcd02defe87", - "https://bcr.bazel.build/modules/rules_cc/0.0.17/MODULE.bazel": "2ae1d8f4238ec67d7185d8861cb0a2cdf4bc608697c331b95bf990e69b62e64a", "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", @@ -99,8 +99,8 @@ "https://bcr.bazel.build/modules/rules_java/7.2.0/MODULE.bazel": "06c0334c9be61e6cef2c8c84a7800cef502063269a5af25ceb100b192453d4ab", "https://bcr.bazel.build/modules/rules_java/7.3.2/MODULE.bazel": "50dece891cfdf1741ea230d001aa9c14398062f2b7c066470accace78e412bc2", "https://bcr.bazel.build/modules/rules_java/7.6.1/MODULE.bazel": "2f14b7e8a1aa2f67ae92bc69d1ec0fa8d9f827c4e17ff5e5f02e91caa3b2d0fe", - "https://bcr.bazel.build/modules/rules_java/8.11.0/MODULE.bazel": "c3d280bc5ff1038dcb3bacb95d3f6b83da8dd27bba57820ec89ea4085da767ad", - "https://bcr.bazel.build/modules/rules_java/8.11.0/source.json": "302b52a39259a85aa06ca3addb9787864ca3e03b432a5f964ea68244397e7544", + "https://bcr.bazel.build/modules/rules_java/8.12.0/MODULE.bazel": "8e6590b961f2defdfc2811c089c75716cb2f06c8a4edeb9a8d85eaa64ee2a761", + "https://bcr.bazel.build/modules/rules_java/8.12.0/source.json": "cbd5d55d9d38d4008a7d00bee5b5a5a4b6031fcd4a56515c9accbcd42c7be2ba", "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", @@ -146,15 +146,31 @@ "https://bcr.bazel.build/modules/stardoc/0.7.2/source.json": "58b029e5e901d6802967754adf0a9056747e8176f017cfe3607c0851f4d42216", "https://bcr.bazel.build/modules/upb/0.0.0-20220923-a547704/MODULE.bazel": "7298990c00040a0e2f121f6c32544bab27d4452f80d9ce51349b1a28f3005c43", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", - "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.bcr.5/MODULE.bazel": "eec517b5bbe5492629466e11dae908d043364302283de25581e3eb944326c4ca", + "https://bcr.bazel.build/modules/zlib/1.3.1.bcr.5/source.json": "22bc55c47af97246cfc093d0acf683a7869377de362b5d1c552c2c2e16b7a806", "https://bcr.bazel.build/modules/zlib/1.3.1/MODULE.bazel": "751c9940dcfe869f5f7274e1295422a34623555916eb98c174c1e945594bf198" }, "selectedYankedVersions": {}, "moduleExtensions": { + "@@asl+//bazel/clang_toolchain:config_detection.bzl%clang_toolchain": { + "general": { + "bzlTransitiveDigest": "xXTcNvgp9bMnw/1ZKi1vOOoz139EHr8Hw3Ugd9+eos0=", + "usagesDigest": "4+A1KTpj0zVpvSJ2cmWsXed/xjzBCUD1AhXARjkGrwg=", + "recordedFileInputs": {}, + "recordedDirentsInputs": {}, + "envVariables": {}, + "generatedRepoSpecs": { + "clang_toolchain": { + "repoRuleId": "@@asl+//bazel/clang_toolchain:config_detection.bzl%_config_detection", + "attributes": {} + } + }, + "recordedRepoMappingEntries": [] + } + }, "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { "general": { - "bzlTransitiveDigest": "sFhcgPbDQehmbD1EOXzX4H1q/CD5df8zwG4kp4jbvr8=", + "bzlTransitiveDigest": "hUTp2w+RUVdL7ma5esCXZJAFnX7vLbVfLd7FwnQI6bU=", "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, diff --git a/hk21/game/BUILD.bazel b/hk21/game/BUILD.bazel index 218d1f0..0a95f69 100644 --- a/hk21/game/BUILD.bazel +++ b/hk21/game/BUILD.bazel @@ -10,12 +10,12 @@ cc_binary( "gpu.hpp", ], deps = [ - "@asl//asl/base", - "@asl//asl/logging", - "@asl//asl/types:status", - "@asl//asl/types:box", - "@asl//asl/types:option", - "@asl//asl/containers:buffer", + "@asl//src/asl/base", + "@asl//src/asl/logging", + "@asl//src/asl/types:status", + "@asl//src/asl/types:box", + "@asl//src/asl/types:option", + "@asl//src/asl/containers:buffer", "@sdl3_windows//:sdl3", "//hk21/vulkan/loader", "//hk21/vulkan/sync", diff --git a/hk21/vulkan/loader/BUILD.bazel b/hk21/vulkan/loader/BUILD.bazel index db49ee6..ada5f8e 100644 --- a/hk21/vulkan/loader/BUILD.bazel +++ b/hk21/vulkan/loader/BUILD.bazel @@ -13,8 +13,8 @@ cc_library( ], deps = [ "//vendor/vulkan", - "@asl//asl/base", - "@asl//asl/types:status", + "@asl//src/asl/base", + "@asl//src/asl/types:status", ], visibility = ["//:__subpackages__"], applicable_licenses = ["//:license"], diff --git a/hk21/vulkan/sync/BUILD.bazel b/hk21/vulkan/sync/BUILD.bazel index fc74cad..008e001 100644 --- a/hk21/vulkan/sync/BUILD.bazel +++ b/hk21/vulkan/sync/BUILD.bazel @@ -12,9 +12,9 @@ cc_library( ], deps = [ "//vendor/vulkan", - "@asl//asl/base", - "@asl//asl/types:option", - "@asl//asl/types:span", + "@asl//src/asl/base", + "@asl//src/asl/types:option", + "@asl//src/asl/types:span", ], visibility = ["//:__subpackages__"], applicable_licenses = ["//:license"], @@ -27,7 +27,7 @@ cc_test( ], deps = [ ":sync", - "@asl//asl/containers:buffer", - "@asl//asl/testing", + "@asl//src/asl/containers:buffer", + "@asl//src/asl/testing", ], ) diff --git a/refresh_clangd.bat b/refresh_clangd.bat deleted file mode 100644 index 26004ec..0000000 --- a/refresh_clangd.bat +++ /dev/null @@ -1 +0,0 @@ -bazel run //:refresh_clangd --config=windows -- --config=windows diff --git a/tools/refresh_clangd.bat b/tools/refresh_clangd.bat new file mode 100644 index 0000000..6e7e744 --- /dev/null +++ b/tools/refresh_clangd.bat @@ -0,0 +1 @@ +bazel run //:refresh_clangd