| licenses(["unencumbered"]) # Public Domain or MIT |
| |
| load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") |
| |
| exports_files(["LICENSE"]) |
| |
| bool_flag( |
| name = "use_exception", |
| build_setting_default = False, |
| ) |
| |
| config_setting( |
| name = "use_exception_cfg", |
| flag_values = {":use_exception": "true"}, |
| ) |
| |
| bool_flag( |
| name = "has_int64", |
| build_setting_default = True, |
| ) |
| |
| config_setting( |
| name = "has_int64_cfg", |
| flag_values = {":has_int64": "true"}, |
| ) |
| |
| cc_library( |
| name = "jsoncpp", |
| srcs = [ |
| "src/lib_json/json_reader.cpp", |
| "src/lib_json/json_tool.h", |
| "src/lib_json/json_value.cpp", |
| "src/lib_json/json_writer.cpp", |
| ], |
| hdrs = [ |
| "include/json/allocator.h", |
| "include/json/assertions.h", |
| "include/json/config.h", |
| "include/json/json_features.h", |
| "include/json/forwards.h", |
| "include/json/json.h", |
| "include/json/reader.h", |
| "include/json/value.h", |
| "include/json/version.h", |
| "include/json/writer.h", |
| ], |
| defines = select({ |
| ":use_exception_cfg": ["JSON_USE_EXCEPTION=1"], |
| "//conditions:default": ["JSON_USE_EXCEPTION=0"], |
| }) + select({ |
| ":has_int64_cfg": ["JSON_HAS_INT64"], |
| "//conditions:default": [], |
| }), |
| includes = ["include"], |
| visibility = ["//visibility:public"], |
| deps = [":private"], |
| ) |
| |
| cc_library( |
| name = "private", |
| textual_hdrs = ["src/lib_json/json_valueiterator.inl"], |
| ) |