-
Notifications
You must be signed in to change notification settings - Fork 107
/
BUILD
58 lines (52 loc) · 1.65 KB
/
BUILD
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
package(
default_visibility = ["//visibility:public"],
)
filegroup(
name = "pihdrs",
srcs = glob(["include/**/*.h"]),
visibility = ["//:__subpackages__"],
)
cc_library(
name = "piutils",
srcs = glob(["src/utils/*.c"]) + ["//:pihdrs"],
hdrs = glob(["src/utils/*.h"]),
includes = ["src/utils", "include"],
deps = [],
visibility = ["//:__subpackages__"],
)
cc_library(
name = "pip4info",
srcs = ["src/p4info_int.h", ":pihdrs"]
+ glob(["src/p4info/*.c", "src/p4info/*.h"])
+ glob(["src/config_readers/*.c", "src/config_readers/*.h"]),
hdrs = glob(["include/PI/p4info/*.h"]),
includes = ["include", "src"],
copts = ["-DPI_LOG_ON"],
deps = ["//third_party/cJSON:picjson",
"//third_party:piuthash",
"//lib:pitoolkit",
":piutils"],
)
# using glob looks a bit nasty because of the files we have to exclude, but in
# the absence of a CI for the Bazel build, it is less error-prone that listing
# all files manually.
cc_library(
name = "pi",
srcs = [":pihdrs"]
+ glob(["src/*.c"], exclude=[
"src/pi_notifications_pub.c", "src/pi_rpc_server.c"])
+ glob(["src/*.h"], exclude=[
"src/p4info_int.h", "src/pi_notifications_pub.h"]),
hdrs = glob(["include/PI/*.h", "include/PI/target/*.h"])
+ ["include/PI/int/pi_int.h", "include/PI/int/serialize.h"],
includes = ["include"],
deps = [":pip4info"],
)
cc_library(
name = "pifegeneric",
srcs = ["src/frontends/generic/pi.c"],
hdrs = ["include/PI/frontends/generic/pi.h"],
includes = ["include"],
copts = ["-DPI_LOG_ON"],
deps = [":pi"],
)