From 03aec7d3b369231b52960db7238f30cc46dd8e01 Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Thu, 10 Dec 2015 14:07:07 +0100 Subject: silent make perl --- src/perl/Makefile_silent.pm | 76 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/perl/Makefile_silent.pm (limited to 'src/perl/Makefile_silent.pm') diff --git a/src/perl/Makefile_silent.pm b/src/perl/Makefile_silent.pm new file mode 100644 index 00000000..e6036c98 --- /dev/null +++ b/src/perl/Makefile_silent.pm @@ -0,0 +1,76 @@ +push @ExtUtils::MakeMaker::Overridable, qw(pm_to_blib); +my $verb = $AM_DEFAULT_VERBOSITY; +package MY { + sub _center { + my $z = shift; + length $z == 2 ? " $z " : length $z == 4 ? " $z " : " $z " + } + sub _silent_cmd { + my $z = shift; + $z =~ s{\t(?:- ?)?\K(?=\$\((?|(CC)CMD|(XS)UBPPRUN|(LD|MV|CHMOD)|(RM)_R?F|(CP)_NONEMPTY|FULL_(AR)\)))}{\$(PL_AM_V_$1)}g; + $z + } + sub c_o { _silent_cmd(shift->SUPER::c_o(@_)) } + sub xs_c { _silent_cmd(shift->SUPER::xs_c(@_)) } + sub xs_o { _silent_cmd(shift->SUPER::xs_o(@_)) } + sub dynamic_lib { _silent_cmd(shift->SUPER::dynamic_lib(@_)) } + sub static_lib { _silent_cmd(shift->SUPER::static_lib(@_)) } + sub dynamic_bs { + my $ret = shift->SUPER::dynamic_bs(@_); + $ret =~ s{Running Mkbootstrap for}{\$(PL_AM_V_BS_Text)}g; + _silent_cmd($ret) + } + sub pm_to_blib { + my $ret = shift->SUPER::pm_to_blib(@_); + $ret =~ s{^(\t(?:- ?)?)(?:\$\(NOECHO\) ?)?(.*-e ['"]pm_to_blib(.*\\\n)*.*)$}{$1\$(PL_AM_V_BLIB)$2\$(PL_AM_V_BLIB_Hide)}mg; + $ret + } + sub post_constants { + my $ret = shift->SUPER::post_constants(@_); + my @terse = qw(cc xs ld chmod cp ar blib); + my @silent = qw(mv rm); + my @special = qw(BLIB_Hide); + + #default verbosity from command line parameter + $ret .= " +AM_DEFAULT_VERBOSITY = @{[$verb ? 1 : 0]} +"; + #default options forward + $ret .= " +PL_AM_V_${_} = \$(pl_am__v_${_}_\$(V)) +pl_am__v_${_}_ = \$(pl_am__v_${_}_\$(AM_DEFAULT_VERBOSITY)) +" for @special, map uc, @terse, @silent; + + #quoted plain text needs extra quotes + $ret .= " +PL_AM_V_BS_Text = \"\$(pl_am__v_BS_Text_\$(V))\" +pl_am__v_BS_Text_ = \$(pl_am__v_BS_Text_\$(AM_DEFAULT_VERBOSITY)) +" + #hide pm_to_blib output +. " +pl_am__v_BLIB_Hide_0 = \$(DEV_NULL) +pl_am__v_BLIB_Hide_1 = +" + #text for Mkbootstrap +. " +pl_am__v_BS_Text_0 = \"@{[_center('BS')]}\" +pl_am__v_BS_Text_1 = \"Running Mkbootstrap for\" +"; + #"terse" output + $ret .= " +pl_am__v_${_}_0 = \$(NOECHO)echo \"@{[_center($_)]}\" \$\@; +" for map uc, @terse; + + #no output + $ret .= " +pl_am__v_${_}_0 = \$(NOECHO) +" for map uc, @silent; + + #in verbose mode the "terse" echo expands to nothing + $ret .= " +pl_am__v_${_}_1 = +" for map uc, @terse, @silent; + $ret + } +}; +1; -- cgit v1.2.3 From e0c8a9f3986249d8abde462bccdb00cd3d914ebc Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Sun, 5 Jun 2016 11:36:13 +0200 Subject: perl 5.10 fix --- src/perl/Makefile_silent.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/perl/Makefile_silent.pm') diff --git a/src/perl/Makefile_silent.pm b/src/perl/Makefile_silent.pm index e6036c98..372e4046 100644 --- a/src/perl/Makefile_silent.pm +++ b/src/perl/Makefile_silent.pm @@ -1,6 +1,6 @@ push @ExtUtils::MakeMaker::Overridable, qw(pm_to_blib); my $verb = $AM_DEFAULT_VERBOSITY; -package MY { +{ package MY; sub _center { my $z = shift; length $z == 2 ? " $z " : length $z == 4 ? " $z " : " $z " @@ -72,5 +72,5 @@ pl_am__v_${_}_1 = " for map uc, @terse, @silent; $ret } -}; +} 1; -- cgit v1.2.3