Skip to content

Commit c1a7e00

Browse files
committed
grpc-native: Working linux arm64 and x64
1 parent 36d8af0 commit c1a7e00

22 files changed

+355
-146
lines changed

cinterop-c/.bazelrc

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
build --experimental_cc_static_library --experimental_platform_in_output_dir
2-
build --action_env=KONAN_HOME
3-
build --host_action_env=KONAN_HOME
4-
build --cxxopt=-std=c++17
5-
build --host_cxxopt=-std=c++17
62

73
build:release --compilation_mode=opt --strip=always
84

@@ -11,6 +7,6 @@ build:macos_x64 --platforms=@build_bazel_apple_support//platforms:macos_x86_64 -
117
build:ios_arm64 --platforms=@build_bazel_apple_support//platforms:ios_arm64 --apple_platform_type=ios
128
build:ios_simulator_arm64 --platforms=@build_bazel_apple_support//platforms:ios_sim_arm64 --apple_platform_type=ios
139
build:ios_x64 --platforms=@build_bazel_apple_support//platforms:ios_x86_64 --apple_platform_type=ios
14-
build:linux_arm64 --platforms=@toolchains_llvm//platforms:linux-aarch64
1510

16-
build:linux_x64 --platforms=@toolchains_llvm//platforms:linux-x86_64
11+
build:linux_arm64 --platforms=//platforms:linux_arm64
12+
build:linux_x64 --platforms=//platforms:linux_x86_64

cinterop-c/MODULE.bazel

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@ bazel_dep(
2929

3030
# Linux toolchain setup (cross-compile)
3131

32-
#TODO: Remove
33-
bazel_dep(name = "toolchains_llvm", version = "1.4.0")
34-
3532
register_toolchains(
3633
"//toolchain:toolchain_linux_x64_konan",
37-
# "//toolchain:exec_macos_konan",
34+
"//toolchain:toolchain_linux_arm64_konan",
3835
)

cinterop-c/MODULE.bazel.lock

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cinterop-c/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,12 @@ The binary can be updated by running
2121
```bash
2222
./gradlew :grpc:grpc-core:buildDependencyCLibGrpc_fat_iosArm64
2323
```
24+
25+
### Compiling for Linux
26+
27+
To produce K/N compatible static libraries, we use the Konan toolchain for compilation.
28+
The Bazel toolchain is specified in `toolchain/` and requires the user to specify the
29+
`KONAN_HOME` variable like
30+
```bash
31+
bazel build //:protowire --config=linux_arm64 --define=KONAN_HOME=$HOME/.konan/kotlin-native-prebuilt-macos-aarch64-2.2.10
32+
```

0 commit comments

Comments
 (0)