モダンPerlの世界へようこそ

第23回Module::Build:MakeMakerの後継者を目指して


18local::lib

ExtUtils::MakeMaker


Perl31990使使PerlOracleOraperlPostgreSQLPgperl89Perl[1]

APIPerlPerl

1992Buzz MoschettiDBIDBIPerl 5DBIPerlPerlCPerl 5PerlPerlmake使ExtUtils::MakeMaker (EUMM)

[1]
http://www.perl.com/doc/FAQs/FAQ/oldfaq-html/Q1.20.html

ExtUtils::MakeMaker使


ExtUtils::MakeMaker使Makefile.PL
use strict;
use warnings;
use ExtUtils::MakeMaker;

WriteMakefile(
    NAME          => 'MyModule::Name',
    AUTHOR        => 'Some Person <person@example.com>',
    VERSION_FROM  => 'lib/MyModule/Name.pm',
    ABSTRACT_FROM => 'lib/MyModule/Name.pm',
    PREREQ_PM     => {
        'Some::Module'  => 0,
        'Other::Module' => 0,
        'Test::Module'  => 0.88,
    },
    ($ExtUtils::MakeMaker::VERSION > 6.30
        ? ( LICENSE => 'perl' )
        : ()
    ),
);

ExtUtils::MakeMaker


Perl 5WikiExtUtilsExt(ernal) Util(itie)sPerlext/Ext(ension)Util(itie)sExtUtils::MakeMakerext/Perl 4DBMPOSIXDBI/DBDCTkGUICPerl

CC使Perl使C使Makefilemake使PerlPerl使

UnixWindowsMakefileExtUtils::CommandPerlWindowsWindowsExtUtils::MakeMakerAIXBeOSCygwinDOSDarwinMac OS XMac OSClassicNW5OS2QNXU/WINVMSVOSMakefile調

ExtUtils::MakeMaker21ExtUtils::MakeMakerKen Williams2001Module::Build

Module::Build


makeModule::BuildPerl 6ExtUtils::MakeMakerModule::Build
use strict;
use warnings;
use Module::Build;

my $builder = Module::Build->new(
    module_name => 'MyModule::Name',
    dist_author => 'Some Person <person@example.com>',
    dist_version_from => 'lib/MyModule/Name.pm',
    requires => {
        'Some::Module'  => 0,
        'Other::Module' => 0,
    },
    build_requires => {
        'Test::Module'  => 0.88,
    },
#   license => 'perl',
);

$builder->license('perl') if $Module::Build::VERSION > 0.06;

$builder->create_build_script;

ExtUtils::MakeMaker使Makefile.PLModule::Build

Module::BuildMETA.yml


Module::BuildMakefile.PLCPANCPANMakefile.PLMakefile.PLModule::BuildMETA.ymlMakefileYAMLModule::BuildMETA.ymlExtUtils::MakeMakerCPAN[2]

[2]
http://module-build.sourceforge.net/


Module::Build調ExtUtils::MakeMakerMichael Schwern2003MakeMaker Is DOOMED!ExtUtils::MakeMakerModule::Build10使perl Makefile.PL && make && make test && make installExtUtils::MakeMakerModule::BuildCPANCPAN.pmModule::BuildCModule::BuildModule::Build20032006Module::Build

Module::Install


Module::Build使Module::Install2002CPAN::MakeMakerExtUtils::MakeMakermakeModule::Install使Makefile.PLuse strict;use warnings;Mooseinc::Module::Install
use inc::Module::Install;

name 'MyModule-Name';
all_from 'lib/MyModule/Name.pm';
requires 'Some::Module';
requires 'Other::Module';
build_requires 'Test::Module' => 0.88;
license 'perl';

WriteAll;

Module::InstallCPAN使Module::InstallModule::BuildCPAN使auto_bundleModule::Install使

Module::InstallExtUtils::MakeMakerModule::BuildCatalystJiftyMoose2000Module::Install

Module::Install


Module::InstallModule::InstallModule::InstallModule::InstallModule::InstallModule::InstallModule::InstallModule::InstallModule::Install

Module::Installauto_installCPAN使make


ExtUtils::MakeMakerModule::BuildModule::Install


Module::Build使Module::BuildCPANExtUtils::MakeMakerModule::BuildModule::Build20068Perl 5.9.4David Golden

ExtUtils::MakeMakerMETA.ymlCPANXS/CExtUtils::MakeMakerExtUtils::MakeMaker使Module::BuildExtUtils::CBuilderExtUtils::ParseXSExtUtils::MakeMaker1Perl 5.6ExtUtils::MakeMakerPerl 5.05.6Perl

Module::InstallExtUtils::MakeMakerPODModule::Install::AuthorTestsCModule::Install::CheckLibCPAN40Module::InstallExtUtils::MakeMakerModule::Build使Module::InstallModule::Build::Functions


CPAN使ExtUtils::MakeMakerModule::Install使

使便使
 

おすすめ記事

記事・ニュース一覧