File: BUILD.bazel

package info (click to toggle)
pico-sdk 2.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 26,552 kB
  • sloc: ansic: 146,841; asm: 13,423; python: 2,417; cpp: 2,171; yacc: 381; lex: 270; makefile: 32; sh: 13; javascript: 13
file content (96 lines) | stat: -rw-r--r-- 2,507 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
load("//bazel:defs.bzl", "compatible_with_rp2")
load("//bazel/util:transition.bzl", "pico_float_test_binary")

package(default_visibility = ["//visibility:public"])

cc_binary(
    name = "hazard3_test_gen",
    srcs = ["hazard3_test_gen.c"],
    target_compatible_with = ["//bazel/constraint:host"],
)

# TODO: Set up a transition to build this under RISC-V.
cc_binary(
    name = "pico_float_test_hazard3",
    testonly = True,
    srcs = [
        "pico_float_test_hazard3.c",
        "vectors/hazard3_addsf.inc",
        "vectors/hazard3_mulsf.inc",
    ],
    includes = ["."],
    target_compatible_with = compatible_with_rp2() + ["@platforms//cpu:riscv32"],
    deps = [
        "//src/rp2_common/pico_float",
        "//src/rp2_common/pico_stdlib",
    ],
)

cc_binary(
    name = "pico_float_test",
    testonly = True,
    srcs = [
        "llvm/call_apsr.S",
        "llvm/call_apsr.h",
        "pico_float_test.c",
    ],
    includes = ["llvm"],
    target_compatible_with = compatible_with_rp2(),
    deps = [
        "//src/rp2_common:pico_platform",
        "//src/rp2_common/pico_double",
        "//src/rp2_common/pico_float",
        "//src/rp2_common/pico_stdlib",
    ],
)

cc_binary(
    name = "pico_double_test_actual",
    testonly = True,
    srcs = [
        "llvm/call_apsr.S",
        "llvm/call_apsr.h",
        "pico_double_test.c",
    ],
    includes = ["llvm"],
    tags = ["manual"],
    target_compatible_with = compatible_with_rp2(),
    deps = [
        "//src/rp2_common:pico_platform",
        "//src/rp2_common/pico_double",
        "//src/rp2_common/pico_stdlib",
    ],
)

pico_float_test_binary(
    name = "pico_double_test",
    testonly = True,
    src = ":pico_double_test_actual",
    extra_copts = [
        "-DPICO_USE_CRT_PRINTF=1",
        "-DPICO_FLOAT_PROPAGATE_NANS=1",
        "-DPICO_DOUBLE_PROPAGATE_NANS=1",
    ],
    pico_printf_impl = select({
        # raw compiler printf on llvm_libc doesn't currently have floating point
        "//bazel/constraint:pico_clib_llvm_libc_enabled": "pico",
        "//bazel/constraint:pico_toolchain_clang_enabled": "pico",
        "//conditions:default": "compiler",
    }),
    target_compatible_with = compatible_with_rp2(),
)

# TODO: Marked in CMake as to-be-removed.
filegroup(
    name = "m33",
    srcs = ["m33.c"],
)

# TODO: Add these tests to the Bazel build.
filegroup(
    name = "unsupported_tests",
    srcs = [
        "custom_double_funcs_test.c",
        "custom_float_funcs_test.c",
    ],
)