24 lines
677 B
Ruby
24 lines
677 B
Ruby
#!/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")
|