blob: b8866889edbfac69f0dc4d787ae71affa9bc7d6c [file] [log] [blame]
load("//tools/adt/idea/studio:studio.bzl", "studio_data")
config_setting(
name = "macos",
constraint_values = [
"@platforms//cpu:x86_64",
"@platforms//os:macos",
],
)
config_setting(
name = "macos_arm",
constraint_values = [
"@platforms//cpu:arm64",
"@platforms//os:macos",
],
)
studio_data(
name = "native_lib",
files_linux = glob(["linux/*"]),
files_mac = glob(["mac/*"]),
files_mac_arm = glob(["mac_arm/*"]),
files_win = glob(["win/*"]),
mappings = {
"tools/adt/idea/streaming/native/linux/": "native/",
"tools/adt/idea/streaming/native/mac/": "native/",
"tools/adt/idea/streaming/native/mac_arm/": "native/",
"tools/adt/idea/streaming/native/win/": "native/",
},
visibility = ["//visibility:public"],
)
cc_library(
name = "image_converter",
srcs = ["ImageConverter.c"],
copts = ["-O2"] + select({
"@platforms//cpu:x86_64": ["-mmovbe"],
"//conditions:default": [],
}),
defines = ["NDEBUG"],
linkstatic = True,
deps = ["//prebuilts/studio/jdk:jni_headers"],
alwayslink = True,
)
cc_binary(
name = "libimage_converter.so",
linkopts = ["-Wl,--strip-all"],
linkshared = True,
stamp = 0,
target_compatible_with = ["@platforms//os:linux"],
visibility = ["//visibility:public"],
deps = [
":image_converter",
],
)
cc_binary(
name = "libimage_converter.dylib",
linkshared = True,
stamp = 0,
target_compatible_with = ["@platforms//os:macos"],
visibility = ["//visibility:public"],
deps = [
":image_converter",
],
)
cc_binary(
name = "image_converter.dll",
linkshared = True,
stamp = 0,
target_compatible_with = ["@platforms//os:windows"],
visibility = ["//visibility:public"],
deps = [
":image_converter",
],
)
filegroup(
name = "libimage_converter",
srcs = select({
"@platforms//os:linux": [":libimage_converter.so"],
"@platforms//os:macos": [":libimage_converter.dylib"],
"@platforms//os:windows": [":image_converter.dll"],
}),
visibility = ["//visibility:public"],
)
filegroup(
name = "libimage_converter.prebuilt",
srcs = select({
"@platforms//os:linux": glob(["linux/*"]),
":macos": glob(["mac/*"]),
":macos_arm": glob(["mac_arm/*"]),
"@platforms//os:windows": glob(["win/*"]),
}),
visibility = ["//visibility:public"],
)
# bazel run :update_libimage_converter
sh_binary(
name = "update_libimage_converter",
srcs = ["//tools/base/bazel/shell:workspace-cp.sh"],
args = [
"$(execpath libimage_converter)",
] + select({
"@platforms//os:linux": ["tools/adt/idea/streaming/native/linux"],
":macos": ["tools/adt/idea/streaming/native/mac"],
":macos_arm": ["tools/adt/idea/streaming/native/mac_arm"],
"@platforms//os:windows": ["tools/adt/idea/streaming/native/win"],
}),
data = [":libimage_converter"],
)