| #!/usr/bin/ruby |
| |
| require 'mkmf' |
| |
| if RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/ |
| # XOPEN_SOURCE needed for strptime: |
| # https://stackoverflow.com/questions/35234152/strptime-giving-implicit-declaration-and-undefined-reference |
| $CFLAGS += " -std=c99 -O3 -DNDEBUG -D_XOPEN_SOURCE=700" |
| else |
| $CFLAGS += " -std=c99 -O3 -DNDEBUG" |
| end |
| |
| |
| if RUBY_PLATFORM =~ /linux/ |
| # Instruct the linker to point memcpy calls at our __wrap_memcpy wrapper. |
| $LDFLAGS += " -Wl,-wrap,memcpy" |
| end |
| |
| $objs = ["protobuf.o", "defs.o", "storage.o", "message.o", |
| "repeated_field.o", "map.o", "encode_decode.o", "upb.o", |
| "wrap_memcpy.o"] |
| |
| create_makefile("google/protobuf_c") |