blob: 2406e2508a6a61da353eb457a779f5b8c7c79021 [file] [edit]
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
cairo_script_sources = [
"cairo-script-file.c",
"cairo-script-hash.c",
"cairo-script-interpreter.c",
"cairo-script-objects.c",
"cairo-script-private.h",
"cairo-script-operators.c",
"cairo-script-scanner.c",
"cairo-script-stack.c",
]
cairo_script_copts = [
"-DCAIRO_COMPILATION",
"-D_GNU_SOURCE",
] + select({
"@rules_cc//cc/compiler:clang": [
"-Wno-enum-conversion",
"-Wno-unused-but-set-variable",
"-Wno-unused-variable",
],
"//conditions:default": [],
})
cairo_script_tools = [
"csi-exec.c",
"csi-replay.c",
"csi-trace.c",
]
cc_library(
name = "cairo_script_interpreter",
srcs = cairo_script_sources,
hdrs = ["cairo-script-interpreter.h"],
copts = cairo_script_copts,
includes = ["."],
visibility = ["//visibility:public"],
deps = [
"//:config",
"//src:cairo",
"@zlib",
],
)
# Handy utilities, not used directly in the test binary but useful for parity
# with the upstream build.
cc_binary(
name = "csi_replay",
srcs = ["csi-replay.c"],
copts = cairo_script_copts,
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":cairo_script_interpreter",
"//:config",
"//src:cairo",
"@zlib",
],
)
cc_binary(
name = "csi_exec",
srcs = ["csi-exec.c"],
copts = cairo_script_copts,
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":cairo_script_interpreter",
"//:config",
"//src:cairo",
"@zlib",
],
)
cc_binary(
name = "csi_trace",
srcs = ["csi-trace.c"],
copts = cairo_script_copts,
includes = ["."],
visibility = ["//visibility:public"],
deps = [
":cairo_script_interpreter",
"//:config",
"//src:cairo",
"@zlib",
],
)