mirror of
https://github.com/raspberrypi/pico-sdk.git
synced 2025-08-09 04:22:44 +03:00
* 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>
88 lines
1.9 KiB
Python
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",
|
|
],
|
|
)
|