| load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_import", "cc_library", "cc_test") |
| |
| package(default_visibility = ["//ffi/rust_calling_c:__subpackages__"]) |
| |
| cc_library( |
| name = "native_matrix", |
| srcs = ["matrix.c"], |
| hdrs = ["matrix.h"], |
| copts = ["-std=c99"], |
| ) |
| |
| cc_test( |
| name = "native_matrix_test", |
| srcs = ["matrix_test.c"], |
| copts = ["-std=c99"], |
| linkstatic = 1, |
| deps = [ |
| ":native_matrix", |
| ], |
| ) |
| |
| ## Do the same as above, but with a dynamic c library. |
| |
| cc_import( |
| name = "native_matrix_so", |
| hdrs = ["matrix.h"], |
| shared_library = ":libnative_matrix_so.so", |
| ) |
| |
| cc_binary( |
| name = "libnative_matrix_so.so", |
| srcs = [ |
| "matrix.c", |
| "matrix.h", |
| ], |
| copts = ["-std=c99"], |
| linkshared = True, |
| ) |