| 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", |
| ], |
| ) |