From 1ccafdc13f31b87757f0c854164b92e5f6d708fd Mon Sep 17 00:00:00 2001 From: PJ Reiniger Date: Wed, 2 Jul 2025 01:53:34 -0400 Subject: [PATCH] [bazel] Simple shared library implementation (#8044) --- apriltag/BUILD.bazel | 29 +++++++++++++++++-- datalog/BUILD.bazel | 22 +++++++++++++- hal/BUILD.bazel | 32 ++++++++++++++++++++- ntcore/BUILD.bazel | 26 ++++++++++++++++- romiVendordep/BUILD.bazel | 17 ++++++++++- shared/bazel/rules/cc_rules.bzl | 38 +++++++++++++++++++++++++ simulation/halsim_ds_socket/BUILD.bazel | 14 ++++++++- simulation/halsim_ws_core/BUILD.bazel | 16 ++++++++++- simulation/halsim_ws_server/BUILD.bazel | 16 ++++++++++- simulation/halsim_xrp/BUILD.bazel | 15 +++++++++- wpilibNewCommands/BUILD.bazel | 16 ++++++++++- wpilibc/BUILD.bazel | 18 +++++++++++- wpimath/BUILD.bazel | 30 +++++++++++++++++-- wpinet/BUILD.bazel | 24 +++++++++++++++- wpiutil/BUILD.bazel | 20 ++++++++++++- xrpVendordep/BUILD.bazel | 15 +++++++++- 16 files changed, 331 insertions(+), 17 deletions(-) diff --git a/apriltag/BUILD.bazel b/apriltag/BUILD.bazel index 81d5af5363..39dbad48c1 100644 --- a/apriltag/BUILD.bazel +++ b/apriltag/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_java//java:defs.bzl", "java_binary") load("@rules_pkg//:mappings.bzl", "pkg_files") load("@rules_pkg//pkg:zip.bzl", "pkg_zip") load("@rules_python//python:defs.bzl", "py_binary") -load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test") load("//shared/bazel/rules:jni_rules.bzl", "wpilib_jni_cc_library", "wpilib_jni_java_library") load("//shared/bazel/rules:packaging.bzl", "pkg_java_files") @@ -59,9 +59,9 @@ wpilib_cc_library( exclude = ["src/main/native/cpp/jni/**"], ), hdrs = glob(["src/main/native/include/**/*"]), - defines = ["WPILIB_EXPORTS"], extra_hdr_pkg_files = [":thirdparty-apriltag-src-pkg"], extra_src_pkg_files = [":apriltag-java-jni-hdrs-pkg"], + local_defines = ["WPILIB_EXPORTS"], strip_include_prefix = "src/main/native/include", visibility = ["//visibility:public"], deps = [ @@ -71,6 +71,19 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/apriltag", + auto_export_windows_symbols = False, + dynamic_deps = [ + "//wpimath:shared/wpimath", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [ + ":apriltag", + ], +) + wpilib_cc_static_library( name = "static/apriltag", static_deps = [ @@ -93,6 +106,18 @@ wpilib_jni_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/apriltagjni", + auto_export_windows_symbols = False, + dynamic_deps = [ + ":shared/apriltag", + "//wpimath:shared/wpimath", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [":apriltagjni"], +) + wpilib_jni_java_library( name = "apriltag-java", srcs = glob(["src/main/java/**/*.java"]), diff --git a/datalog/BUILD.bazel b/datalog/BUILD.bazel index 7c2f100316..d2df217877 100644 --- a/datalog/BUILD.bazel +++ b/datalog/BUILD.bazel @@ -1,7 +1,7 @@ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_test") load("@rules_java//java:defs.bzl", "java_binary") load("@rules_python//python:defs.bzl", "py_binary") -load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test") load("//shared/bazel/rules:jni_rules.bzl", "wpilib_jni_cc_library", "wpilib_jni_java_library") @@ -24,6 +24,15 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/datalog", + dynamic_deps = [ + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [":datalog"], +) + wpilib_cc_static_library( name = "static/datalog", static_deps = [ @@ -43,6 +52,17 @@ wpilib_jni_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/datalogjni", + auto_export_windows_symbols = False, + dynamic_deps = [ + ":shared/datalog", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [":datalogjni"], +) + wpilib_jni_java_library( name = "datalog-java", srcs = glob(["src/main/java/**/*.java"]), diff --git a/hal/BUILD.bazel b/hal/BUILD.bazel index 4c9d3fe3f3..07270b8f91 100644 --- a/hal/BUILD.bazel +++ b/hal/BUILD.bazel @@ -4,7 +4,7 @@ load("@rules_java//java:defs.bzl", "java_binary") load("@rules_pkg//:mappings.bzl", "pkg_files") load("@rules_python//python:defs.bzl", "py_binary") load("//hal:generate.bzl", "generate_hal") -load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test") load("//shared/bazel/rules:jni_rules.bzl", "wpilib_jni_cc_library", "wpilib_jni_java_library") @@ -111,6 +111,23 @@ wpilib_cc_library( }), ) +wpilib_cc_shared_library( + name = "shared/wpiHal", + dynamic_deps = [ + "//wpiutil:shared/wpiutil", + ] + select({ + "@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": [ + "//ntcore:shared/ntcore", + "//wpinet:shared/wpinet", + ], + "//conditions:default": [], + }), + visibility = ["//visibility:public"], + deps = [ + ":wpiHal", + ], +) + wpilib_cc_static_library( name = "static/wpiHal", static_deps = [ @@ -138,6 +155,19 @@ wpilib_jni_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/wpiHaljni", + auto_export_windows_symbols = False, + dynamic_deps = [ + ":shared/wpiHal", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [ + ":wpiHaljni", + ], +) + wpilib_jni_java_library( name = "hal-java", srcs = glob(["src/main/java/**/*.java"]), diff --git a/ntcore/BUILD.bazel b/ntcore/BUILD.bazel index 703515ccad..4d43c13a32 100644 --- a/ntcore/BUILD.bazel +++ b/ntcore/BUILD.bazel @@ -5,7 +5,7 @@ load("@rules_java//java:defs.bzl", "java_binary") load("@rules_pkg//pkg:zip.bzl", "pkg_zip") load("@rules_python//python:defs.bzl", "py_binary") load("//ntcore:generate_ntcore.bzl", "generate_ntcore") -load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test") load("//shared/bazel/rules:jni_rules.bzl", "wpilib_jni_cc_library", "wpilib_jni_java_library") load("//shared/bazel/rules:packaging.bzl", "pkg_java_files") @@ -101,6 +101,19 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/ntcore", + dynamic_deps = [ + "//datalog:shared/datalog", + "//wpinet:shared/wpinet", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [ + ":ntcore", + ], +) + wpilib_cc_static_library( name = "static/ntcore", static_deps = [ @@ -124,6 +137,17 @@ wpilib_jni_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/ntcorejni", + auto_export_windows_symbols = False, + dynamic_deps = [ + ":shared/ntcore", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [":ntcorejni"], +) + wpilib_jni_java_library( name = "ntcore-java", srcs = glob(["src/main/java/**/*.java"]) + [":generated_java"], diff --git a/romiVendordep/BUILD.bazel b/romiVendordep/BUILD.bazel index 43c9618752..fcab913e92 100644 --- a/romiVendordep/BUILD.bazel +++ b/romiVendordep/BUILD.bazel @@ -1,6 +1,6 @@ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_test") load("@rules_java//java:defs.bzl", "java_binary", "java_library") -load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") wpilib_cc_library( name = "romiVendordep", @@ -17,6 +17,21 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/romiVendordep", + dynamic_deps = [ + "//hal:shared/wpiHal", + "//ntcore:shared/ntcore", + "//wpilibc:shared/wpilibc", + "//wpinet:shared/wpinet", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [ + ":romiVendordep", + ], +) + wpilib_cc_static_library( name = "static/romiVendordep", static_deps = [ diff --git a/shared/bazel/rules/cc_rules.bzl b/shared/bazel/rules/cc_rules.bzl index 2e1a0acc5b..a9585cfa23 100644 --- a/shared/bazel/rules/cc_rules.bzl +++ b/shared/bazel/rules/cc_rules.bzl @@ -149,6 +149,32 @@ def wpilib_cc_library( tags = ["no-remote"], ) +def wpilib_cc_shared_library( + name, + auto_export_windows_symbols = True, + **kwargs): + features = [] + if auto_export_windows_symbols: + features.append("windows_export_all_symbols") + + native.cc_shared_library( + name = name, + features = features, + **kwargs + ) + + pkg_files( + name = name + "-shared.pkg", + srcs = [":" + name], + tags = ["manual"], + ) + + pkg_zip( + name = name + "-shared-zip", + srcs = ["//:license_pkg_files", name + "-shared.pkg"], + tags = ["no-remote", "manual"], + ) + CcStaticLibraryInfo = provider( "Information about a cc static library.", fields = { @@ -348,3 +374,15 @@ def wpilib_cc_static_library( static_lib_name = static_lib_name, **kwargs ) + + pkg_files( + name = name + "-static.pkg", + srcs = [":" + name], + tags = ["manual"], + ) + + pkg_zip( + name = name + "-static-zip", + srcs = ["//:license_pkg_files", name + "-static.pkg"], + tags = ["no-remote", "manual"], + ) diff --git a/simulation/halsim_ds_socket/BUILD.bazel b/simulation/halsim_ds_socket/BUILD.bazel index 1870584cae..2f8c16805a 100644 --- a/simulation/halsim_ds_socket/BUILD.bazel +++ b/simulation/halsim_ds_socket/BUILD.bazel @@ -1,5 +1,5 @@ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") -load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") cc_library( name = "headers", @@ -44,6 +44,18 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/halsim_ds_socket", + auto_export_windows_symbols = False, + dynamic_deps = [ + "//hal:shared/wpiHal", + "//wpinet:shared/wpinet", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [":halsim_ds_socket"], +) + wpilib_cc_static_library( name = "static/halsim_ds_socket", static_deps = [ diff --git a/simulation/halsim_ws_core/BUILD.bazel b/simulation/halsim_ws_core/BUILD.bazel index 7650bd674a..2b34593870 100644 --- a/simulation/halsim_ws_core/BUILD.bazel +++ b/simulation/halsim_ws_core/BUILD.bazel @@ -1,4 +1,4 @@ -load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") wpilib_cc_library( name = "halsim_ws_core", @@ -19,6 +19,20 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/halsim_ws_core", + auto_export_windows_symbols = False, + dynamic_deps = [ + "//hal:shared/wpiHal", + "//wpinet:shared/wpinet", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [ + ":halsim_ws_core", + ], +) + wpilib_cc_static_library( name = "static/halsim_ws_core", static_deps = [ diff --git a/simulation/halsim_ws_server/BUILD.bazel b/simulation/halsim_ws_server/BUILD.bazel index d76f085e5a..f1f31d1c20 100644 --- a/simulation/halsim_ws_server/BUILD.bazel +++ b/simulation/halsim_ws_server/BUILD.bazel @@ -1,5 +1,5 @@ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") -load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") cc_library( name = "headers", @@ -42,6 +42,20 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/halsim_ws_server", + auto_export_windows_symbols = False, + dynamic_deps = [ + "//hal:shared/wpiHal", + "//wpinet:shared/wpinet", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [ + ":halsim_ws_server", + ], +) + wpilib_cc_static_library( name = "static/halsim_ws_server", static_deps = [ diff --git a/simulation/halsim_xrp/BUILD.bazel b/simulation/halsim_xrp/BUILD.bazel index 47cbb14071..082aba1575 100644 --- a/simulation/halsim_xrp/BUILD.bazel +++ b/simulation/halsim_xrp/BUILD.bazel @@ -1,5 +1,5 @@ load("@rules_cc//cc:defs.bzl", "cc_binary") -load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") wpilib_cc_library( name = "halsim_xrp", @@ -44,6 +44,19 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/halsim_xrp", + auto_export_windows_symbols = False, + dynamic_deps = [ + "//wpinet:shared/wpinet", + "//hal:shared/wpiHal", + ], + visibility = ["//visibility:public"], + deps = [ + ":halsim_xrp", + ], +) + wpilib_cc_static_library( name = "static/halsim_xrp", static_deps = [ diff --git a/wpilibNewCommands/BUILD.bazel b/wpilibNewCommands/BUILD.bazel index 5ed5c07703..58d3a77855 100644 --- a/wpilibNewCommands/BUILD.bazel +++ b/wpilibNewCommands/BUILD.bazel @@ -4,7 +4,7 @@ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_test") load("@rules_java//java:defs.bzl", "java_binary", "java_library") load("@rules_pkg//pkg:zip.bzl", "pkg_zip") load("@rules_python//python:defs.bzl", "py_binary") -load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test") load("//shared/bazel/rules:packaging.bzl", "pkg_java_files") load("//wpilibNewCommands:generate.bzl", "generate_wpilib_new_commands") @@ -68,6 +68,20 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/wpilibNewCommands", + dynamic_deps = [ + "//hal:shared/wpiHal", + "//ntcore:shared/ntcore", + "//wpilibc:shared/wpilibc", + "//wpimath:shared/wpimath", + "//wpinet:shared/wpinet", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [":wpilibNewCommands"], +) + wpilib_cc_static_library( name = "static/wpilibNewCommands", static_deps = [ diff --git a/wpilibc/BUILD.bazel b/wpilibc/BUILD.bazel index a1e7836f4e..d369806ecc 100644 --- a/wpilibc/BUILD.bazel +++ b/wpilibc/BUILD.bazel @@ -2,7 +2,7 @@ load("@allwpilib_pip_deps//:requirements.bzl", "requirement") load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_files") load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") load("@rules_python//python:defs.bzl", "py_binary") -load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") load("//shared/bazel/rules/gen:gen-version-file.bzl", "generate_version_file") load("//wpilibc:generate.bzl", "generate_wpilibc") @@ -107,6 +107,22 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/wpilibc", + dynamic_deps = [ + "//datalog:shared/datalog", + "//hal:shared/wpiHal", + "//ntcore:shared/ntcore", + "//wpimath:shared/wpimath", + "//wpinet:shared/wpinet", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [ + ":wpilibc", + ], +) + wpilib_cc_static_library( name = "static/wpilibc", static_deps = [ diff --git a/wpimath/BUILD.bazel b/wpimath/BUILD.bazel index 69b64fc3d3..9e02e826c3 100644 --- a/wpimath/BUILD.bazel +++ b/wpimath/BUILD.bazel @@ -4,7 +4,7 @@ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") load("@rules_java//java:defs.bzl", "java_binary") load("@rules_pkg//pkg:zip.bzl", "pkg_zip") load("@rules_python//python:defs.bzl", "py_binary") -load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test") load("//shared/bazel/rules:jni_rules.bzl", "wpilib_jni_cc_library", "wpilib_jni_java_library") load("//shared/bazel/rules:packaging.bzl", "pkg_java_files") @@ -121,7 +121,6 @@ wpilib_cc_library( exclude = ["src/main/native/cpp/jni/**"], ), hdrs = glob(["src/main/native/include/**"]), - defines = ["WPILIB_EXPORTS"], extra_src_pkg_files = [ ":wpimath-java-jni-hdrs-pkg", ], @@ -129,6 +128,10 @@ wpilib_cc_library( "src/main/native/include", "src/main/native/thirdparty/sleipnir/src", ], + local_defines = [ + "WPILIB_EXPORTS", + "SLEIPNIR_EXPORTS", + ], strip_include_prefix = "src/main/native/include", third_party_header_only_libraries = [ ":eigen", @@ -144,6 +147,18 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/wpimath", + auto_export_windows_symbols = False, + dynamic_deps = [ + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [ + ":wpimath", + ], +) + wpilib_cc_static_library( name = "static/wpimath", static_deps = [ @@ -165,6 +180,17 @@ wpilib_jni_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/wpimathjni", + auto_export_windows_symbols = False, + dynamic_deps = [ + ":shared/wpimath", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [":wpimathjni"], +) + wpilib_jni_java_library( name = "wpimath-java", srcs = [":generated_java"] + glob(["src/main/java/**/*.java"]), diff --git a/wpinet/BUILD.bazel b/wpinet/BUILD.bazel index 73819565c9..dda347689f 100644 --- a/wpinet/BUILD.bazel +++ b/wpinet/BUILD.bazel @@ -1,7 +1,7 @@ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") load("@rules_java//java:defs.bzl", "java_binary") load("@rules_pkg//:mappings.bzl", "pkg_files") -load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test") load("//shared/bazel/rules:jni_rules.bzl", "wpilib_jni_cc_library", "wpilib_jni_java_library") load("//shared/bazel/rules/gen:gen-resources.bzl", "generate_resources") @@ -149,6 +149,17 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/wpinet", + dynamic_deps = [ + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [ + ":wpinet", + ], +) + wpilib_cc_static_library( name = "static/wpinet", static_deps = [ @@ -173,6 +184,17 @@ wpilib_jni_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/wpinetjni", + auto_export_windows_symbols = False, + dynamic_deps = [ + ":shared/wpinet", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [":wpinetjni"], +) + wpilib_jni_java_library( name = "wpinet-java", srcs = glob(["src/main/java/**/*.java"]), diff --git a/wpiutil/BUILD.bazel b/wpiutil/BUILD.bazel index 3760063605..f653a6fae9 100644 --- a/wpiutil/BUILD.bazel +++ b/wpiutil/BUILD.bazel @@ -4,7 +4,7 @@ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") load("@rules_java//java:defs.bzl", "java_binary") load("@rules_pkg//pkg:zip.bzl", "pkg_zip") load("@rules_python//python:defs.bzl", "py_binary") -load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "third_party_cc_lib_helper", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test") load("//shared/bazel/rules:jni_rules.bzl", "wpilib_jni_cc_library", "wpilib_jni_java_library") load("//shared/bazel/rules:packaging.bzl", "pkg_java_files") @@ -164,6 +164,14 @@ wpilib_cc_library( }), ) +wpilib_cc_shared_library( + name = "shared/wpiutil", + visibility = ["//visibility:public"], + deps = [ + ":wpiutil", + ], +) + wpilib_cc_static_library( name = "static/wpiutil", visibility = ["//visibility:public"], @@ -196,6 +204,16 @@ wpilib_jni_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/wpiutiljni", + auto_export_windows_symbols = False, + dynamic_deps = [ + ":shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [":wpiutiljni"], +) + wpilib_cc_static_library( name = "static/wpiutiljni", static_deps = [ diff --git a/xrpVendordep/BUILD.bazel b/xrpVendordep/BUILD.bazel index 81f4d8a46d..204c890129 100644 --- a/xrpVendordep/BUILD.bazel +++ b/xrpVendordep/BUILD.bazel @@ -1,6 +1,6 @@ load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_test") load("@rules_java//java:defs.bzl", "java_binary", "java_library") -load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library") +load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_shared_library", "wpilib_cc_static_library") wpilib_cc_library( name = "xrpVendordep", @@ -17,6 +17,19 @@ wpilib_cc_library( ], ) +wpilib_cc_shared_library( + name = "shared/xrpVendordep", + dynamic_deps = [ + "//hal:shared/wpiHal", + "//ntcore:shared/ntcore", + "//wpilibc:shared/wpilibc", + "//wpinet:shared/wpinet", + "//wpiutil:shared/wpiutil", + ], + visibility = ["//visibility:public"], + deps = [":xrpVendordep"], +) + wpilib_cc_static_library( name = "static/xrpVendordep", static_deps = [