The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.35_06

  • Enhancements:
  • Added experimental inc/ bundling; see Module::Build::Bundling for details. [David Golden and Eric Wilhelm]
  • Clarified that 'apache' in the license attribute indicates the Apache License 2.0 and added 'apache_1_1' for the older version of the license (RT#50614) [David Golden]
  • Bug fixes:
  • Merging 'requires' and 'build_requires' in Module::Build::Compat could lead to duplicate PREREQ_PM entries; now the highest version is used for PREREQ_PM. (RT#50948) [David Golden]
  • Module::Build::Compat will now die with an error if advanced, non-numeric prerequisites are given, as these are not supported by ExtUtils::MakeMaker in PREREQ_PM [David Golden]
  • Made MYMETA generation non-fatal if fields required for META.yml are missing [David Golden]
  • Added Pod::Simple to requirements for manpage support; avoids problems if a user has a broken Pod::Man/Pod::Simple. (RT#50081)
    • David Golden
  • Won't die if installed Pod::Readme is broken [David Golden]
  • Other:
  • Fixed Module::Build::Notes POD [David Golden]
  • Some commands had become silent by default, so added a few short status messages so users know something actually happened [David Golden]
  • Cleaned up Changes file formatting [David Golden]
  • Removed most PERL_CORE customizations from test files due to reorganization of dual-life modules in core (RT#49522) [David Golden]

Changes for version 0.35_05 - 2009-10-28

  • Bug fixes:
  • Fix test failure in t/actions/installdeps.t when $^X is not the default perl [David Golden]
  • Work around $VERSION numbers in ActiveState with multiple underscores that prevent Module::Build from installing on Win32 [David Golden]
  • Fix bug cleaning compatibility Makefile when older ExtUtils::Manifest is installed [David Golden with help from David Cantrell]
  • Other:
  • Suppressed more warnings from tests [David Golden]
  • Add provisional support for 'package NAME VERSION' syntax added in Perl 5.11.1 [David Golden]

Changes for version 0.35_04 - 2009-10-23

  • Bug fixes:
  • Fix test failure if IPC::Cmd isn't installed [David Golden]
  • Other:
  • Suppressed warning messages from various tests [David Golden]

Changes for version 0.35_03 - 2009-10-21

  • API CHANGE ***
  • The prepare_metadata() method used to take a YAML::Node object as an argument for modification. The method now takes no arguments and just returns a hash reference of metadata. [David Golden]
  • Enhancements
  • Command line options may be set via the PERL_MB_OPT environment variable (similar to PERL_MM_OPT in ExtUtils::MakeMaker)
  • Bug fixes:
  • Updated PPM generation to PPM v4 (RT#49600) [Olivier Mengue]
  • When c_source is specified, the directory scan will include additional, less-common C++ extensions (RT49298) [David Golden]
  • When module_name is not supplied, no packlist was being written; fixed by guessing module_name from dist_version_from or the directory name (just like ExtUtils::Manifest does without NAME) [David Golden]
  • Bumped IO::File prereq to fix binmode failures in PPMMaker on Perl prior to 5.8.8 [David Golden]
  • Other:
  • Replaced use of YAML.pm with YAML::Tiny; Module::Build::YAML is now based on YAML::Tiny as well [David Golden]
  • Reduced amount of console output under normal operation (use --verbose to see all output) [David Golden]

Changes for version 0.35_02 - 2009-09-07

  • Enhancements:
  • Added 'needs_compiler' property. Defaults to true if XS or c_source exist. If true, ExtUtils::CBuilder is also added to build_requires.
    • David Golden
  • File::ShareDir automatically added to 'requires' if 'share_dir' is set
    • David Golden
  • Added 'Build installdeps' action to install needed dependencies via a user-configurable command line program. (Defaults to 'cpan'.)
    • Eric Wilhelm
  • Bug fixes:
  • Failure to detect a compiler will now warn during Build.PL and be a fatal error when trying to compile during Build. (RT#48918) [David Golden]
  • Fixed directory sorting failure in share_dir.t [David Golden]
  • Property defaults that are data structures were being assigned as references to new objects. Changed so that defaults are cloned instead. (This mostly affects testing, which often creates multiple objects in the same process) [David Golden]
  • Simplified error message on exit under use_tap_harness [suggested by David Wheeler]
  • Fixed typemap search to use a dist-level typemap if a typemap is not found in the directory with the *.xs file; (was manifesting as warnings in Perl 5.6 tests) [David Golden]
  • Other:
  • Replaced guts of new_from_context(). Build.PL is now executed in a separate process before resume() is called. (This is generally only of interest to Module::Build or toolchain developers) (RT#49350) [David Golden, Eric Wilhelm, Ken Williams]
  • Revised test helper classes to fix potential bugs and add new features to make writing tests simpler and easier. Changes incorporated into t/README.pod and t/sample.t as examples for new testing. [David Golden]

Changes for version 0.35_01 - 2009-08-31

  • Enhancements:
  • Generates MYMETA.yml during Build.PL (new standard protocol for communicating configuration results between toolchain components)
    • David Golden
  • Added 'share_dir' property to provide File::ShareDir support; set automatically if a directory called 'share' exists
    • David Golden
  • Bug fixes:
  • Fix the t/destinations.t fix. [David Golden, with thanks to Eric Wilhelm]
  • Fix recursive test files in generated Makefile.PL (RT#49254) [Sawyer X]
  • Guard against trying :utf8 when :utf8 isn't available
  • The "test" action now dies when using the 'use_tap_harness' option and tests fail, matching the behavior under Test::Harness. (RT#49080) [initial patch from David Wheeler; revised by David Golden]
  • Other:
  • Added t/README.pod and t/sample.t to guide developers writing new tests
    • David Golden, with some code from Eric Wilhelm
  • Module::Build::Compat 'passthrough' style has been deprecated. Using 'passthrough' will issue warnings on Makefile.PL generation. See Module::Build::Compat documentation for rationale.

Documentation

API Reference for Module Authors
Authoring Module::Build modules
How to bundle Module::Build with a distribution
Query or change configuration of Perl modules

Modules

Build and install Perl modules
Default methods for Module::Build
Compatibility with ExtUtils::MakeMaker
Examples of Module::Build Usage
Gather package and POD information from a perl module file
Create persistent distribution configuration modules
Perl Package Manager file creation
Builder class for Amiga platforms
Stub class for unknown platforms
Builder class for EBCDIC platforms
Builder class for MPEiX platforms
Builder class for MacOS platforms
Builder class for RiscOS platforms
Builder class for Unix platforms
Builder class for VMS platforms
Builder class for VOS platforms
Builder class for Windows platforms
Builder class for AIX platform
Builder class for Cygwin platform
Builder class for Mac OS X platform
Builder class for OS/2 platform
use modules bundled in inc/ if they are newer than installed ones

Provides

in lib/Module/Build/Config.pm
in lib/Module/Build/Dumper.pm
in lib/Module/Build/PodParser.pm
in lib/Module/Build/Version.pm
in lib/Module/Build/YAML.pm
in lib/inc/latest/private.pm