diff options
-rw-r--r-- | lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt | 5 | ||||
-rw-r--r-- | lib/bundler/templates/newgem/ext/newgem/newgem.c.tt | 2 | ||||
-rw-r--r-- | lib/bundler/templates/newgem/rubocop.yml.tt | 4 |
3 files changed, 10 insertions, 1 deletions
diff --git a/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt b/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt index e918063ddf..49764e9931 100644 --- a/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +++ b/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt @@ -2,4 +2,9 @@ require "mkmf" +# Makes all symbols private by default to avoid unintended conflict +# with other gems. To explicitly export symbols you can use RUBY_FUNC_EXPORTED +# selectively, or entirely remove this flag. +$CFLAGS << " -fvisibility=hidden " + create_makefile(<%= config[:makefile_path].inspect %>) diff --git a/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt b/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt index 8177c4d202..bcd5148569 100644 --- a/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +++ b/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt @@ -2,7 +2,7 @@ VALUE rb_m<%= config[:constant_array].join %>; -void +RUBY_FUNC_EXPORTED void Init_<%= config[:underscored_name] %>(void) { rb_m<%= config[:constant_array].join %> = rb_define_module(<%= config[:constant_name].inspect %>); diff --git a/lib/bundler/templates/newgem/rubocop.yml.tt b/lib/bundler/templates/newgem/rubocop.yml.tt index 9ecec78807..4845a67bd5 100644 --- a/lib/bundler/templates/newgem/rubocop.yml.tt +++ b/lib/bundler/templates/newgem/rubocop.yml.tt @@ -9,5 +9,9 @@ Style/StringLiteralsInInterpolation: Enabled: true EnforcedStyle: double_quotes +Style/GlobalVars: + Exclude: + - ext/**/extconf.rb + Layout/LineLength: Max: 120 |