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 | BEGIN@1 | main::
1013 | 2 | 2 | 0s | 0s | FLAGS (xsub) | B::SV::
93 | 2 | 1 | 0s | 0s | encode (xsub) | Encode::XS::
3 | 1 | 1 | 0s | 0s | needs_lines (xsub) | Encode::XS::
3 | 1 | 1 | 0s | 0s | renew (xsub) | Encode::XS::
35 | 3 | 1 | 0s | 0s | SvREADONLY (xsub) | Internals::
1 | 1 | 1 | 0s | 0s | VERSION (xsub) | UNIVERSAL::
199 | 6 | 6 | 0s | 0s | can (xsub) | UNIVERSAL::
23 | 3 | 3 | 0s | 0s | isa (xsub) | UNIVERSAL::
1 | 1 | 1 | 0s | 0s | BEGIN@2 | main::
33 | 1 | 1 | 0s | 0s | method_changed_in (xsub) | mro::
138 | 3 | 2 | 0s | 0s | downgrade (xsub) | utf8::
1377 | 3 | 2 | 0s | 0s | encode (xsub) | utf8::
1 | 1 | 1 | 0s | 0s | is_utf8 (xsub) | utf8::
11 | 3 | 2 | 0s | 0s | upgrade (xsub) | utf8::
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 |