| load("@rules_cc//cc:defs.bzl", "cc_library") |
| |
| # This macro provides for generating both "sleef<foo>" and |
| # "sleefdet<foo>" libraries for a given set of code. The difference is |
| # that the "det" libraries get compiled with "-DDETERMINISTIC=1". |
| |
| def sleef_cc_library(name, copts, **kwargs): |
| cc_library( |
| name = name, |
| copts = copts, |
| **kwargs |
| ) |
| |
| prefix = "sleef" |
| if not name.startswith(prefix): |
| fail("name {} does not start with {}".format(repr(name), repr(prefix))) |
| |
| cc_library( |
| name = name.replace(prefix, prefix + "det", 1), |
| copts = copts + ["-DDETERMINISTIC=1"], |
| **kwargs |
| ) |