diff --git a/common_settings.bzl b/common_settings.bzl index 4773a175aa..28a9c21958 100644 --- a/common_settings.bzl +++ b/common_settings.bzl @@ -28,6 +28,8 @@ load("//:distro.bzl", "distro_flag") def ovms_cc_library(**kwargs): """ Wrapper for cc_library that sets default copts and linkopts if not provided. + Transitive defines (PYTHON_DISABLE, MEDIAPIPE_DISABLE) are always set via 'defines' + so that any target depending on an ovms_cc_library automatically gets these macros. """ if "copts" not in kwargs: kwargs["copts"] = COMMON_STATIC_LIBS_COPTS + select({ @@ -41,10 +43,14 @@ def ovms_cc_library(**kwargs): }) if "local_defines" not in kwargs: kwargs["local_defines"] = COMMON_LOCAL_DEFINES + if "defines" not in kwargs: + kwargs["defines"] = COMMON_DEFINES if "additional_copts" in kwargs: kwargs["copts"] += kwargs.pop("additional_copts") if "additional_linkopts" in kwargs: kwargs["linkopts"] += kwargs.pop("additional_linkopts") + if "additional_local_defines" in kwargs: + kwargs["local_defines"] += kwargs.pop("additional_local_defines") native.cc_library( **kwargs @@ -235,18 +241,18 @@ COMMON_STATIC_LIBS_LINKOPTS = select({ "/LTCG", ], }) -COPTS_PYTHON = select({ - "//conditions:default": ["-DPYTHON_DISABLE=1"], - "//:not_disable_python" : ["-DPYTHON_DISABLE=0"], -}) -COPTS_MEDIAPIPE = select({ - "//conditions:default": ["-DMEDIAPIPE_DISABLE=1"], - "//:not_disable_mediapipe" : ["-DMEDIAPIPE_DISABLE=0"], -}) COPTS_DROGON = select({ "//conditions:default": ["-DUSE_DROGON=0"], "//:enable_drogon" : ["-DUSE_DROGON=1"], }) +DEFINES_PYTHON = select({ + "//conditions:default": ["PYTHON_DISABLE=1"], + "//:not_disable_python" : ["PYTHON_DISABLE=0"], +}) +DEFINES_MEDIAPIPE = select({ + "//conditions:default": ["MEDIAPIPE_DISABLE=1"], + "//:not_disable_mediapipe" : ["MEDIAPIPE_DISABLE=0"], +}) COMMON_FUZZER_COPTS = [ "-fsanitize=address", "-fprofile-generate", @@ -259,6 +265,7 @@ COMMON_FUZZER_LINKOPTS = [ "-static-libasan", ] COMMON_LOCAL_DEFINES = ["SPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_TRACE"] +COMMON_DEFINES = DEFINES_PYTHON + DEFINES_MEDIAPIPE PYBIND_DEPS = [ "//third_party:python3", "@pybind11//:pybind11_embed", diff --git a/src/BUILD b/src/BUILD index c2d9aec3b1..2899b61968 100644 --- a/src/BUILD +++ b/src/BUILD @@ -16,7 +16,7 @@ load("@bazel_skylib//lib:selects.bzl", "selects") load("@mediapipe//mediapipe/framework:more_selects.bzl", "more_selects") load("//:common_settings.bzl", - "COMMON_STATIC_TEST_COPTS", "COMMON_STATIC_LIBS_COPTS", "COMMON_STATIC_LIBS_LINKOPTS", "COMMON_FUZZER_COPTS", "COMMON_FUZZER_LINKOPTS", "COMMON_LOCAL_DEFINES", "COPTS_PYTHON", "COPTS_MEDIAPIPE", "COPTS_DROGON", + "COMMON_STATIC_TEST_COPTS", "COMMON_STATIC_LIBS_COPTS", "COMMON_STATIC_LIBS_LINKOPTS", "COMMON_FUZZER_COPTS", "COMMON_FUZZER_LINKOPTS", "COMMON_LOCAL_DEFINES", "COPTS_DROGON", "create_config_settings", "PYBIND_DEPS", "ovms_cc_library") COPTS_OV_TRACE = select({ @@ -32,7 +32,9 @@ COPTS_CLOUD = select({ "//:not_disable_cloud" : ["-DCLOUD_DISABLE=0"], }) -COPTS_TESTS = COMMON_STATIC_TEST_COPTS + COPTS_PYTHON + COPTS_MEDIAPIPE + COPTS_DROGON + COPTS_CLOUD +COPTS_TESTS = COMMON_STATIC_TEST_COPTS + COPTS_DROGON + COPTS_CLOUD + +LOCAL_DEFINES_TESTS = COMMON_LOCAL_DEFINES config_setting( name = "windows", @@ -320,7 +322,6 @@ ovms_cc_library( "//:not_disable_mediapipe": ["//third_party:genai"], "//conditions:default": [], }), - additional_copts = COPTS_MEDIAPIPE, visibility = ["//visibility:public",], alwayslink = 1, ) @@ -557,7 +558,6 @@ ovms_cc_library( "@mediapipe//mediapipe/framework/formats:tensor", ], visibility = ["//visibility:public",], - additional_copts = COPTS_PYTHON + COPTS_MEDIAPIPE, alwayslink = 1, ) ovms_cc_library( @@ -583,7 +583,6 @@ ovms_cc_library( "@mediapipe//mediapipe/framework/formats:tensor", ], visibility = ["//visibility:public",], - additional_copts = COPTS_PYTHON + COPTS_MEDIAPIPE, alwayslink = 1, ) ovms_cc_library( @@ -658,7 +657,6 @@ ovms_cc_library( "//src/port:rapidjson_writer", ], visibility = ["//visibility:public"], - additional_copts = COPTS_MEDIAPIPE, ) ovms_cc_library( name = "rest_parser_utils", @@ -765,7 +763,6 @@ ovms_cc_library( "modelmanager", "//src/metrics:libovmsmetrics", ], - additional_copts = COPTS_PYTHON, visibility = ["//visibility:public"], ) ovms_cc_library( @@ -965,7 +962,7 @@ ovms_cc_library( ], }), visibility = ["//visibility:public",], - additional_copts = COPTS_PYTHON + COPTS_MEDIAPIPE + COPTS_DROGON + COPTS_OV_TRACE, + additional_copts = COPTS_DROGON + COPTS_OV_TRACE, additional_linkopts = select({ "//conditions:default": ["-lOpenCL"], # TODO make as direct dependency "//src:windows" : ["/DEFAULTLIB:Rpcrt4.lib"],}), @@ -1370,7 +1367,7 @@ ovms_cc_library( "//src/port:rapidjson_stringbuffer", ], visibility = ["//visibility:public"], - additional_copts = COPTS_MEDIAPIPE + COPTS_DROGON, + additional_copts = COPTS_DROGON, ) @@ -2558,8 +2555,6 @@ cc_test( ":test_utils", ":test_test_with_temp_dir", ":test_platform_utils", - "//src/rerank:rerank_api_handler", - ":embeddings_handler_tests", ":tokenize_parser_tests", ":inferencerequest_test", ":libtest_environment", @@ -2599,6 +2594,8 @@ cc_test( "@mediapipe//mediapipe/calculators/ovms:ovms_calculator", "@mediapipe//mediapipe/framework:calculator_runner", ":text2image_test", + "//src/rerank:rerank_api_handler", + ":embeddings_handler_tests", ], "//:disable_mediapipe" : [ @@ -2606,7 +2603,7 @@ cc_test( ], }), copts = COPTS_TESTS, - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, linkopts = LINKOPTS_ADJUSTED, ) @@ -2620,7 +2617,7 @@ cc_library( ":ovms_lib", ], linkstatic = 1, - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, linkopts = COMMON_STATIC_LIBS_LINKOPTS, ) @@ -2631,7 +2628,7 @@ cc_library( "@com_google_googletest//:gtest", ], linkstatic = 1, - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, linkopts = COMMON_STATIC_LIBS_LINKOPTS, ) @@ -2643,7 +2640,7 @@ cc_library( ":modelconfig", ], linkstatic = 1, - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, linkopts = COMMON_STATIC_LIBS_LINKOPTS, ) @@ -2657,7 +2654,7 @@ cc_library( "@com_google_googletest//:gtest", "//src/pull_module:cmd_exec", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, linkopts = COMMON_STATIC_LIBS_LINKOPTS, ) @@ -2673,7 +2670,7 @@ cc_library( "test/test_file_utils.cpp", ], deps = [], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, linkopts = COMMON_STATIC_LIBS_LINKOPTS, ) @@ -2698,7 +2695,7 @@ cc_library( "//src:test_light_test_utils", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, linkopts = COMMON_STATIC_LIBS_LINKOPTS, ) @@ -2713,7 +2710,7 @@ cc_library( "@com_google_googletest//:gtest", ], linkstatic = 1, - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, linkopts = COMMON_STATIC_LIBS_LINKOPTS, ) @@ -2725,7 +2722,7 @@ cc_library( # DO NOT ADD BIG DEPENDENCIES HERE "@com_github_gabime_spdlog//:spdlog", ], linkstatic = 1, - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, linkopts = COMMON_STATIC_LIBS_LINKOPTS, ) @@ -2738,7 +2735,7 @@ cc_library( "@com_google_googletest//:gtest", ], linkstatic = 1, - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, linkopts = COMMON_STATIC_LIBS_LINKOPTS, ) @@ -2753,7 +2750,7 @@ cc_library( srcs = [ "test/environment.cpp", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, linkopts = [], deps = [ @@ -2772,7 +2769,7 @@ cc_library( "libovmslogging", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) cc_library( @@ -2785,7 +2782,7 @@ cc_library( deps = PYBIND_DEPS + [ "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) cc_library( @@ -2799,7 +2796,7 @@ cc_library( "libovmslogging", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) cc_library( @@ -2820,6 +2817,7 @@ cc_library( "@com_google_googletest//:gtest", ], copts = COPTS_TESTS, + local_defines = LOCAL_DEFINES_TESTS, ) cc_library( name = "libgit2_test", @@ -2836,7 +2834,7 @@ cc_library( "//src:ovms_lib", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) @@ -2861,7 +2859,7 @@ cc_library( "@cpp_httplib//:cpp_httplib", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) cc_library( @@ -2883,7 +2881,7 @@ cc_library( "libovmsstring_utils", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) cc_library( @@ -2898,7 +2896,7 @@ cc_library( "libovmsstring_utils", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) @@ -2916,7 +2914,7 @@ cc_library( "//src:libovms_systeminfo", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) cc_library( @@ -2933,7 +2931,7 @@ cc_library( "//src:libovms_server_settings", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) cc_library( @@ -2950,7 +2948,7 @@ cc_library( "//src:libovms_server_settings", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) cc_library( @@ -2969,7 +2967,7 @@ cc_library( "//src:libovms_server_settings", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) cc_library( @@ -3004,7 +3002,7 @@ cc_library( ":libovmsoclutils", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS + ["-lOpenCL", ] + select({ "//:redhat_build": [], @@ -3021,7 +3019,7 @@ cc_library( "//src:network_utils", "@com_google_googletest//:gtest", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) @@ -3036,7 +3034,7 @@ cc_library( "//src/image_gen:imagegenutils", "//src/image_gen:imagegen_init", ], - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, copts = COPTS_TESTS, ) @@ -3068,6 +3066,7 @@ cc_library( "@com_google_googletest//:gtest", ], copts = COPTS_TESTS, + local_defines = LOCAL_DEFINES_TESTS, linkopts = [], ) cc_library( @@ -3081,6 +3080,7 @@ cc_library( "@com_google_googletest//:gtest", ], copts = COPTS_TESTS, + local_defines = LOCAL_DEFINES_TESTS, linkopts = [], ) @@ -3095,6 +3095,7 @@ cc_library( "@com_google_googletest//:gtest", ], copts = COPTS_TESTS, + local_defines = LOCAL_DEFINES_TESTS, linkopts = [], ) @@ -3110,7 +3111,7 @@ cc_library( "//src/llm:output_parsers", ], copts = COPTS_TESTS, - local_defines = COMMON_LOCAL_DEFINES, + local_defines = LOCAL_DEFINES_TESTS, ) ovms_cc_library( diff --git a/src/graph_export/BUILD b/src/graph_export/BUILD index 0630805c53..8e8bfb24c8 100644 --- a/src/graph_export/BUILD +++ b/src/graph_export/BUILD @@ -15,7 +15,7 @@ # load("@mediapipe//mediapipe/framework/port:build_config.bzl", "mediapipe_cc_proto_library", "mediapipe_proto_library") -load("//:common_settings.bzl", "COPTS_MEDIAPIPE", "ovms_cc_library") +load("//:common_settings.bzl", "ovms_cc_library") ovms_cc_library( name = "graph_export", @@ -42,7 +42,6 @@ ovms_cc_library( ], "//:disable_mediapipe": [] }), - additional_copts = COPTS_MEDIAPIPE, visibility = ["//visibility:public"], ) diff --git a/src/llm/BUILD b/src/llm/BUILD index 979a42fdc9..0195973540 100644 --- a/src/llm/BUILD +++ b/src/llm/BUILD @@ -15,7 +15,7 @@ # load("@mediapipe//mediapipe/framework/port:build_config.bzl", "mediapipe_cc_proto_library", "mediapipe_proto_library") -load("//:common_settings.bzl", "ovms_cc_library", "PYBIND_DEPS", "COPTS_PYTHON") +load("//:common_settings.bzl", "ovms_cc_library", "PYBIND_DEPS") ovms_cc_library( name = "llmcalculator", @@ -35,7 +35,6 @@ ovms_cc_library( "//src:libovmslogging", "//src:libovmsstring_utils",], visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON, alwayslink = 1, # needed, so the calculator can be registered by MediaPipe ) @@ -65,7 +64,6 @@ ovms_cc_library( ":output_parsers", "//third_party:genai",], visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON ) ovms_cc_library( @@ -85,7 +83,6 @@ ovms_cc_library( ":output_parsers", "//third_party:genai",], visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON ) ovms_cc_library( @@ -105,7 +102,6 @@ ovms_cc_library( ":output_parsers", "//third_party:genai",], visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON ) ovms_cc_library( @@ -116,7 +112,6 @@ ovms_cc_library( "//src/port:rapidjson_document", ":apis_tool_schema_wrapper",], visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON ) ovms_cc_library( @@ -291,7 +286,6 @@ ovms_cc_library( "//src:libovmslogging", "//third_party:genai",], visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON ) ovms_cc_library( @@ -348,7 +342,6 @@ ovms_cc_library( "//:not_disable_python" : [":py_jinja_template_processor"], }), visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON ) ovms_cc_library( @@ -362,7 +355,6 @@ ovms_cc_library( "//src:libovmsstatus", ], visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON ) ovms_cc_library( @@ -375,6 +367,5 @@ ovms_cc_library( "//src/python:utils", ] + PYBIND_DEPS, visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON ) diff --git a/src/mediapipe_internal/BUILD b/src/mediapipe_internal/BUILD index 247b2c70b9..e47f09bb39 100644 --- a/src/mediapipe_internal/BUILD +++ b/src/mediapipe_internal/BUILD @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. # -load("//:common_settings.bzl", "COPTS_PYTHON", "COPTS_MEDIAPIPE", "ovms_cc_library") +load("//:common_settings.bzl", "ovms_cc_library") ovms_cc_library( name = "node_initializer", @@ -61,7 +61,6 @@ ovms_cc_library( "@mediapipe//mediapipe/framework:calculator_graph", ], visibility = ["//visibility:public"], - additional_copts = COPTS_MEDIAPIPE, ) ovms_cc_library( @@ -94,7 +93,6 @@ ovms_cc_library( "@mediapipe//mediapipe/framework:calculator_graph", ], visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON + COPTS_MEDIAPIPE, ) ovms_cc_library( @@ -128,7 +126,6 @@ ovms_cc_library( "@mediapipe//mediapipe/framework:calculator_graph", ], visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON + COPTS_MEDIAPIPE, ) ovms_cc_library( @@ -194,6 +191,5 @@ ovms_cc_library( "@mediapipe//mediapipe/framework/port:parse_text_proto", ], visibility = ["//visibility:public"], - additional_copts = COPTS_PYTHON + COPTS_MEDIAPIPE, alwayslink = 1, )