133d722a9Sopenharmony_ciexport_file( 233d722a9Sopenharmony_ci name = ".clippy.toml", 333d722a9Sopenharmony_ci visibility = ["toolchains//:rust"], 433d722a9Sopenharmony_ci) 533d722a9Sopenharmony_ci 633d722a9Sopenharmony_cirust_library( 733d722a9Sopenharmony_ci name = "cxx", 833d722a9Sopenharmony_ci srcs = glob(["src/**/*.rs"]), 933d722a9Sopenharmony_ci doc_deps = [ 1033d722a9Sopenharmony_ci ":cxx-build", 1133d722a9Sopenharmony_ci ], 1233d722a9Sopenharmony_ci edition = "2018", 1333d722a9Sopenharmony_ci features = [ 1433d722a9Sopenharmony_ci "alloc", 1533d722a9Sopenharmony_ci "std", 1633d722a9Sopenharmony_ci ], 1733d722a9Sopenharmony_ci visibility = ["PUBLIC"], 1833d722a9Sopenharmony_ci deps = [ 1933d722a9Sopenharmony_ci ":core", 2033d722a9Sopenharmony_ci ":cxxbridge-macro", 2133d722a9Sopenharmony_ci ], 2233d722a9Sopenharmony_ci) 2333d722a9Sopenharmony_ci 2433d722a9Sopenharmony_cialias( 2533d722a9Sopenharmony_ci name = "codegen", 2633d722a9Sopenharmony_ci actual = ":cxxbridge", 2733d722a9Sopenharmony_ci visibility = ["PUBLIC"], 2833d722a9Sopenharmony_ci) 2933d722a9Sopenharmony_ci 3033d722a9Sopenharmony_cirust_binary( 3133d722a9Sopenharmony_ci name = "cxxbridge", 3233d722a9Sopenharmony_ci srcs = glob(["gen/cmd/src/**/*.rs"]) + [ 3333d722a9Sopenharmony_ci "gen/cmd/src/gen", 3433d722a9Sopenharmony_ci "gen/cmd/src/syntax", 3533d722a9Sopenharmony_ci ], 3633d722a9Sopenharmony_ci edition = "2018", 3733d722a9Sopenharmony_ci deps = [ 3833d722a9Sopenharmony_ci "//third-party:clap", 3933d722a9Sopenharmony_ci "//third-party:codespan-reporting", 4033d722a9Sopenharmony_ci "//third-party:proc-macro2", 4133d722a9Sopenharmony_ci "//third-party:quote", 4233d722a9Sopenharmony_ci "//third-party:syn", 4333d722a9Sopenharmony_ci ], 4433d722a9Sopenharmony_ci) 4533d722a9Sopenharmony_ci 4633d722a9Sopenharmony_cicxx_library( 4733d722a9Sopenharmony_ci name = "core", 4833d722a9Sopenharmony_ci srcs = ["src/cxx.cc"], 4933d722a9Sopenharmony_ci exported_headers = { 5033d722a9Sopenharmony_ci "cxx.h": "include/cxx.h", 5133d722a9Sopenharmony_ci }, 5233d722a9Sopenharmony_ci header_namespace = "rust", 5333d722a9Sopenharmony_ci preferred_linkage = "static", 5433d722a9Sopenharmony_ci visibility = ["PUBLIC"], 5533d722a9Sopenharmony_ci) 5633d722a9Sopenharmony_ci 5733d722a9Sopenharmony_cirust_library( 5833d722a9Sopenharmony_ci name = "cxxbridge-macro", 5933d722a9Sopenharmony_ci srcs = glob(["macro/src/**/*.rs"]) + ["macro/src/syntax"], 6033d722a9Sopenharmony_ci doctests = False, 6133d722a9Sopenharmony_ci edition = "2018", 6233d722a9Sopenharmony_ci proc_macro = True, 6333d722a9Sopenharmony_ci deps = [ 6433d722a9Sopenharmony_ci "//third-party:proc-macro2", 6533d722a9Sopenharmony_ci "//third-party:quote", 6633d722a9Sopenharmony_ci "//third-party:syn", 6733d722a9Sopenharmony_ci ], 6833d722a9Sopenharmony_ci) 6933d722a9Sopenharmony_ci 7033d722a9Sopenharmony_cirust_library( 7133d722a9Sopenharmony_ci name = "cxx-build", 7233d722a9Sopenharmony_ci srcs = glob(["gen/build/src/**/*.rs"]) + [ 7333d722a9Sopenharmony_ci "gen/build/src/gen", 7433d722a9Sopenharmony_ci "gen/build/src/syntax", 7533d722a9Sopenharmony_ci ], 7633d722a9Sopenharmony_ci doctests = False, 7733d722a9Sopenharmony_ci edition = "2018", 7833d722a9Sopenharmony_ci deps = [ 7933d722a9Sopenharmony_ci "//third-party:cc", 8033d722a9Sopenharmony_ci "//third-party:codespan-reporting", 8133d722a9Sopenharmony_ci "//third-party:once_cell", 8233d722a9Sopenharmony_ci "//third-party:proc-macro2", 8333d722a9Sopenharmony_ci "//third-party:quote", 8433d722a9Sopenharmony_ci "//third-party:scratch", 8533d722a9Sopenharmony_ci "//third-party:syn", 8633d722a9Sopenharmony_ci ], 8733d722a9Sopenharmony_ci) 8833d722a9Sopenharmony_ci 8933d722a9Sopenharmony_cirust_library( 9033d722a9Sopenharmony_ci name = "cxx-gen", 9133d722a9Sopenharmony_ci srcs = glob(["gen/lib/src/**/*.rs"]) + [ 9233d722a9Sopenharmony_ci "gen/lib/src/gen", 9333d722a9Sopenharmony_ci "gen/lib/src/syntax", 9433d722a9Sopenharmony_ci ], 9533d722a9Sopenharmony_ci edition = "2018", 9633d722a9Sopenharmony_ci visibility = ["PUBLIC"], 9733d722a9Sopenharmony_ci deps = [ 9833d722a9Sopenharmony_ci "//third-party:cc", 9933d722a9Sopenharmony_ci "//third-party:codespan-reporting", 10033d722a9Sopenharmony_ci "//third-party:proc-macro2", 10133d722a9Sopenharmony_ci "//third-party:quote", 10233d722a9Sopenharmony_ci "//third-party:syn", 10333d722a9Sopenharmony_ci ], 10433d722a9Sopenharmony_ci) 105