133d722a9Sopenharmony_ciload("@rules_cc//cc:defs.bzl", "cc_library") 233d722a9Sopenharmony_ciload("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_proc_macro") 333d722a9Sopenharmony_ci 433d722a9Sopenharmony_cirust_library( 533d722a9Sopenharmony_ci name = "cxx", 633d722a9Sopenharmony_ci srcs = glob(["src/**/*.rs"]), 733d722a9Sopenharmony_ci crate_features = [ 833d722a9Sopenharmony_ci "alloc", 933d722a9Sopenharmony_ci "std", 1033d722a9Sopenharmony_ci ], 1133d722a9Sopenharmony_ci edition = "2018", 1233d722a9Sopenharmony_ci proc_macro_deps = [ 1333d722a9Sopenharmony_ci ":cxxbridge-macro", 1433d722a9Sopenharmony_ci ], 1533d722a9Sopenharmony_ci visibility = ["//visibility:public"], 1633d722a9Sopenharmony_ci deps = [":core-lib"], 1733d722a9Sopenharmony_ci) 1833d722a9Sopenharmony_ci 1933d722a9Sopenharmony_cialias( 2033d722a9Sopenharmony_ci name = "codegen", 2133d722a9Sopenharmony_ci actual = ":cxxbridge", 2233d722a9Sopenharmony_ci visibility = ["//visibility:public"], 2333d722a9Sopenharmony_ci) 2433d722a9Sopenharmony_ci 2533d722a9Sopenharmony_cirust_binary( 2633d722a9Sopenharmony_ci name = "cxxbridge", 2733d722a9Sopenharmony_ci srcs = glob(["gen/cmd/src/**/*.rs"]), 2833d722a9Sopenharmony_ci data = ["gen/cmd/src/gen/include/cxx.h"], 2933d722a9Sopenharmony_ci edition = "2018", 3033d722a9Sopenharmony_ci deps = [ 3133d722a9Sopenharmony_ci "//third-party:clap", 3233d722a9Sopenharmony_ci "//third-party:codespan-reporting", 3333d722a9Sopenharmony_ci "//third-party:proc-macro2", 3433d722a9Sopenharmony_ci "//third-party:quote", 3533d722a9Sopenharmony_ci "//third-party:syn", 3633d722a9Sopenharmony_ci ], 3733d722a9Sopenharmony_ci) 3833d722a9Sopenharmony_ci 3933d722a9Sopenharmony_cicc_library( 4033d722a9Sopenharmony_ci name = "core", 4133d722a9Sopenharmony_ci hdrs = ["include/cxx.h"], 4233d722a9Sopenharmony_ci include_prefix = "rust", 4333d722a9Sopenharmony_ci strip_include_prefix = "include", 4433d722a9Sopenharmony_ci visibility = ["//visibility:public"], 4533d722a9Sopenharmony_ci) 4633d722a9Sopenharmony_ci 4733d722a9Sopenharmony_cicc_library( 4833d722a9Sopenharmony_ci name = "core-lib", 4933d722a9Sopenharmony_ci srcs = ["src/cxx.cc"], 5033d722a9Sopenharmony_ci hdrs = ["include/cxx.h"], 5133d722a9Sopenharmony_ci) 5233d722a9Sopenharmony_ci 5333d722a9Sopenharmony_cirust_proc_macro( 5433d722a9Sopenharmony_ci name = "cxxbridge-macro", 5533d722a9Sopenharmony_ci srcs = glob(["macro/src/**/*.rs"]), 5633d722a9Sopenharmony_ci edition = "2018", 5733d722a9Sopenharmony_ci deps = [ 5833d722a9Sopenharmony_ci "//third-party:proc-macro2", 5933d722a9Sopenharmony_ci "//third-party:quote", 6033d722a9Sopenharmony_ci "//third-party:syn", 6133d722a9Sopenharmony_ci ], 6233d722a9Sopenharmony_ci) 6333d722a9Sopenharmony_ci 6433d722a9Sopenharmony_cirust_library( 6533d722a9Sopenharmony_ci name = "cxx-build", 6633d722a9Sopenharmony_ci srcs = glob(["gen/build/src/**/*.rs"]), 6733d722a9Sopenharmony_ci data = ["gen/build/src/gen/include/cxx.h"], 6833d722a9Sopenharmony_ci edition = "2018", 6933d722a9Sopenharmony_ci deps = [ 7033d722a9Sopenharmony_ci "//third-party:cc", 7133d722a9Sopenharmony_ci "//third-party:codespan-reporting", 7233d722a9Sopenharmony_ci "//third-party:once_cell", 7333d722a9Sopenharmony_ci "//third-party:proc-macro2", 7433d722a9Sopenharmony_ci "//third-party:quote", 7533d722a9Sopenharmony_ci "//third-party:scratch", 7633d722a9Sopenharmony_ci "//third-party:syn", 7733d722a9Sopenharmony_ci ], 7833d722a9Sopenharmony_ci) 7933d722a9Sopenharmony_ci 8033d722a9Sopenharmony_cirust_library( 8133d722a9Sopenharmony_ci name = "cxx-gen", 8233d722a9Sopenharmony_ci srcs = glob(["gen/lib/src/**/*.rs"]), 8333d722a9Sopenharmony_ci data = ["gen/lib/src/gen/include/cxx.h"], 8433d722a9Sopenharmony_ci edition = "2018", 8533d722a9Sopenharmony_ci visibility = ["//visibility:public"], 8633d722a9Sopenharmony_ci deps = [ 8733d722a9Sopenharmony_ci "//third-party:cc", 8833d722a9Sopenharmony_ci "//third-party:codespan-reporting", 8933d722a9Sopenharmony_ci "//third-party:proc-macro2", 9033d722a9Sopenharmony_ci "//third-party:quote", 9133d722a9Sopenharmony_ci "//third-party:syn", 9233d722a9Sopenharmony_ci ], 9333d722a9Sopenharmony_ci) 94