You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by nw...@apache.org on 2014/04/22 22:59:11 UTC

[lucy-commits] [5/6] git commit: Set -fvisibility flag via charmonizer

Set -fvisibility flag via charmonizer


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/1757e4e6
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/1757e4e6
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/1757e4e6

Branch: refs/heads/master
Commit: 1757e4e6c919577fc8690f536cf7aab8a02fe4f3
Parents: 85dad61
Author: Nick Wellnhofer <we...@aevum.de>
Authored: Sun Feb 16 22:14:37 2014 +0100
Committer: Nick Wellnhofer <we...@aevum.de>
Committed: Tue Apr 22 22:57:06 2014 +0200

----------------------------------------------------------------------
 compiler/perl/lib/Clownfish/CFC/Perl/Build.pm | 11 ++---------
 runtime/common/charmonizer.c                  |  3 ++-
 runtime/common/charmonizer.main               |  3 ++-
 3 files changed, 6 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/1757e4e6/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm
----------------------------------------------------------------------
diff --git a/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm b/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm
index 8ace1ac..6c94cf4 100644
--- a/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm
+++ b/compiler/perl/lib/Clownfish/CFC/Perl/Build.pm
@@ -376,14 +376,7 @@ sub ACTION_compile_custom_xs {
     for my $source_dir (@$source_dirs) {
         push @$c_files, @{ $self->rscan_dir( $source_dir, qr/\.c$/ ) };
     }
-    # Compile with -fvisibility=hidden on GCC >= 4.0
-    my $extra_cflags = $self->clownfish_params('cflags') || '';
-    if ( $self->config('gccversion') && $Config{dlext} ne 'dll' ) {
-        my @version_nums = split( /\./, $self->config('gccversion') );
-        if ( $version_nums[0] >= 4 ) {
-            $extra_cflags .= ' -fvisibility=hidden';
-        }
-    }
+    my $extra_cflags = $self->clownfish_params('cflags');
     for my $c_file (@$c_files) {
         my $o_file   = $c_file;
         my $ccs_file = $c_file;
@@ -419,7 +412,7 @@ sub ACTION_compile_custom_xs {
     unshift @objects, $perl_binding_o_file;
     $self->add_to_cleanup($perl_binding_o_file);
     if ( !$self->up_to_date( $perl_binding_c_file, $perl_binding_o_file ) ) {
-        # Don't use -fvisibility=hidden for XS
+        # Don't use Clownfish compiler flags for XS
         $cbuilder->compile(
             source               => $perl_binding_c_file,
             extra_compiler_flags => $self->extra_compiler_flags,

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/1757e4e6/runtime/common/charmonizer.c
----------------------------------------------------------------------
diff --git a/runtime/common/charmonizer.c b/runtime/common/charmonizer.c
index 0608f15..0b58d35 100644
--- a/runtime/common/charmonizer.c
+++ b/runtime/common/charmonizer.c
@@ -7081,6 +7081,8 @@ S_add_compiler_flags(struct chaz_CLIArgs *args) {
 
     chaz_CFlags_add_define(extra_cflags, "CFP_CFISH", NULL);
     chaz_CFlags_add_define(extra_cflags, "CFP_TESTCFISH", NULL);
+
+    chaz_CFlags_hide_symbols(extra_cflags);
 }
 
 static int
@@ -7183,7 +7185,6 @@ S_write_makefile(struct chaz_CLIArgs *args) {
     chaz_CFlags_enable_debugging(makefile_cflags);
     chaz_CFlags_disable_strict_aliasing(makefile_cflags);
     chaz_CFlags_compile_shared_library(makefile_cflags);
-    chaz_CFlags_hide_symbols(makefile_cflags);
     if (args->code_coverage) {
         chaz_CFlags_enable_code_coverage(makefile_cflags);
     }

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/1757e4e6/runtime/common/charmonizer.main
----------------------------------------------------------------------
diff --git a/runtime/common/charmonizer.main b/runtime/common/charmonizer.main
index 3babc4a..8b181e7 100644
--- a/runtime/common/charmonizer.main
+++ b/runtime/common/charmonizer.main
@@ -83,6 +83,8 @@ S_add_compiler_flags(struct chaz_CLIArgs *args) {
 
     chaz_CFlags_add_define(extra_cflags, "CFP_CFISH", NULL);
     chaz_CFlags_add_define(extra_cflags, "CFP_TESTCFISH", NULL);
+
+    chaz_CFlags_hide_symbols(extra_cflags);
 }
 
 static int
@@ -185,7 +187,6 @@ S_write_makefile(struct chaz_CLIArgs *args) {
     chaz_CFlags_enable_debugging(makefile_cflags);
     chaz_CFlags_disable_strict_aliasing(makefile_cflags);
     chaz_CFlags_compile_shared_library(makefile_cflags);
-    chaz_CFlags_hide_symbols(makefile_cflags);
     if (args->code_coverage) {
         chaz_CFlags_enable_code_coverage(makefile_cflags);
     }