aboutsummaryrefslogtreecommitdiffhomepage
path: root/ruby/ext/google/protobuf_c/extconf.rb
Commit message (Collapse)AuthorAge
* Build ruby gem on kokoro (#4819)Gravatar Paul Yang2018-06-25
| | | | | | | | | | | | | | | | | | | | | | * Install rake compiler * Add kokoro config to build ruby gem on linux * Rename from linix to linux * Fix prepare_build.sh name * Clean up * Install bundler * Install bundler * Use c99 in order to build gem on mingw-32 on ruby 2.0.0 See https://github.com/rake-compiler/rake-compiler-dock/issues/4 * Move c99 config to extcofig.rb
* Ruby: wrap calls to memcpy so that gem is compatible with pre-2.14 glibcGravatar Adam Cozzette2017-03-09
| | | | | | | | | | | | | | | | | | | | | | | This commit adds a __wrap_memcpy function and a linker flag to use that in place of memcpy for our Ruby gem C extension. This allows us to always use the 2.2.5 version of memcpy, making it possible to use the gem on distributions with pre-2.14 versions of glibc. Before this change: $ objdump -T protobuf_c.so | grep memcpy 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.3.4 __memcpy_chk 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.14 memcpy After: $ objdump -T protobuf_c.so | grep memcpy 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.2.5 memcpy 0000000000000000 DF *UND* 0000000000000000 GLIBC_2.3.4 __memcpy_chk 0000000000042450 g DF .text 0000000000000005 Base __wrap_memcpy This is based on gRPC's solution to a similar problem: https://github.com/grpc/grpc/blob/5098508d2d41a116113f7e333c516cd9ef34a943/src/core/lib/support/wrap_memcpy.c This fixes issue #2783.
* Fixed compiler warnings and added -std=c99.Gravatar Josh Haberman2015-06-09
| | | | | upb no longer requires -std=c99 but the Ruby/C code still uses C99 features.
* Updated upb to latest version (C89).Gravatar Josh Haberman2015-06-08
| | | | | Since this version of upb supports C89, all of the extra compiler flags are no longer required.
* Update MRI C Ruby extension to use new version of upb.Gravatar Chris Fallin2015-05-15
| | | | | | | | | - Alter encode/decode paths to use the `upb_env` (environment) abstraction. - Update upb amalgamation to upstream `93791bfe`. - Fix a compilation warning (void*->char* cast). - Modify build flags so that upb doesn't produce warnings -- the Travis build logs were pretty cluttered previously.
* Support for maps in the MRI C Ruby extension.Gravatar Chris Fallin2015-01-06
| | | | | | | | This adds the Map container and support for parsing and serializing maps in the protobuf wire format (as defined by the C++ implementation, with MapEntry submessages in a repeated field). JSON map serialization/parsing are not yet supported as these will require some changes to upb as well.
* Rename protobuf Ruby module to google/protobuf and rework its buildGravatar Chris Fallin2014-12-12
system. The Ruby module build now uses an amalgamated distribution of upb, and successfully builds a Ruby gem called 'google-protobuf' with module 'google/protobuf'.