aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--build.yaml6
-rwxr-xr-xgrpc.gemspec427
-rw-r--r--src/ruby/ext/grpc/extconf.rb2
-rw-r--r--src/ruby/lib/grpc.rb6
-rw-r--r--src/ruby/lib/grpc/generic/bidi_call.rb2
-rw-r--r--src/ruby/lib/grpc/generic/rpc_desc.rb2
-rw-r--r--src/ruby/lib/grpc/generic/rpc_server.rb2
-rw-r--r--src/ruby/lib/grpc/loader.rb34
-rw-r--r--templates/grpc.gemspec.template4
9 files changed, 474 insertions, 11 deletions
diff --git a/build.yaml b/build.yaml
index e9dd788f0c..52d4048dd4 100644
--- a/build.yaml
+++ b/build.yaml
@@ -2642,3 +2642,9 @@ python_dependencies:
- gpr
- boringssl
- z
+ruby_gem:
+ deps:
+ - grpc
+ - gpr
+ - boringssl
+ - z
diff --git a/grpc.gemspec b/grpc.gemspec
index c38d13cb8b..988aec59fa 100755
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -415,4 +415,431 @@ Gem::Specification.new do |s|
s.files += %w( src/core/census/operation.c )
s.files += %w( src/core/census/tag_set.c )
s.files += %w( src/core/census/tracing.c )
+ s.files += %w( third_party/boringssl/crypto/aes/internal.h )
+ s.files += %w( third_party/boringssl/crypto/asn1/asn1_locl.h )
+ s.files += %w( third_party/boringssl/crypto/bio/internal.h )
+ s.files += %w( third_party/boringssl/crypto/bn/internal.h )
+ s.files += %w( third_party/boringssl/crypto/bn/rsaz_exp.h )
+ s.files += %w( third_party/boringssl/crypto/bytestring/internal.h )
+ s.files += %w( third_party/boringssl/crypto/cipher/internal.h )
+ s.files += %w( third_party/boringssl/crypto/conf/conf_def.h )
+ s.files += %w( third_party/boringssl/crypto/conf/internal.h )
+ s.files += %w( third_party/boringssl/crypto/des/internal.h )
+ s.files += %w( third_party/boringssl/crypto/dh/internal.h )
+ s.files += %w( third_party/boringssl/crypto/digest/internal.h )
+ s.files += %w( third_party/boringssl/crypto/digest/md32_common.h )
+ s.files += %w( third_party/boringssl/crypto/directory.h )
+ s.files += %w( third_party/boringssl/crypto/dsa/internal.h )
+ s.files += %w( third_party/boringssl/crypto/ec/internal.h )
+ s.files += %w( third_party/boringssl/crypto/ec/p256-x86_64-table.h )
+ s.files += %w( third_party/boringssl/crypto/evp/internal.h )
+ s.files += %w( third_party/boringssl/crypto/internal.h )
+ s.files += %w( third_party/boringssl/crypto/modes/internal.h )
+ s.files += %w( third_party/boringssl/crypto/obj/obj_dat.h )
+ s.files += %w( third_party/boringssl/crypto/obj/obj_xref.h )
+ s.files += %w( third_party/boringssl/crypto/pkcs8/internal.h )
+ s.files += %w( third_party/boringssl/crypto/rand/internal.h )
+ s.files += %w( third_party/boringssl/crypto/rsa/internal.h )
+ s.files += %w( third_party/boringssl/crypto/test/scoped_types.h )
+ s.files += %w( third_party/boringssl/crypto/test/test_util.h )
+ s.files += %w( third_party/boringssl/crypto/x509/charmap.h )
+ s.files += %w( third_party/boringssl/crypto/x509/vpm_int.h )
+ s.files += %w( third_party/boringssl/crypto/x509v3/ext_dat.h )
+ s.files += %w( third_party/boringssl/crypto/x509v3/pcy_int.h )
+ s.files += %w( third_party/boringssl/include/openssl/aead.h )
+ s.files += %w( third_party/boringssl/include/openssl/aes.h )
+ s.files += %w( third_party/boringssl/include/openssl/arm_arch.h )
+ s.files += %w( third_party/boringssl/include/openssl/asn1.h )
+ s.files += %w( third_party/boringssl/include/openssl/asn1_mac.h )
+ s.files += %w( third_party/boringssl/include/openssl/asn1t.h )
+ s.files += %w( third_party/boringssl/include/openssl/base.h )
+ s.files += %w( third_party/boringssl/include/openssl/base64.h )
+ s.files += %w( third_party/boringssl/include/openssl/bio.h )
+ s.files += %w( third_party/boringssl/include/openssl/blowfish.h )
+ s.files += %w( third_party/boringssl/include/openssl/bn.h )
+ s.files += %w( third_party/boringssl/include/openssl/buf.h )
+ s.files += %w( third_party/boringssl/include/openssl/buffer.h )
+ s.files += %w( third_party/boringssl/include/openssl/bytestring.h )
+ s.files += %w( third_party/boringssl/include/openssl/cast.h )
+ s.files += %w( third_party/boringssl/include/openssl/chacha.h )
+ s.files += %w( third_party/boringssl/include/openssl/cipher.h )
+ s.files += %w( third_party/boringssl/include/openssl/cmac.h )
+ s.files += %w( third_party/boringssl/include/openssl/conf.h )
+ s.files += %w( third_party/boringssl/include/openssl/cpu.h )
+ s.files += %w( third_party/boringssl/include/openssl/crypto.h )
+ s.files += %w( third_party/boringssl/include/openssl/curve25519.h )
+ s.files += %w( third_party/boringssl/include/openssl/des.h )
+ s.files += %w( third_party/boringssl/include/openssl/dh.h )
+ s.files += %w( third_party/boringssl/include/openssl/digest.h )
+ s.files += %w( third_party/boringssl/include/openssl/dsa.h )
+ s.files += %w( third_party/boringssl/include/openssl/dtls1.h )
+ s.files += %w( third_party/boringssl/include/openssl/ec.h )
+ s.files += %w( third_party/boringssl/include/openssl/ec_key.h )
+ s.files += %w( third_party/boringssl/include/openssl/ecdh.h )
+ s.files += %w( third_party/boringssl/include/openssl/ecdsa.h )
+ s.files += %w( third_party/boringssl/include/openssl/engine.h )
+ s.files += %w( third_party/boringssl/include/openssl/err.h )
+ s.files += %w( third_party/boringssl/include/openssl/evp.h )
+ s.files += %w( third_party/boringssl/include/openssl/ex_data.h )
+ s.files += %w( third_party/boringssl/include/openssl/hkdf.h )
+ s.files += %w( third_party/boringssl/include/openssl/hmac.h )
+ s.files += %w( third_party/boringssl/include/openssl/lhash.h )
+ s.files += %w( third_party/boringssl/include/openssl/lhash_macros.h )
+ s.files += %w( third_party/boringssl/include/openssl/md4.h )
+ s.files += %w( third_party/boringssl/include/openssl/md5.h )
+ s.files += %w( third_party/boringssl/include/openssl/mem.h )
+ s.files += %w( third_party/boringssl/include/openssl/obj.h )
+ s.files += %w( third_party/boringssl/include/openssl/obj_mac.h )
+ s.files += %w( third_party/boringssl/include/openssl/objects.h )
+ s.files += %w( third_party/boringssl/include/openssl/opensslfeatures.h )
+ s.files += %w( third_party/boringssl/include/openssl/opensslv.h )
+ s.files += %w( third_party/boringssl/include/openssl/ossl_typ.h )
+ s.files += %w( third_party/boringssl/include/openssl/pem.h )
+ s.files += %w( third_party/boringssl/include/openssl/pkcs12.h )
+ s.files += %w( third_party/boringssl/include/openssl/pkcs7.h )
+ s.files += %w( third_party/boringssl/include/openssl/pkcs8.h )
+ s.files += %w( third_party/boringssl/include/openssl/poly1305.h )
+ s.files += %w( third_party/boringssl/include/openssl/pqueue.h )
+ s.files += %w( third_party/boringssl/include/openssl/rand.h )
+ s.files += %w( third_party/boringssl/include/openssl/rc4.h )
+ s.files += %w( third_party/boringssl/include/openssl/rsa.h )
+ s.files += %w( third_party/boringssl/include/openssl/safestack.h )
+ s.files += %w( third_party/boringssl/include/openssl/sha.h )
+ s.files += %w( third_party/boringssl/include/openssl/srtp.h )
+ s.files += %w( third_party/boringssl/include/openssl/ssl.h )
+ s.files += %w( third_party/boringssl/include/openssl/ssl3.h )
+ s.files += %w( third_party/boringssl/include/openssl/stack.h )
+ s.files += %w( third_party/boringssl/include/openssl/stack_macros.h )
+ s.files += %w( third_party/boringssl/include/openssl/thread.h )
+ s.files += %w( third_party/boringssl/include/openssl/time_support.h )
+ s.files += %w( third_party/boringssl/include/openssl/tls1.h )
+ s.files += %w( third_party/boringssl/include/openssl/type_check.h )
+ s.files += %w( third_party/boringssl/include/openssl/x509.h )
+ s.files += %w( third_party/boringssl/include/openssl/x509_vfy.h )
+ s.files += %w( third_party/boringssl/include/openssl/x509v3.h )
+ s.files += %w( third_party/boringssl/ssl/internal.h )
+ s.files += %w( third_party/boringssl/ssl/test/async_bio.h )
+ s.files += %w( third_party/boringssl/ssl/test/packeted_bio.h )
+ s.files += %w( third_party/boringssl/ssl/test/scoped_types.h )
+ s.files += %w( third_party/boringssl/ssl/test/test_config.h )
+ s.files += %w( src/boringssl/err_data.c )
+ s.files += %w( third_party/boringssl/crypto/aes/aes.c )
+ s.files += %w( third_party/boringssl/crypto/aes/mode_wrappers.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_bitstr.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_bool.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_bytes.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_d2i_fp.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_dup.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_enum.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_gentm.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_i2d_fp.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_int.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_mbstr.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_object.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_octet.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_print.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_strnid.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_time.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_type.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_utctm.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/a_utf8.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/asn1_lib.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/asn1_par.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/asn_pack.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/bio_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/bio_ndef.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/f_enum.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/f_int.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/f_string.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/t_bitst.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/t_pkey.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/tasn_dec.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/tasn_enc.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/tasn_fre.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/tasn_new.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/tasn_prn.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/tasn_typ.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/tasn_utl.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/x_bignum.c )
+ s.files += %w( third_party/boringssl/crypto/asn1/x_long.c )
+ s.files += %w( third_party/boringssl/crypto/base64/base64.c )
+ s.files += %w( third_party/boringssl/crypto/bio/bio.c )
+ s.files += %w( third_party/boringssl/crypto/bio/bio_mem.c )
+ s.files += %w( third_party/boringssl/crypto/bio/buffer.c )
+ s.files += %w( third_party/boringssl/crypto/bio/connect.c )
+ s.files += %w( third_party/boringssl/crypto/bio/fd.c )
+ s.files += %w( third_party/boringssl/crypto/bio/file.c )
+ s.files += %w( third_party/boringssl/crypto/bio/hexdump.c )
+ s.files += %w( third_party/boringssl/crypto/bio/pair.c )
+ s.files += %w( third_party/boringssl/crypto/bio/printf.c )
+ s.files += %w( third_party/boringssl/crypto/bio/socket.c )
+ s.files += %w( third_party/boringssl/crypto/bio/socket_helper.c )
+ s.files += %w( third_party/boringssl/crypto/bn/add.c )
+ s.files += %w( third_party/boringssl/crypto/bn/asm/x86_64-gcc.c )
+ s.files += %w( third_party/boringssl/crypto/bn/bn.c )
+ s.files += %w( third_party/boringssl/crypto/bn/bn_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/bn/cmp.c )
+ s.files += %w( third_party/boringssl/crypto/bn/convert.c )
+ s.files += %w( third_party/boringssl/crypto/bn/ctx.c )
+ s.files += %w( third_party/boringssl/crypto/bn/div.c )
+ s.files += %w( third_party/boringssl/crypto/bn/exponentiation.c )
+ s.files += %w( third_party/boringssl/crypto/bn/gcd.c )
+ s.files += %w( third_party/boringssl/crypto/bn/generic.c )
+ s.files += %w( third_party/boringssl/crypto/bn/kronecker.c )
+ s.files += %w( third_party/boringssl/crypto/bn/montgomery.c )
+ s.files += %w( third_party/boringssl/crypto/bn/mul.c )
+ s.files += %w( third_party/boringssl/crypto/bn/prime.c )
+ s.files += %w( third_party/boringssl/crypto/bn/random.c )
+ s.files += %w( third_party/boringssl/crypto/bn/rsaz_exp.c )
+ s.files += %w( third_party/boringssl/crypto/bn/shift.c )
+ s.files += %w( third_party/boringssl/crypto/bn/sqrt.c )
+ s.files += %w( third_party/boringssl/crypto/buf/buf.c )
+ s.files += %w( third_party/boringssl/crypto/bytestring/ber.c )
+ s.files += %w( third_party/boringssl/crypto/bytestring/cbb.c )
+ s.files += %w( third_party/boringssl/crypto/bytestring/cbs.c )
+ s.files += %w( third_party/boringssl/crypto/chacha/chacha_generic.c )
+ s.files += %w( third_party/boringssl/crypto/chacha/chacha_vec.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/aead.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/cipher.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/derive_key.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/e_aes.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/e_chacha20poly1305.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/e_des.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/e_null.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/e_rc2.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/e_rc4.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/e_ssl3.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/e_tls.c )
+ s.files += %w( third_party/boringssl/crypto/cipher/tls_cbc.c )
+ s.files += %w( third_party/boringssl/crypto/cmac/cmac.c )
+ s.files += %w( third_party/boringssl/crypto/conf/conf.c )
+ s.files += %w( third_party/boringssl/crypto/cpu-arm.c )
+ s.files += %w( third_party/boringssl/crypto/cpu-intel.c )
+ s.files += %w( third_party/boringssl/crypto/crypto.c )
+ s.files += %w( third_party/boringssl/crypto/curve25519/curve25519.c )
+ s.files += %w( third_party/boringssl/crypto/des/des.c )
+ s.files += %w( third_party/boringssl/crypto/dh/check.c )
+ s.files += %w( third_party/boringssl/crypto/dh/dh.c )
+ s.files += %w( third_party/boringssl/crypto/dh/dh_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/dh/params.c )
+ s.files += %w( third_party/boringssl/crypto/digest/digest.c )
+ s.files += %w( third_party/boringssl/crypto/digest/digests.c )
+ s.files += %w( third_party/boringssl/crypto/directory_posix.c )
+ s.files += %w( third_party/boringssl/crypto/directory_win.c )
+ s.files += %w( third_party/boringssl/crypto/dsa/dsa.c )
+ s.files += %w( third_party/boringssl/crypto/dsa/dsa_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/ec/ec.c )
+ s.files += %w( third_party/boringssl/crypto/ec/ec_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/ec/ec_key.c )
+ s.files += %w( third_party/boringssl/crypto/ec/ec_montgomery.c )
+ s.files += %w( third_party/boringssl/crypto/ec/oct.c )
+ s.files += %w( third_party/boringssl/crypto/ec/p224-64.c )
+ s.files += %w( third_party/boringssl/crypto/ec/p256-64.c )
+ s.files += %w( third_party/boringssl/crypto/ec/p256-x86_64.c )
+ s.files += %w( third_party/boringssl/crypto/ec/simple.c )
+ s.files += %w( third_party/boringssl/crypto/ec/util-64.c )
+ s.files += %w( third_party/boringssl/crypto/ec/wnaf.c )
+ s.files += %w( third_party/boringssl/crypto/ecdh/ecdh.c )
+ s.files += %w( third_party/boringssl/crypto/ecdsa/ecdsa.c )
+ s.files += %w( third_party/boringssl/crypto/ecdsa/ecdsa_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/engine/engine.c )
+ s.files += %w( third_party/boringssl/crypto/err/err.c )
+ s.files += %w( third_party/boringssl/crypto/evp/algorithm.c )
+ s.files += %w( third_party/boringssl/crypto/evp/digestsign.c )
+ s.files += %w( third_party/boringssl/crypto/evp/evp.c )
+ s.files += %w( third_party/boringssl/crypto/evp/evp_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/evp/evp_ctx.c )
+ s.files += %w( third_party/boringssl/crypto/evp/p_dsa_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/evp/p_ec.c )
+ s.files += %w( third_party/boringssl/crypto/evp/p_ec_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/evp/p_rsa.c )
+ s.files += %w( third_party/boringssl/crypto/evp/p_rsa_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/evp/pbkdf.c )
+ s.files += %w( third_party/boringssl/crypto/evp/sign.c )
+ s.files += %w( third_party/boringssl/crypto/ex_data.c )
+ s.files += %w( third_party/boringssl/crypto/hkdf/hkdf.c )
+ s.files += %w( third_party/boringssl/crypto/hmac/hmac.c )
+ s.files += %w( third_party/boringssl/crypto/lhash/lhash.c )
+ s.files += %w( third_party/boringssl/crypto/md4/md4.c )
+ s.files += %w( third_party/boringssl/crypto/md5/md5.c )
+ s.files += %w( third_party/boringssl/crypto/mem.c )
+ s.files += %w( third_party/boringssl/crypto/modes/cbc.c )
+ s.files += %w( third_party/boringssl/crypto/modes/cfb.c )
+ s.files += %w( third_party/boringssl/crypto/modes/ctr.c )
+ s.files += %w( third_party/boringssl/crypto/modes/gcm.c )
+ s.files += %w( third_party/boringssl/crypto/modes/ofb.c )
+ s.files += %w( third_party/boringssl/crypto/obj/obj.c )
+ s.files += %w( third_party/boringssl/crypto/obj/obj_xref.c )
+ s.files += %w( third_party/boringssl/crypto/pem/pem_all.c )
+ s.files += %w( third_party/boringssl/crypto/pem/pem_info.c )
+ s.files += %w( third_party/boringssl/crypto/pem/pem_lib.c )
+ s.files += %w( third_party/boringssl/crypto/pem/pem_oth.c )
+ s.files += %w( third_party/boringssl/crypto/pem/pem_pk8.c )
+ s.files += %w( third_party/boringssl/crypto/pem/pem_pkey.c )
+ s.files += %w( third_party/boringssl/crypto/pem/pem_x509.c )
+ s.files += %w( third_party/boringssl/crypto/pem/pem_xaux.c )
+ s.files += %w( third_party/boringssl/crypto/pkcs8/p5_pbe.c )
+ s.files += %w( third_party/boringssl/crypto/pkcs8/p5_pbev2.c )
+ s.files += %w( third_party/boringssl/crypto/pkcs8/p8_pkey.c )
+ s.files += %w( third_party/boringssl/crypto/pkcs8/pkcs8.c )
+ s.files += %w( third_party/boringssl/crypto/poly1305/poly1305.c )
+ s.files += %w( third_party/boringssl/crypto/poly1305/poly1305_arm.c )
+ s.files += %w( third_party/boringssl/crypto/poly1305/poly1305_vec.c )
+ s.files += %w( third_party/boringssl/crypto/rand/rand.c )
+ s.files += %w( third_party/boringssl/crypto/rand/urandom.c )
+ s.files += %w( third_party/boringssl/crypto/rand/windows.c )
+ s.files += %w( third_party/boringssl/crypto/rc4/rc4.c )
+ s.files += %w( third_party/boringssl/crypto/refcount_c11.c )
+ s.files += %w( third_party/boringssl/crypto/refcount_lock.c )
+ s.files += %w( third_party/boringssl/crypto/rsa/blinding.c )
+ s.files += %w( third_party/boringssl/crypto/rsa/padding.c )
+ s.files += %w( third_party/boringssl/crypto/rsa/rsa.c )
+ s.files += %w( third_party/boringssl/crypto/rsa/rsa_asn1.c )
+ s.files += %w( third_party/boringssl/crypto/rsa/rsa_impl.c )
+ s.files += %w( third_party/boringssl/crypto/sha/sha1.c )
+ s.files += %w( third_party/boringssl/crypto/sha/sha256.c )
+ s.files += %w( third_party/boringssl/crypto/sha/sha512.c )
+ s.files += %w( third_party/boringssl/crypto/stack/stack.c )
+ s.files += %w( third_party/boringssl/crypto/thread.c )
+ s.files += %w( third_party/boringssl/crypto/thread_none.c )
+ s.files += %w( third_party/boringssl/crypto/thread_pthread.c )
+ s.files += %w( third_party/boringssl/crypto/thread_win.c )
+ s.files += %w( third_party/boringssl/crypto/time_support.c )
+ s.files += %w( third_party/boringssl/crypto/x509/a_digest.c )
+ s.files += %w( third_party/boringssl/crypto/x509/a_sign.c )
+ s.files += %w( third_party/boringssl/crypto/x509/a_strex.c )
+ s.files += %w( third_party/boringssl/crypto/x509/a_verify.c )
+ s.files += %w( third_party/boringssl/crypto/x509/asn1_gen.c )
+ s.files += %w( third_party/boringssl/crypto/x509/by_dir.c )
+ s.files += %w( third_party/boringssl/crypto/x509/by_file.c )
+ s.files += %w( third_party/boringssl/crypto/x509/i2d_pr.c )
+ s.files += %w( third_party/boringssl/crypto/x509/pkcs7.c )
+ s.files += %w( third_party/boringssl/crypto/x509/t_crl.c )
+ s.files += %w( third_party/boringssl/crypto/x509/t_req.c )
+ s.files += %w( third_party/boringssl/crypto/x509/t_x509.c )
+ s.files += %w( third_party/boringssl/crypto/x509/t_x509a.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_att.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_cmp.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_d2.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_def.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_ext.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_lu.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_obj.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_r2x.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_req.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_set.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_trs.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_txt.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_v3.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_vfy.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509_vpm.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509cset.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509name.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509rset.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509spki.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x509type.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_algor.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_all.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_attrib.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_crl.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_exten.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_info.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_name.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_pkey.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_pubkey.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_req.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_sig.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_spki.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_val.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_x509.c )
+ s.files += %w( third_party/boringssl/crypto/x509/x_x509a.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/pcy_cache.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/pcy_data.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/pcy_lib.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/pcy_map.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/pcy_node.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/pcy_tree.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_akey.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_akeya.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_alt.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_bcons.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_bitst.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_conf.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_cpols.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_crld.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_enum.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_extku.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_genn.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_ia5.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_info.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_int.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_lib.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_ncons.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_pci.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_pcia.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_pcons.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_pku.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_pmaps.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_prn.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_purp.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_skey.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_sxnet.c )
+ s.files += %w( third_party/boringssl/crypto/x509v3/v3_utl.c )
+ s.files += %w( third_party/boringssl/ssl/custom_extensions.c )
+ s.files += %w( third_party/boringssl/ssl/d1_both.c )
+ s.files += %w( third_party/boringssl/ssl/d1_clnt.c )
+ s.files += %w( third_party/boringssl/ssl/d1_lib.c )
+ s.files += %w( third_party/boringssl/ssl/d1_meth.c )
+ s.files += %w( third_party/boringssl/ssl/d1_pkt.c )
+ s.files += %w( third_party/boringssl/ssl/d1_srtp.c )
+ s.files += %w( third_party/boringssl/ssl/d1_srvr.c )
+ s.files += %w( third_party/boringssl/ssl/dtls_record.c )
+ s.files += %w( third_party/boringssl/ssl/pqueue/pqueue.c )
+ s.files += %w( third_party/boringssl/ssl/s3_both.c )
+ s.files += %w( third_party/boringssl/ssl/s3_clnt.c )
+ s.files += %w( third_party/boringssl/ssl/s3_enc.c )
+ s.files += %w( third_party/boringssl/ssl/s3_lib.c )
+ s.files += %w( third_party/boringssl/ssl/s3_meth.c )
+ s.files += %w( third_party/boringssl/ssl/s3_pkt.c )
+ s.files += %w( third_party/boringssl/ssl/s3_srvr.c )
+ s.files += %w( third_party/boringssl/ssl/ssl_aead_ctx.c )
+ s.files += %w( third_party/boringssl/ssl/ssl_asn1.c )
+ s.files += %w( third_party/boringssl/ssl/ssl_buffer.c )
+ s.files += %w( third_party/boringssl/ssl/ssl_cert.c )
+ s.files += %w( third_party/boringssl/ssl/ssl_cipher.c )
+ s.files += %w( third_party/boringssl/ssl/ssl_file.c )
+ s.files += %w( third_party/boringssl/ssl/ssl_lib.c )
+ s.files += %w( third_party/boringssl/ssl/ssl_rsa.c )
+ s.files += %w( third_party/boringssl/ssl/ssl_session.c )
+ s.files += %w( third_party/boringssl/ssl/ssl_stat.c )
+ s.files += %w( third_party/boringssl/ssl/t1_enc.c )
+ s.files += %w( third_party/boringssl/ssl/t1_lib.c )
+ s.files += %w( third_party/boringssl/ssl/tls_record.c )
+ s.files += %w( third_party/zlib/crc32.h )
+ s.files += %w( third_party/zlib/deflate.h )
+ s.files += %w( third_party/zlib/gzguts.h )
+ s.files += %w( third_party/zlib/inffast.h )
+ s.files += %w( third_party/zlib/inffixed.h )
+ s.files += %w( third_party/zlib/inflate.h )
+ s.files += %w( third_party/zlib/inftrees.h )
+ s.files += %w( third_party/zlib/trees.h )
+ s.files += %w( third_party/zlib/zconf.h )
+ s.files += %w( third_party/zlib/zlib.h )
+ s.files += %w( third_party/zlib/zutil.h )
+ s.files += %w( third_party/zlib/adler32.c )
+ s.files += %w( third_party/zlib/compress.c )
+ s.files += %w( third_party/zlib/crc32.c )
+ s.files += %w( third_party/zlib/deflate.c )
+ s.files += %w( third_party/zlib/gzclose.c )
+ s.files += %w( third_party/zlib/gzlib.c )
+ s.files += %w( third_party/zlib/gzread.c )
+ s.files += %w( third_party/zlib/gzwrite.c )
+ s.files += %w( third_party/zlib/infback.c )
+ s.files += %w( third_party/zlib/inffast.c )
+ s.files += %w( third_party/zlib/inflate.c )
+ s.files += %w( third_party/zlib/inftrees.c )
+ s.files += %w( third_party/zlib/trees.c )
+ s.files += %w( third_party/zlib/uncompr.c )
+ s.files += %w( third_party/zlib/zutil.c )
end
diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb
index 60546486c2..3e01820a7b 100644
--- a/src/ruby/ext/grpc/extconf.rb
+++ b/src/ruby/ext/grpc/extconf.rb
@@ -90,7 +90,7 @@ unless File.exist?(File.join(grpc_lib_dir, 'libgrpc.a'))
ENV['BUILDDIR'] = output_dir
puts 'Building internal gRPC into ' + grpc_lib_dir
- system("make -j -C #{grpc_root} static_c CONFIG=#{grpc_config}")
+ system("make -j -C #{grpc_root} #{grpc_lib_dir}/libgpr.a #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config}")
exit 1 unless $? == 0
end
diff --git a/src/ruby/lib/grpc.rb b/src/ruby/lib/grpc.rb
index 7890e17551..8512856259 100644
--- a/src/ruby/lib/grpc.rb
+++ b/src/ruby/lib/grpc.rb
@@ -32,11 +32,7 @@ unless ENV['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH']
ENV['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH'] = ssl_roots_path
end
-begin
- require "grpc/#{RUBY_VERSION.sub(/\.\d$/, '')}/grpc"
-rescue LoadError
- require 'grpc/grpc'
-end
+require 'grpc/loader'
require 'grpc/errors'
require 'grpc/logconfig'
diff --git a/src/ruby/lib/grpc/generic/bidi_call.rb b/src/ruby/lib/grpc/generic/bidi_call.rb
index 6b9b785693..b907393fd2 100644
--- a/src/ruby/lib/grpc/generic/bidi_call.rb
+++ b/src/ruby/lib/grpc/generic/bidi_call.rb
@@ -28,7 +28,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
require 'forwardable'
-require 'grpc/grpc'
+require 'grpc/loader'
# GRPC contains the General RPC module.
module GRPC
diff --git a/src/ruby/lib/grpc/generic/rpc_desc.rb b/src/ruby/lib/grpc/generic/rpc_desc.rb
index dd90d8d91d..5dfb5c96fe 100644
--- a/src/ruby/lib/grpc/generic/rpc_desc.rb
+++ b/src/ruby/lib/grpc/generic/rpc_desc.rb
@@ -27,7 +27,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-require 'grpc/grpc'
+require 'grpc/loader'
# GRPC contains the General RPC module.
module GRPC
diff --git a/src/ruby/lib/grpc/generic/rpc_server.rb b/src/ruby/lib/grpc/generic/rpc_server.rb
index 410156ff03..22490567f9 100644
--- a/src/ruby/lib/grpc/generic/rpc_server.rb
+++ b/src/ruby/lib/grpc/generic/rpc_server.rb
@@ -27,7 +27,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-require 'grpc/grpc'
+require 'grpc/loader'
require 'grpc/generic/active_call'
require 'grpc/generic/service'
require 'thread'
diff --git a/src/ruby/lib/grpc/loader.rb b/src/ruby/lib/grpc/loader.rb
new file mode 100644
index 0000000000..9e04908d88
--- /dev/null
+++ b/src/ruby/lib/grpc/loader.rb
@@ -0,0 +1,34 @@
+# Copyright 2015-2016, Google Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+begin
+ require "grpc/#{RUBY_VERSION.sub(/\.\d$/, '')}/grpc"
+rescue LoadError
+ require 'grpc/grpc'
+end
diff --git a/templates/grpc.gemspec.template b/templates/grpc.gemspec.template
index f015e539be..9d034ddba1 100644
--- a/templates/grpc.gemspec.template
+++ b/templates/grpc.gemspec.template
@@ -50,8 +50,8 @@
s.extensions = %w(src/ruby/ext/grpc/extconf.rb)
% for lib in libs:
- % if lib.name in ('gpr', 'grpc'):
- % for file in lib.public_headers + lib.headers + lib.src:
+ % if lib.name in ruby_gem.get('deps', []):
+ % for file in lib.get('public_headers', []) + lib.headers + lib.src:
s.files += %w( ${file} )
% endfor
% endif