(perl #133708) remove build-time probing for stack limits for Storable
[perl.git] / dist / Storable / Makefile.PL
1 #
2 #  Copyright (c) 1995-2000, Raphael Manfredi
3 #  Copyright (c) 2017, Reini Urban
4 #  
5 #  You may redistribute only under the same terms as Perl 5, as specified
6 #  in the README file that comes with the distribution.
7 #
8
9 use strict;
10 use warnings;
11 use ExtUtils::MakeMaker 6.31;
12 use Config;
13 use File::Copy qw(move copy);
14 use File::Spec;
15
16 my $pm = { 'Storable.pm' => '$(INST_ARCHLIB)/Storable.pm' };
17
18 WriteMakefile(
19     NAME                => 'Storable',
20     AUTHOR              => 'Perl 5 Porters',
21     LICENSE             => 'perl',
22     DISTNAME            => "Storable",
23 # We now ship this in t/
24 #    PREREQ_PM           => { 'Test::More' => '0.41' },
25     PL_FILES        => { }, # prevent default behaviour
26     PM              => $pm,
27     PREREQ_PM           => { XSLoader => 0 },
28     INSTALLDIRS => ($] >= 5.007 && $] < 5.012) ? 'perl' : 'site',
29     VERSION_FROM    => '__Storable__.pm',
30     ABSTRACT_FROM   => '__Storable__.pm',
31     ($ExtUtils::MakeMaker::VERSION > 6.45 ?
32      (META_MERGE        => { resources =>
33                                { bugtracker => 'http://rt.perl.org/perlbug/' },
34                             provides    => {
35                                 'Storable'  => {
36                                     file        => '__Storable__.pm',
37                                     version     => MM->parse_version('__Storable__.pm'),
38                                 },
39                             },
40
41                            },
42     ) : ()),
43     dist                => { SUFFIX => 'gz', COMPRESS => 'gzip -f' },
44     clean               => { FILES => 'Storable-* Storable.pm lib' },
45 );
46
47 # Unlink the .pm file included with the distribution
48 1 while unlink "Storable.pm";
49
50 my $ivtype = $Config{ivtype};
51
52 # I don't know if the VMS folks ever supported long long on 5.6.x
53 if ($ivtype and $ivtype eq 'long long' and $^O !~ /^MSWin/) {
54   print <<'EOM';
55
56 You appear to have a perl configured to use 64 bit integers in its scalar
57 variables.  If you have existing data written with an earlier version of
58 Storable which this version of Storable refuses to load with a
59
60    Byte order is not compatible
61
62 error, then please read the section "64 bit data in perl 5.6.0 and 5.6.1"
63 in the Storable documentation for instructions on how to read your data.
64
65 (You can find the documentation at the end of Storable.pm in POD format)
66
67 EOM
68 }
69
70 # compute the maximum stacksize, before and after linking
71 package MY;
72
73 # FORCE finish of INST_DYNAMIC, avoid loading the old Storable (failed XS_VERSION check)
74 sub xlinkext {
75     my $s = shift->SUPER::linkext(@_);
76     $s =~ s|( :: .*)| $1 FORCE stacksize|;
77     $s
78 }
79
80 sub depend {
81     "
82
83 release : dist
84         git tag \$(VERSION)
85         cpan-upload \$(DISTVNAME).tar\$(SUFFIX)
86         git push
87         git push --tags
88 "
89 }
90
91 sub postamble {
92 '
93 all :: Storable.pm
94         $(NOECHO) $(NOOP)
95
96 Storable.pm :: Storable.pm.PL __Storable__.pm
97         $(PERLRUN) Storable.pm.PL
98 '
99 }