| Filename | C:/tmp64ng/data/.cpanm/work/1425221137.10360/Math-MPFR-3.23/Makefile.PL | 
| Statements | Executed 41 statements in 0s | 
| Calls | P | F | Exclusive Time  | 
        Inclusive Time  | 
        Subroutine | 
|---|---|---|---|---|---|
| 1 | 1 | 1 | 78.0ms | 281ms | main::BEGIN@1 | 
| 1013 | 2 | 2 | 0s | 0s | B::SV::FLAGS (xsub) | 
| 93 | 2 | 1 | 0s | 0s | Encode::XS::encode (xsub) | 
| 3 | 1 | 1 | 0s | 0s | Encode::XS::needs_lines (xsub) | 
| 3 | 1 | 1 | 0s | 0s | Encode::XS::renew (xsub) | 
| 35 | 3 | 1 | 0s | 0s | Internals::SvREADONLY (xsub) | 
| 1 | 1 | 1 | 0s | 0s | UNIVERSAL::VERSION (xsub) | 
| 199 | 6 | 6 | 0s | 0s | UNIVERSAL::can (xsub) | 
| 23 | 3 | 3 | 0s | 0s | UNIVERSAL::isa (xsub) | 
| 1 | 1 | 1 | 0s | 0s | main::BEGIN@2 | 
| 33 | 1 | 1 | 0s | 0s | mro::method_changed_in (xsub) | 
| 138 | 3 | 2 | 0s | 0s | utf8::downgrade (xsub) | 
| 1377 | 3 | 2 | 0s | 0s | utf8::encode (xsub) | 
| 1 | 1 | 1 | 0s | 0s | utf8::is_utf8 (xsub) | 
| 11 | 3 | 2 | 0s | 0s | utf8::upgrade (xsub) | 
| Line | State ments  | 
      Time on line  | 
      Calls | Time in subs  | 
      Code | 
|---|---|---|---|---|---|
| 1 | 2 | 0s | 2 | 281ms | # spent 281ms (78.0+203) within main::BEGIN@1 which was called:
#    once (78.0ms+203ms) by main::NULL at line 1 # spent   281ms making 1 call to main::BEGIN@1
# spent     0s making 1 call to Exporter::import  | 
| 2 | 2 | 0s | 2 | 0s | # spent 0s within main::BEGIN@2 which was called:
#    once (0s+0s) by main::NULL at line 2 # spent     0s making 1 call to Config::import
# spent     0s making 1 call to main::BEGIN@2  | 
| 3 | #require 5.008008; | ||||
| 4 | |||||
| 5 | 1 | 0s | our %args = map { split /\s*=\s*/ } @ARGV; | ||
| 6 | 1 | 0s | our $LIBS = $args{ LIBS } || "-lmpfr -lgmp"; | ||
| 7 | 1 | 0s | our $INC = $args{ INC }; | ||
| 8 | |||||
| 9 | 1 | 0s | $use_64_bit_int = 0; # Let perl decide whether to include 64-bit 'long long' support | ||
| 10 | 1 | 0s | $use_long_double = 0;# Let perl decide whether to include 'long double' support | ||
| 11 | |||||
| 12 | #$use_64_bit_int = -1; # Force exclusion of 64-bit 'long long' support | ||||
| 13 | #$use_long_double = -1;# Force exclusion of 'long double' support | ||||
| 14 | |||||
| 15 | #$use_64_bit_int = 1; # Force inclusion of 64-bit 'long long' support | ||||
| 16 | #$use_long_double = 1;# Force inclusion of 'long double' support | ||||
| 17 | |||||
| 18 | 1 | 0s | $have_decimal64 = 0; | ||
| 19 | 1 | 0s | for(@ARGV) { | ||
| 20 | $have_decimal64 = 1 if $_ eq 'D64=1'; | ||||
| 21 | } | ||||
| 22 | #$have_decimal64 = 1; # Force inclusion of _Decimal64 support | ||||
| 23 | # This will also define MPFR_WANT_DECIMAL_FLOATS (as that needs to be defined | ||||
| 24 | # before mpfr.h is included). | ||||
| 25 | |||||
| 26 | 1 | 0s | my $d64_message = $have_decimal64 ? "Attempting to build with _Decimal64 support\n" | ||
| 27 | : "Building without _Decimal64 support\n"; | ||||
| 28 | |||||
| 29 | # We want to set $have_float128 to 1 if and only if: | ||||
| 30 | # the mpfr library was built with the configure option '--enable-float128' && either: | ||||
| 31 | # $Config{nvtype} is '__float128' | ||||
| 32 | # or | ||||
| 33 | # Math::Float128 has been installed. | ||||
| 34 | |||||
| 35 | 1 | 0s | $have_float128 = 0; | ||
| 36 | 1 | 0s | for(@ARGV) { | ||
| 37 | $have_float128 = 1 if $_ eq 'F128=1'; | ||||
| 38 | } | ||||
| 39 | #$have_float128 = 1; # Force inclusion of __float128 support | ||||
| 40 | # This will also define MPFR_WANT_FLOAT128 (as that needs to be defined | ||||
| 41 | # before mpfr.h is included). | ||||
| 42 | |||||
| 43 | 1 | 0s | my $float128_message = $have_float128 ? "Attempting to build with __float128 support\n" | ||
| 44 | : "Building without __float128 support\n"; | ||||
| 45 | |||||
| 46 | 1 | 0s | my $defines = $] < 5.008 ? "-DOLDPERL" : "-DNEWPERL"; | ||
| 47 | |||||
| 48 | 1 | 0s | if($use_64_bit_int == -1) {} | ||
| 49 | elsif($use_64_bit_int == 1) {$defines .= " -DMATH_MPFR_NEED_LONG_LONG_INT -DIVSIZE_BITS=" . (8 * $Config{ivsize})} | ||||
| 50 | else { | ||||
| 51 | 1 | 0s | 3 | 0s |   unless($Config{ivsize} < 8 || $Config{ivtype} eq 'long') {   # spent     0s making 3 calls to Config::FETCH, avg 0s/call  | 
| 52 | $defines .= " -DMATH_MPFR_NEED_LONG_LONG_INT -DIVSIZE_BITS=" . (8 * $Config{ivsize}); | ||||
| 53 | } | ||||
| 54 | } | ||||
| 55 | |||||
| 56 | 1 | 0s | if($use_long_double == -1) {} | ||
| 57 | elsif($use_long_double == 1) {$defines .= " -DUSE_LONG_DOUBLE"} | ||||
| 58 | else { | ||||
| 59 | 1 | 0s | 1 | 0s |   if($Config::Config{nvsize} > 8 ) {   # spent     0s making 1 call to Config::FETCH  | 
| 60 | $defines .= " -DUSE_LONG_DOUBLE"; | ||||
| 61 | } | ||||
| 62 | } | ||||
| 63 | |||||
| 64 | 1 | 0s | $defines .= " -DMPFR_WANT_DECIMAL_FLOATS" if $have_decimal64; | ||
| 65 | 1 | 0s | $defines .= " -DMPFR_WANT_FLOAT128" if $have_float128; | ||
| 66 | 1 | 0s | 1 | 0s | $defines .= " -DNV_IS_FLOAT128" if $Config{nvtype} eq '__float128'; # spent     0s making 1 call to Config::FETCH  | 
| 67 | 1 | 0s | 1 | 0s | $defines .= " -DNV_IS_LONG_DOUBLE" if $Config{nvtype} eq 'long double'; # spent     0s making 1 call to Config::FETCH  | 
| 68 | |||||
| 69 | 1 | 0s | 1 | 0s | print "\nThis module requires the following C libraries:\n"; # spent     0s making 1 call to main::CORE:print  | 
| 70 | 1 | 0s | 1 | 0s | print " gmp-4.2.0 (or later)\n mpfr-2.4.0 (or later)\n\n"; # spent     0s making 1 call to main::CORE:print  | 
| 71 | 1 | 0s | 2 | 0s | $defines =~ /-DMATH_MPFR_NEED_LONG_LONG_INT/ ? print "Building with 'long long' support\n" : # spent     0s making 1 call to main::CORE:match
# spent     0s making 1 call to main::CORE:print  | 
| 72 | print "Building without 'long long' support\n"; | ||||
| 73 | |||||
| 74 | 1 | 0s | 1 | 0s | print "If this is wrong, see the \"64-bit support\" section in the README\n\n"; # spent     0s making 1 call to main::CORE:print  | 
| 75 | |||||
| 76 | 1 | 0s | 2 | 0s | $defines =~ /-DUSE_LONG_DOUBLE/ ? print "Building with 'long double' support\n" : # spent     0s making 1 call to main::CORE:match
# spent     0s making 1 call to main::CORE:print  | 
| 77 | print "Building without 'long double' support\n"; | ||||
| 78 | |||||
| 79 | 1 | 0s | 1 | 0s | print "If this is wrong, see the \"64-bit support\" section in the README\n\n"; # spent     0s making 1 call to main::CORE:print  | 
| 80 | |||||
| 81 | 1 | 0s | 1 | 0s | print "\n$d64_message"; # spent     0s making 1 call to main::CORE:print  | 
| 82 | 1 | 0s | 1 | 0s | print "If this is wrong, see the \"Decimal64 conversion\" section in the README\n\n"; # spent     0s making 1 call to main::CORE:print  | 
| 83 | |||||
| 84 | 1 | 0s | 1 | 0s | print "\n$float128_message"; # spent     0s making 1 call to main::CORE:print  | 
| 85 | 1 | 0s | 1 | 0s | print "If this is wrong, see the \"Float128 conversion\" section in the README\n\n"; # spent     0s making 1 call to main::CORE:print  | 
| 86 | |||||
| 87 | 1 | 0s | my %options = ( | ||
| 88 | NAME => 'Math::MPFR', | ||||
| 89 | AUTHOR => 'Sisyphus (sisyphus at (@) cpan dot (.) org)', | ||||
| 90 | ABSTRACT => 'Perl interface to the MPFR (floating point) library', | ||||
| 91 | DEFINE => $defines, | ||||
| 92 | LIBS => [ | ||||
| 93 | '-lmpfr -lgmp' | ||||
| 94 | ], | ||||
| 95 | LICENSE => 'perl', | ||||
| 96 | VERSION_FROM => 'MPFR.pm', | ||||
| 97 | clean => { FILES => 'out1.txt out2.txt out3.txt out4.txt out5.txt out6.txt out7.txt save_child_setting.txt p_spec.txt' }, | ||||
| 98 | META_MERGE => { | ||||
| 99 | 'meta-spec' => { version => 2 }, | ||||
| 100 | resources => { | ||||
| 101 | repository => { | ||||
| 102 | type => 'git', | ||||
| 103 | url => 'https://github.com/sisyphus/math-mpfr.git', | ||||
| 104 | web => 'https://github.com/sisyphus/math-mpfr', | ||||
| 105 | }, | ||||
| 106 | }, | ||||
| 107 | }, | ||||
| 108 | ); | ||||
| 109 | |||||
| 110 | 1 | 0s | my %prereq = (); | ||
| 111 | 1 | 0s | $prereq{'Math::Decimal64'} = '0.01' if $have_decimal64; | ||
| 112 | 1 | 0s | $prereq{'Math::Float128'} = '0.01' if ($have_float128 && $Config{nvtype} ne '__float128'); | ||
| 113 | |||||
| 114 | 1 | 0s | $options{PREREQ_PM} = \%prereq; | ||
| 115 | |||||
| 116 | 1 | 0s | 1 | 62.3s | WriteMakefile(%options); # spent  62.3s making 1 call to ExtUtils::MakeMaker::WriteMakefile  | 
| 117 | |||||
| 118 | # Remove the Makefile dependency. Causes problems on a few systems. | ||||
| 119 | 1 | 0s | sub MY::makefile { '' } | ||
| 120 | |||||
# spent 0s within B::SV::FLAGS which was called 1013 times, avg 0s/call:
# 734 times (0s+0s) by JSON::PP::value_to_json at line 406 of JSON/PP.pm, avg 0s/call
# 279 times (0s+0s) by CPAN::Meta::YAML::_has_internal_string_value at line 656 of CPAN/Meta/YAML.pm, avg 0s/call  | |||||
# spent 0s within Encode::XS::encode which was called 93 times, avg 0s/call:
# 90 times (0s+0s) by ExtUtils::MakeMaker::CORE:print at line 1182 of ExtUtils/MakeMaker.pm, avg 0s/call
#  3 times (0s+0s) by ExtUtils::MakeMaker::CORE:close at line 1186 of ExtUtils/MakeMaker.pm, avg 0s/call  | |||||
# spent 0s within Encode::XS::needs_lines which was called 3 times, avg 0s/call:
# 3 times (0s+0s) by ExtUtils::MakeMaker::CORE:binmode at line 1175 of ExtUtils/MakeMaker.pm, avg 0s/call  | |||||
# spent 0s within Encode::XS::renew which was called 3 times, avg 0s/call:
# 3 times (0s+0s) by ExtUtils::MakeMaker::CORE:binmode at line 1175 of ExtUtils/MakeMaker.pm, avg 0s/call  | |||||
# spent 0s within Internals::SvREADONLY which was called 35 times, avg 0s/call:
# 33 times (0s+0s) by constant::import at line 149 of constant.pm, avg 0s/call
#     once (0s+0s) by constant::BEGIN@24 at line 32 of constant.pm
#     once (0s+0s) by constant::BEGIN@24 at line 33 of constant.pm  | |||||
# spent 0s within UNIVERSAL::VERSION which was called:
#    once (0s+0s) by version::BEGIN@1 at line 1 of (eval 6)[version.pm:19]  | |||||
# spent 0s within UNIVERSAL::can which was called 199 times, avg 0s/call:
# 168 times (0s+0s) by ExtUtils::MakeMaker::new at line 735 of ExtUtils/MakeMaker.pm, avg 0s/call
#  19 times (0s+0s) by JSON::PP::object_to_json at line 323 of JSON/PP.pm, avg 0s/call
#   9 times (0s+0s) by Carp::format_arg at line 262 of Carp.pm, avg 0s/call
#      once (0s+0s) by CPAN::Meta::Prereqs::BEGIN@17 at line 51 of CPAN/Meta/Requirements.pm
#      once (0s+0s) by ExtUtils::MakeMaker::BEGIN@10 at line 24 of ExtUtils/MakeMaker/version.pm
#      once (0s+0s) by CPAN::Meta::BEGIN@58 at line 43 of CPAN/Meta/Converter.pm  | |||||
# spent 0s within UNIVERSAL::isa which was called 23 times, avg 0s/call:
# 19 times (0s+0s) by JSON::PP::object_to_json at line 321 of JSON/PP.pm, avg 0s/call
#  2 times (0s+0s) by ExtUtils::MakeMaker::_is_of_type at line 171 of ExtUtils/MakeMaker.pm, avg 0s/call
#  2 times (0s+0s) by base::import at line 91 of base.pm, avg 0s/call  | |||||
# spent 0s within mro::method_changed_in which was called 33 times, avg 0s/call:
# 33 times (0s+0s) by constant::import at line 182 of constant.pm, avg 0s/call  | |||||
# spent 0s within utf8::downgrade which was called 138 times, avg 0s/call:
# 54 times (0s+0s) by JSON::PP::PP_decode_json at line 653 of JSON/PP.pm, avg 0s/call
# 42 times (0s+0s) by Carp::format_arg at line 309 of Carp.pm, avg 0s/call
# 42 times (0s+0s) by Carp::format_arg at line 285 of Carp.pm, avg 0s/call  | |||||
# spent 0s within utf8::encode which was called 1377 times, avg 0s/call:
# 1374 times (0s+0s) by JSON::PP::string_to_json at line 480 of JSON/PP.pm, avg 0s/call
#    2 times (0s+0s) by base::__ANON__[C:/tmp64ng/perl/lib/base.pm:71] at line 69 of base.pm, avg 0s/call
#       once (0s+0s) by JSON::PP::PP_decode_json at line 658 of JSON/PP.pm  | |||||
# spent 0s within utf8::is_utf8 which was called:
#    once (0s+0s) by Portable::LoadYaml::_load_string at line 106 of Portable/LoadYaml.pm  | |||||
# spent 0s within utf8::upgrade which was called 11 times, avg 0s/call:
# 9 times (0s+0s) by JSON::PP::PP_encode_json at line 296 of JSON/PP.pm, avg 0s/call
#    once (0s+0s) by Portable::LoadYaml::_load_string at line 114 of Portable/LoadYaml.pm
#    once (0s+0s) by JSON::PP::PP_decode_json at line 657 of JSON/PP.pm  |