diff --git a/ext/herb/extconf.rb b/ext/herb/extconf.rb index cb215e568..ac15be929 100644 --- a/ext/herb/extconf.rb +++ b/ext/herb/extconf.rb @@ -24,7 +24,8 @@ $INCFLAGS << " -I#{prism_src_path}" $INCFLAGS << " -I#{prism_src_path}/util" -$CFLAGS << " -DPRISM_EXPORT_SYMBOLS=static " +$CFLAGS << " -DPRISM_EXPORT_SYMBOLS=static" +$CFLAGS << " -fvisibility=hidden" herb_src_files = Dir.glob("#{$srcdir}/../../src/**/*.c").map { |file| file.delete_prefix("../../../../ext/herb/") }.sort diff --git a/ext/herb/extension.c b/ext/herb/extension.c index ea0ca7e63..dee8fec23 100644 --- a/ext/herb/extension.c +++ b/ext/herb/extension.c @@ -124,7 +124,7 @@ static VALUE Herb_version(VALUE self) { return rb_funcall(rb_mKernel, rb_intern("sprintf"), 4, format_string, gem_version, libprism_version, libherb_version); } -void Init_herb(void) { +__attribute__((visibility("default"))) void Init_herb(void) { mHerb = rb_define_module("Herb"); cPosition = rb_define_class_under(mHerb, "Position", rb_cObject); cLocation = rb_define_class_under(mHerb, "Location", rb_cObject);