grpc/examples
Benoit Daloze 0a5d9828c1
Make the gem build on TruffleRuby (#27660)
* replace darwin checks in extconf.rb to exclude TruffleRuby

* inherit RANLIB and STRIP from RbConfig, set LDXX

* enable overriding ranlib command in top-level makefile

* ensure the -no_warning_for_no_symbols flag is only used with Apple's ranlib

* don't embed openssl & zlib on truffleruby

* add RbConfig's cppflag to CPPFLAGS when using TruffleRuby

* this ensure the paths to find the system's OpenSSL are set up correctly with TruffleRuby (includes being able to find an OpenSSL installed via Homebrew etc)

* don't statically link standard libraries on Linux with Truffleruby

* This does not work when compiling to bitcode.

* Prefer SIGTERM to SIGQUIT for graceful shutdown in examples

* Overriding SIGQUIT is suboptimal, for example on JVM where it is very
  useful to dump the thread stacktraces.

* Keep the rb_tr_abi_version symbol for TruffleRuby in grpc_c.so

* Otherwise TruffleRuby cannot verify the ABI version is correct.
* See https://github.com/oracle/truffleruby/issues/2386

* Use RbConfig::CONFIG['STRIP'] instead of just `strip`

* Use a local variable for apple_toolchain for consistency

* Add a comment about -static-libgcc -static-libstdc++ and TruffleRuby

* Split comment into two for openssl/zlib

Co-authored-by: Nicolas Laurent <nicolas.laurent@oracle.com>
2022-06-27 23:12:13 -07:00
..
android Requiring C++14 (#29589) 2022-05-12 21:17:32 -07:00
cpp Requiring C++14 (#29589) 2022-05-12 21:17:32 -07:00
node Bump y18n from 4.0.0 to 4.0.3 in /examples/node (#28738) 2022-05-19 11:52:31 -07:00
objective-c Changed C99 to C11 (#29687) 2022-05-20 14:03:04 -07:00
php PHP: update examples (#28159) 2021-11-30 16:09:47 -08:00
protos Make Buildifier Sanity Test Strict (#27807) 2021-11-03 14:57:04 -07:00
python [Python] Add an UDS example (#29592) 2022-05-09 17:08:54 -07:00
ruby Make the gem build on TruffleRuby (#27660) 2022-06-27 23:12:13 -07:00
README.md Remove C# implementation (individual packages will continue to be maintained through v2.46.x patches or moved to grpc-dotnet) (#29225) 2022-04-28 12:00:34 +02:00

README.md

Examples

This directory contains examples for all the C-based gRPC implementations. Each language subdirectory contains a Hello World example and more:

For a complete list of supported languages, see Supported languages.

For comprehensive documentation, including an Introduction to gRPC and tutorials that use this example code, visit grpc.io.