xref: /aosp_15_r20/external/protobuf/ruby/ext/google/protobuf_c/extconf.rb (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
1#!/usr/bin/ruby
2
3require 'mkmf'
4
5ext_name = "google/protobuf_c"
6
7dir_config(ext_name)
8
9if RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/
10  $CFLAGS += " -std=gnu99 -O3 -DNDEBUG -fvisibility=hidden -Wall -Wsign-compare -Wno-declaration-after-statement"
11else
12  $CFLAGS += " -std=gnu99 -O3 -DNDEBUG"
13end
14
15
16if RUBY_PLATFORM =~ /linux/
17  # Instruct the linker to point memcpy calls at our __wrap_memcpy wrapper.
18  $LDFLAGS += " -Wl,-wrap,memcpy"
19end
20
21$VPATH << "$(srcdir)/third_party/utf8_range"
22$INCFLAGS << "$(srcdir)/third_party/utf8_range"
23
24$srcs = ["protobuf.c", "convert.c", "defs.c", "message.c",
25         "repeated_field.c", "map.c", "ruby-upb.c", "wrap_memcpy.c",
26         "naive.c", "range2-neon.c", "range2-sse.c"]
27
28create_makefile(ext_name)
29