1
0
mirror of https://github.com/raspberrypi/pico-sdk.git synced 2025-08-09 04:22:44 +03:00
Files
pico-sdk/tools/pioasm/BUILD.bazel
Graham Sanderson d2cdf6c953 add pioasm --version, and print version number in generated files (#2554)
* add pioasm --version, and print version number in generated files

* Hook up pio version string in Bazel build

---------

Co-authored-by: Armando Montanez <amontanez@google.com>
2025-07-15 15:09:36 -05:00

88 lines
1.9 KiB
Python

load("@bazel_skylib//rules:expand_template.bzl", "expand_template")
package(default_visibility = ["//visibility:public"])
# TODO: No support for building the parser.
cc_library(
name = "pioasm_core",
srcs = [
"gen/lexer.cpp",
"gen/location.h",
"gen/parser.cpp",
"gen/parser.hpp",
"go_output.cpp",
"json_output.cpp",
"main.cpp",
"output_format.h",
"pio_assembler.cpp",
"pio_assembler.h",
"pio_disassembler.cpp",
"pio_disassembler.h",
"pio_enums.h",
"pio_types.h",
":version",
],
copts = select({
"@rules_cc//cc/compiler:msvc-cl": ["/std:c++20"],
"//conditions:default": ["-Wno-sign-compare"],
}),
defines = select({
"@rules_cc//cc/compiler:msvc-cl": ["YY_NO_UNISTD_H=1"],
"//conditions:default": [],
}),
includes = [
".",
"gen",
],
target_compatible_with = ["//bazel/constraint:host"],
)
cc_library(
name = "c_sdk_output",
srcs = ["c_sdk_output.cpp"],
deps = [":pioasm_core"],
alwayslink = True,
)
cc_library(
name = "python_output",
srcs = ["python_output.cpp"],
deps = [":pioasm_core"],
alwayslink = True,
)
cc_library(
name = "hex_output",
srcs = ["hex_output.cpp"],
deps = [":pioasm_core"],
alwayslink = True,
)
cc_library(
name = "ada_output",
srcs = ["ada_output.cpp"],
deps = [":pioasm_core"],
alwayslink = True,
)
expand_template(
name = "version",
template = "version.h.in",
substitutions = {
"${PIOASM_VERSION_STRING}": module_version() if module_version() != None else "0.0.1-WORKSPACE",
},
out = "gen/version.h",
)
cc_binary(
name = "pioasm",
deps = [
":ada_output",
":c_sdk_output",
":hex_output",
":pioasm_core",
":python_output",
],
)