xref: /openbsd-src/gnu/usr.bin/perl/cpan/Scalar-List-Utils/Makefile.PL (revision de8cc8edbc71bd3e3bc7fbffa27ba0e564c37d8b)
1# -*- perl -*-
2BEGIN { require 5.006; }
3use strict;
4use warnings;
5use Config;
6use File::Spec;
7use ExtUtils::MakeMaker;
8my $PERL_CORE = grep { $_ eq 'PERL_CORE=1' } @ARGV;
9my $defines = $ENV{PERL_CORE} ? q[-DPERL_EXT] : q[-DPERL_EXT -DUSE_PPPORT_H];
10
11my %params = (
12  NAME         => q[List::Util],
13  ABSTRACT     => q[Common Scalar and List utility subroutines],
14  AUTHOR       => q[Graham Barr <gbarr@cpan.org>],
15  DEFINE       => $defines,
16  DISTNAME     => q[Scalar-List-Utils],
17  VERSION_FROM => 'lib/List/Util.pm',
18
19  # We go through the ListUtil.xs trickery to foil platforms
20  # that have the feature combination of
21  # (1) static builds
22  # (2) allowing only one object by the same name in the static library
23  # (3) the object name matching being case-blind
24  # This means that we can't have the top-level util.o
25  # and the extension-level Util.o in the same build.
26  # One such platform is the POSIX-BC BS2000 EBCDIC mainframe platform.
27  XS     => {'ListUtil.xs' => 'ListUtil.c'},
28  OBJECT => 'ListUtil$(OBJ_EXT)',
29  ( $PERL_CORE
30    ? ()
31    : (
32      INSTALLDIRS      => ($] < 5.011 ? q[perl] : q[site]),
33      TEST_REQUIRES => {
34        'Test::More' => 0,
35      },
36      (eval { ExtUtils::MakeMaker->VERSION(6.31) } ? (LICENSE => 'perl') : ()),
37      (eval { ExtUtils::MakeMaker->VERSION(6.48) } ? (MIN_PERL_VERSION => '5.006') : ()),
38      ( eval { ExtUtils::MakeMaker->VERSION(6.46) } ? (
39          META_MERGE => {
40            'meta-spec' => { version => 2 },
41            dynamic_config => 0,
42            resources => {    ##
43              repository => {
44                url => 'https://github.com/Scalar-List-Utils/Scalar-List-Utils.git',
45                web => 'https://github.com/Scalar-List-Utils/Scalar-List-Utils',
46                type => 'git',
47              },
48              bugtracker => {
49                mailto => 'bug-Scalar-List-Utils@rt.cpan.org',
50                web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Scalar-List-Utils',
51              },
52            },
53          }
54          )
55        : ()
56      ),
57    )
58  ),
59);
60
61if ($params{TEST_REQUIRES} and !eval { ExtUtils::MakeMaker->VERSION(6.64) }) {
62    $params{BUILD_REQUIRES} = {
63        %{$params{BUILD_REQUIRES} || {}},
64        %{delete $params{TEST_REQUIRES}},
65    };
66}
67if ($params{BUILD_REQUIRES} and !eval { ExtUtils::MakeMaker->VERSION(6.5503) }) {
68    $params{PREREQ_PM} = {
69        %{$params{PREREQ_PM} || {}},
70        %{delete $params{BUILD_REQUIRES}},
71    };
72}
73
74WriteMakefile(%params);
75