Repository: lucy-clownfish
Updated Branches:
  refs/heads/master b12999dce -> a8f14c2db


Don't build fat Perl binaries on macOS

Stock Perl on macOS builds fat binaries. Charmonizer has always
used the wrong sizes for some types on non-native platforms, but
recent changes broke the detection copmletely.


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

Branch: refs/heads/master
Commit: a8f14c2db2175feab2be081de6eab5b15844d15c
Parents: b12999d
Author: Nick Wellnhofer <wellnho...@aevum.de>
Authored: Thu Feb 16 18:49:48 2017 +0100
Committer: Nick Wellnhofer <wellnho...@aevum.de>
Committed: Thu Feb 16 18:49:48 2017 +0100

----------------------------------------------------------------------
 compiler/perl/lib/Clownfish/CFC/Perl/Build/Charmonic.pm | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/a8f14c2d/compiler/perl/lib/Clownfish/CFC/Perl/Build/Charmonic.pm
----------------------------------------------------------------------
diff --git a/compiler/perl/lib/Clownfish/CFC/Perl/Build/Charmonic.pm 
b/compiler/perl/lib/Clownfish/CFC/Perl/Build/Charmonic.pm
index 73ae65e..bcd9d46 100644
--- a/compiler/perl/lib/Clownfish/CFC/Perl/Build/Charmonic.pm
+++ b/compiler/perl/lib/Clownfish/CFC/Perl/Build/Charmonic.pm
@@ -52,6 +52,13 @@ my $CHARMONY_PM_PATH     = 'Charmony.pm';
 sub ACTION_charmony {
     my $self = shift;
 
+    # Charmonizer doesn't support fat binaries on macOS.
+    for my $key (qw( ccflags ldflags lddlflags )) {
+        my $flags = $self->config($key);
+        $flags =~ s/-arch \w+\s*//g;
+        $self->config( $key => $flags );
+    }
+
     my $cc              = $self->config('cc');
     my $is_msvc         = lc($cc) =~ /^cl\b/;
     my $charmonizer_c   = $self->charmonizer_params('charmonizer_c');

Reply via email to