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);
}