Skip to content

Commit

Permalink
Merge pull request grpc#14576 from jtattermusch/csharp_unity_xamarin_…
Browse files Browse the repository at this point in the history
…resources

C# useful unity & xamarin resources
  • Loading branch information
jtattermusch committed Mar 5, 2018
2 parents 6eae794 + 0f97a36 commit 79424cf
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/csharp/experimental/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
This directory contains useful resources for getting gRPC C# to work on
not-yet-supported platforms.

# Unity & Xamarin
gRPC C# currently doesn't support Unity or Xamarin, but some proof-of-concept
work has been done. Some of the resources are shared in this directory to
ease community work on Unity & Xamarin support.

## Crosscompiling `grpc_csharp_ext` for Android

* Install [Android NDK](https://developer.android.com/ndk/index.html)
* Run `./build_native_ext_for_android.sh` to crosscompile using cmake.

## Crosscompiling `grpc_csharp_ext` for iOS

TBD
37 changes: 37 additions & 0 deletions src/csharp/experimental/build_native_ext_for_android.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/sh
# Copyright 2018 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http:https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Helper script to crosscompile grpc_csharp_ext native extension for Android.

cd "$(dirname "$0")/../../../cmake"

mkdir -p build
cd build

# set to the location where Android SDK is installed
ANDROID_NDK_PATH="$HOME/android-ndk-r16b"

cmake ../.. \
-DCMAKE_SYSTEM_NAME=Android \
-DCMAKE_SYSTEM_VERSION=15 \
-DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a \
-DCMAKE_ANDROID_NDK="${ANDROID_NDK_PATH}" \
-DCMAKE_ANDROID_STL_TYPE=c++_static \
-DRUN_HAVE_POSIX_REGEX=0 \
-DRUN_HAVE_STD_REGEX=0 \
-DRUN_HAVE_STEADY_CLOCK=0 \
-DCMAKE_BUILD_TYPE=Release

make grpc_csharp_ext

0 comments on commit 79424cf

Please sign in to comment.