-
Notifications
You must be signed in to change notification settings - Fork 79
/
Copy pathBUILD.bazel
79 lines (67 loc) · 1.94 KB
/
BUILD.bazel
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
load("@rules_fuzzing//fuzzing:cc_defs.bzl", "cc_fuzz_test")
load("@properties//:properties.bzl", "PROPERTIES")
# Unless building for embedded systems all headers / functions should exist.
FAAD_DEFINES = [
"APPLY_DRC",
"HAVE_INTTYPES_H=1",
"HAVE_MEMCPY=1",
"HAVE_STRING_H=1",
"HAVE_STRINGS_H=1",
"HAVE_SYS_STAT_H=1",
"HAVE_SYS_TYPES_H=1",
"PACKAGE_VERSION=\\\"%s\\\"" % PROPERTIES["PACKAGE_VERSION"],
]
FAAD_SOURCES = glob([
"libfaad/**/*.c",
"libfaad/**/*.h",
])
FAAD_FLAGS = [
"-Wall",
"-pedantic",
]
DRM_AFFIX = [
"",
"_drm",
]
DRM_DEFINES = [
[],
["DRM_SUPPORT"],
]
FIXED_AFFIX = [
"",
"_fixed",
]
FIXED_DEFINES = [
[],
["FIXED_POINT"],
]
[cc_library(
name = "faad" + DRM_AFFIX[drm] + FIXED_AFFIX[fixed],
srcs = FAAD_SOURCES,
hdrs = ["include/neaacdec.h"],
copts = FAAD_FLAGS,
includes = ["libfaad"],
local_defines = FAAD_DEFINES + DRM_DEFINES[drm] + FIXED_DEFINES[fixed],
strip_include_prefix = "include",
) for drm in range(2) for fixed in range(2)]
# To start fuzzing run: bazel run --config=asan-libfuzzer //:fuzz_config_run
cc_fuzz_test(
name = "fuzz_config",
srcs = ["fuzz/fuzz_config.c"],
deps = [":faad"],
)
# To start fuzzing run: bazel run --config=asan-libfuzzer //:fuzz_decode_run
[cc_fuzz_test(
name = "fuzz_decode" + DRM_AFFIX[drm] + FIXED_AFFIX[fixed],
srcs = ["fuzz/fuzz_decode.c"],
local_defines = DRM_DEFINES[drm],
deps = [":faad" + DRM_AFFIX[drm] + FIXED_AFFIX[fixed]],
) for drm in range(2) for fixed in range(2)]
CLI_SOURCES = glob(["frontend/**/*.c", "frontend/**/*.h"], exclude = ["frontend/**/getopt.*"])
[cc_binary(
name = "faad_cli" + DRM_AFFIX[drm] + FIXED_AFFIX[fixed],
srcs = CLI_SOURCES,
includes = ["frontend"],
local_defines = FAAD_DEFINES + DRM_DEFINES[drm] + FIXED_DEFINES[fixed],
deps = [":faad" + DRM_AFFIX[drm] + FIXED_AFFIX[fixed]],
) for drm in range(2) for fixed in range(2)]