diff --git a/MODULE.bazel b/MODULE.bazel index 7ca55447..9cc1673b 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -13,6 +13,10 @@ bazel_dep( version = "2.1.0", repo_name = "absl_py", ) +bazel_dep( + name = "bazel_skylib", + version = "1.7.1", +) bazel_dep( name = "boringssl", version = "0.0.0-20240530-2db0eb3", diff --git a/riegeli/bytes/BUILD b/riegeli/bytes/BUILD index e7f15469..0cf76250 100644 --- a/riegeli/bytes/BUILD +++ b/riegeli/bytes/BUILD @@ -1,3 +1,5 @@ +load("@bazel_skylib//rules:common_settings.bzl", "bool_flag") + package( default_visibility = ["//visibility:public"], features = ["header_modules"], @@ -5,6 +7,16 @@ package( licenses(["notice"]) +bool_flag( + name = "use_copy_file_range", + build_setting_default = True, +) + +config_setting( + name = "disable_copy_file_range", + flag_values = {":use_copy_file_range": "False"}, +) + cc_library( name = "reader", hdrs = ["reader.h"], @@ -1074,6 +1086,10 @@ cc_library( "//conditions:default": ["fd_writer.h"], }), hdrs = ["fd_reader.h"], + defines = select({ + "//riegeli/bytes:disable_copy_file_range": ["RIEGELI_DISABLE_COPY_FILE_RANGE"], + "//conditions:default": [], + }), # fd_reader.cc has #define before #include to influence what the included # files provide. features = ["-use_header_modules"],