load("@bazel_skylib//rules:copy_file.bzl", "copy_file") load("@rules_cc//cc:cc_static_library.bzl", "cc_static_library") load("@rules_cc//cc:defs.bzl", "cc_library") package(default_visibility = ["//visibility:public"]) V8_COPTS = ["-std=c++20"] V8_STATIC_LIBRARY_FEATURES = [ "-symbol_check", "-validate-static-library", ] genrule( name = "binding_cc", srcs = ["@v8_crate_146_4_0//:binding_cc"], outs = ["binding.cc"], cmd = """ sed \ -e '/#include "v8\\/src\\/flags\\/flags.h"/d' \ -e 's|"v8/src/libplatform/default-platform.h"|"src/libplatform/default-platform.h"|' \ -e 's| namespace i = v8::internal;| (void)usage;|' \ -e '/using HelpOptions = i::FlagList::HelpOptions;/d' \ -e '/HelpOptions help_options = HelpOptions(HelpOptions::kExit, usage);/d' \ -e 's| i::FlagList::SetFlagsFromCommandLine(argc, argv, true, help_options);| v8::V8::SetFlagsFromCommandLine(argc, argv, true);|' \ $(location @v8_crate_146_4_0//:binding_cc) > "$@" """, ) copy_file( name = "support_h", src = "@v8_crate_146_4_0//:support_h", out = "support.h", ) cc_library( name = "v8_146_4_0_binding", srcs = [":binding_cc"], hdrs = [":support_h"], copts = V8_COPTS, deps = [ "@v8//:core_lib_icu", "@v8//:rusty_v8_internal_headers", ], ) cc_static_library( name = "v8_146_4_0_x86_64_apple_darwin", deps = [":v8_146_4_0_binding"], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( name = "v8_146_4_0_aarch64_apple_darwin", deps = [":v8_146_4_0_binding"], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( name = "v8_146_4_0_aarch64_unknown_linux_gnu", deps = [":v8_146_4_0_binding"], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( name = "v8_146_4_0_x86_64_unknown_linux_gnu", deps = [":v8_146_4_0_binding"], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( name = "v8_146_4_0_aarch64_unknown_linux_musl_base", deps = [":v8_146_4_0_binding"], features = V8_STATIC_LIBRARY_FEATURES, ) genrule( name = "v8_146_4_0_aarch64_unknown_linux_musl", srcs = [ ":v8_146_4_0_aarch64_unknown_linux_musl_base", "@llvm//runtimes/compiler-rt:clang_rt.builtins.static", ], tools = [ "@llvm//tools:llvm-ar", "@llvm//tools:llvm-ranlib", ], outs = ["libv8_146_4_0_aarch64_unknown_linux_musl.a"], cmd = """ cat > "$(@D)/merge.mri" <<'EOF' create $@ addlib $(location :v8_146_4_0_aarch64_unknown_linux_musl_base) addlib $(location @llvm//runtimes/compiler-rt:clang_rt.builtins.static) save end EOF $(location @llvm//tools:llvm-ar) -M < "$(@D)/merge.mri" $(location @llvm//tools:llvm-ranlib) "$@" """, ) cc_static_library( name = "v8_146_4_0_x86_64_unknown_linux_musl", deps = [":v8_146_4_0_binding"], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( name = "v8_146_4_0_aarch64_pc_windows_msvc", deps = [":v8_146_4_0_binding"], features = V8_STATIC_LIBRARY_FEATURES, ) cc_static_library( name = "v8_146_4_0_x86_64_pc_windows_msvc", deps = [":v8_146_4_0_binding"], features = V8_STATIC_LIBRARY_FEATURES, ) alias( name = "v8_146_4_0_aarch64_pc_windows_gnullvm", actual = ":v8_146_4_0_aarch64_pc_windows_msvc", ) alias( name = "v8_146_4_0_x86_64_pc_windows_gnullvm", actual = ":v8_146_4_0_x86_64_pc_windows_msvc", ) filegroup( name = "src_binding_release_x86_64_apple_darwin", srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_apple_darwin"], ) filegroup( name = "src_binding_release_aarch64_apple_darwin", srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_apple_darwin"], ) filegroup( name = "src_binding_release_aarch64_unknown_linux_gnu", srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_unknown_linux_gnu"], ) filegroup( name = "src_binding_release_x86_64_unknown_linux_gnu", srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_unknown_linux_gnu"], ) filegroup( name = "src_binding_release_aarch64_unknown_linux_musl", srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_unknown_linux_gnu"], ) filegroup( name = "src_binding_release_x86_64_unknown_linux_musl", srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_unknown_linux_gnu"], ) filegroup( name = "src_binding_release_x86_64_pc_windows_msvc", srcs = ["@v8_crate_146_4_0//:src_binding_release_x86_64_pc_windows_msvc"], ) filegroup( name = "src_binding_release_aarch64_pc_windows_msvc", srcs = ["@v8_crate_146_4_0//:src_binding_release_aarch64_pc_windows_msvc"], ) alias( name = "src_binding_release_x86_64_pc_windows_gnullvm", actual = ":src_binding_release_x86_64_pc_windows_msvc", ) alias( name = "src_binding_release_aarch64_pc_windows_gnullvm", actual = ":src_binding_release_aarch64_pc_windows_msvc", ) filegroup( name = "rusty_v8_release_pair_x86_64_apple_darwin", srcs = [ ":v8_146_4_0_x86_64_apple_darwin", ":src_binding_release_x86_64_apple_darwin", ], ) filegroup( name = "rusty_v8_release_pair_aarch64_apple_darwin", srcs = [ ":v8_146_4_0_aarch64_apple_darwin", ":src_binding_release_aarch64_apple_darwin", ], ) filegroup( name = "rusty_v8_release_pair_x86_64_unknown_linux_gnu", srcs = [ ":v8_146_4_0_x86_64_unknown_linux_gnu", ":src_binding_release_x86_64_unknown_linux_gnu", ], ) filegroup( name = "rusty_v8_release_pair_aarch64_unknown_linux_gnu", srcs = [ ":v8_146_4_0_aarch64_unknown_linux_gnu", ":src_binding_release_aarch64_unknown_linux_gnu", ], ) filegroup( name = "rusty_v8_release_pair_x86_64_unknown_linux_musl", srcs = [ ":v8_146_4_0_x86_64_unknown_linux_musl", ":src_binding_release_x86_64_unknown_linux_musl", ], ) filegroup( name = "rusty_v8_release_pair_aarch64_unknown_linux_musl", srcs = [ ":v8_146_4_0_aarch64_unknown_linux_musl", ":src_binding_release_aarch64_unknown_linux_musl", ], ) filegroup( name = "rusty_v8_release_pair_x86_64_pc_windows_msvc", srcs = [ ":v8_146_4_0_x86_64_pc_windows_msvc", ":src_binding_release_x86_64_pc_windows_msvc", ], ) filegroup( name = "rusty_v8_release_pair_aarch64_pc_windows_msvc", srcs = [ ":v8_146_4_0_aarch64_pc_windows_msvc", ":src_binding_release_aarch64_pc_windows_msvc", ], )