Module-Build

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

   documentation [Salve J. Nilsen]

 - Added configure_requires as a new type of prereq.  [Suggested by Adam
   Kennedy]

 - Patch 31156 from bleadperl: some filename dot and extension help
   for Module::Build on VMS. [Craig Berry]

 - Reworked the _detildefy() method so it doesn't depend on glob()
   anymore.  This gets rid of a problem with spaces or other special
   shell characters in things like 'prefix' or 'install_path'
   entries. [Prodding by Eric Wilhelm]

 - Added midnightbsd to the list of Unix-like OSes we know about
   [Rafael Garcia-Suarez]

0.2808 - Sat Apr 28 12:59:43 2007

 - Added is_vmsish(), is_windowsish(), and is_unixish() boolean
   convenience functions.  Fixes some test failures on platforms where
   $^O is set to a value we don't know about (like 'gnu').

 - Upgraded to version.pm 0.7203. [John Peacock]

 - Support get_action_docs() =head2 style. [ewilhelm]

 - Workaround Test::Pod::Coverage @INC bug. [Eric Wilhelm]

 - Fixed the command-line args --extra_compiler_flags and
   --extra_linker_flags so they properly shell-split their arguments.

0.2807 - Sat Mar 24 22:19:02 2007

 - Upgraded to version.pm 0.71. [John Peacock]

 - Removed a couple small constructs in the tests ("use warnings;" and
   "qw$foo bar$[1]") that caused test failures under perl 5.005.

 - Added support for an explicit default value of undef in prompt().
   [Eric Wilhelm]

 - Improved our prompt() method, which could sometimes hang before the
   user got a chance to see a prompt. [Andreas Koenig]

 - Added a note about --allow_mb_mismatch to the error message that
   happens right before someone might want to use that parameter.

 - Added DragonflyBSD to the list of known Unix OSes.

 - get_action_docs() dies on error rather than twiddling $@

 - Made ModuleInfo's _evaluate_version_line() compatible with 'use
   version ...$VERSION' lines.  [Eric Wilhelm]

 - Added some verbiage in Module::Build::API that officially blesses
   the _build/prereqs file for external consumption. [Suggested by Andreas Koenig]

 - Added test profiles support via the test_types property and "testall"
   target. [Eric Wilhelm, Jeff Lavallee]

 - Use syscopy() on OS/2 in copy_if_modified() so we make sure to
   overwrite any existing target file. [Ilya Zakharevich]

 - Removed seemingly silly '~~' test in t/tilde.t.

 - In our test-time utility library t/lib/MBTest.pm, we need to know
   about a few .exe-like extensions on OS/2. [Ilya Zakharevich]

 - In t/ppm.t, use DynaLoader::mod2fname() (if available) to determine
   the correct translation of our test module's name into a DLL
   name. [Ilya Zakharevich]

 - Avoid an unlink() error on OS/2 when fixing shebang lines. [Ilya
   Zakharevich]

 - When we're protecting the world from the evils of long RedHat
   $ENV{PERL5LIB} variables, don't assume $ENV{PERL5LIB} is already
   defined.  This gets rid of a huge number of warnings for some
   people. [Dave Rolsky]

0.2806 - Fri Dec 15 22:20:14 2006

 - On some systems (haven't identified the actual problem yet)
   $ENV{PERL5LIB} can grow to enormous enough sizes that we can't
   launch any more subprocesses because the environment table is full.
   This is the now-infamous "Couldn't run Build.PL: Argument list too
   long" error.  Now we detect such situations and trim the directory
   list to only include directories that actually exist, listed only
   once each.  Not the ideal solution, but it should work.

 - Silence a warning in M::B::ModuleInfo that happens when the author
   is using the "$VERSION = eval $VERSION" idiom.

 - When running the 'testcover' action, do "cover --delete" if any of
   the test files have changed (we already did so if any of the code
   under test has changed). [Suggested by Chris Dolan, RT #23584]

 - Fixed a broken link in the documentation about PREFIX. [Spotted by
   David Steinbrunner]

 - Changes to do_system() & friends on VMS to get system calls working
   much better there. [Craig Berry]

 - Added the "pardist" target which creates a PAR binary distribution
   akin to a PPM distribution. [Steffen Mueller]

 - Added the Interix platform as a Unix variant. [Stephen Hartland]

 - Improved the error message we emit when a distribution contains XS
   files but the user has no C compiler. [Suggested by Andreas Koenig]

0.2805_01  Thu Sep  7 21:57:29 CDT 2006

 - Because of a weird behavior of YAML::Node, any distribution that
   used version.pm objects to define their versions was generating the
   wrong syntax for the versions in their META.yml file.  They will
   now appear as strings like v3.42.1 or similar, including the
   leading v.

 - Upgraded to version 0.67 of version.pm. [John Peacock]

 - Added a contrib/ directory with a bash completion function for M::B
   actions and switches. [Julian Mehnle]

 - When we eval() the embedded version.pm code we will now die() if
   the eval() was unsuccessful, rather than continuing blindly on and
   dying mysteriously later.

 - Added a 'retest' action that lets users run the current regression
   tests on a previously-installed version of a distribution.

 * Instead of storing an entire dump of the Config.pm hash in the
   _build/ directory upon startup, we now just store any overrides the
   user or author has specified.  Note that if you were doing anything
   you weren't supposed to be doing, like poking around in the
   internals of $buld->{config}, your code might break, so I've put
   the asterisk of incompatibility on this one just to cover my
   tuchus.  [Idea originally by Randy Sims]

 - Made copying files via copy_if_modified() a little less chatty.

0.2805  Sat Jul 29 22:01:24 CDT 2006

 - We now embed a copy of version.pm right in the
   Module::Build::Version source code, with John Peacock's blessing,
   in case the user has a rough time installing version.pm.  This
   helps alleviate troubles people were still having with working out
   a seemingly circular dependency (even though version.pm now ships
   with a standard Makefile.PL too).  A version.pm >= 0.661 installed
   on the system will take precedence over our bundled one. [John
   Peacock]

 - Fix some test warnings (or failures?) related to version.pm
   numification. [John Peacock]

 - The top-level 'version' entry in META.yml files we'd generated was
   in the wrong format (it was being treated as a version.pm object
   rather than a serialized copy) due to a weird YAML::Node issue.
   Fixed.

 - Don't 'use base qw(version)' anymore in our M::B::Version wrapper,
   just set @ISA directly, because some people have reported that the
   'use base' line is croaking.

 - Added an 'allow_mb_mismatch' parameter to suppress the startup
   check that ensures the version of M::B currently running is the
   same as the one initially used to run the Build.PL.  Use with
   caution.

 - Module::Build::ModuleInfo will no longer detect things that look
   like $VERSION assignments after an __END__ or __DATA__ token.

 - Updated documentation to mention the new mailing list on perl.org
   rather than the old one on sourceforge.

0.2804  Sun Jul 16 16:41:25 CDT 2006

 - Added 'use version;' in Module::Build::Version, because some
   versions of base.pm won't automatically load version.pm when we do
   'use base qw/version/;'. [Spotted by Erik Tank]

0.2803  Sat Jul 15 08:26:34 CDT 2006

 - The META.yml file in the last release was all screwed up, so the
   distribution wasn't indexed properly.  Fixed in this release.

0.2802  Fri Jul 14 22:40:34 CDT 2006

 - Added reliance on version.pm, which means we should deal much
   better with the wide range of version specifications one finds on
   CPAN.  This is made possible by recent releases of version.pm that
   give the user a pure-perl option, so installing version.pm
   shouldn't be too onerous for most users.  [John Peacock]

 - We should be accepting the default when we're in unattended mode,
   not acting dumb and ignoring both the default and the [empty]
   answer from the user.  Fixed.  [Spotted by Nik Clayton]

0.2801  Sun May 21 00:07:40 CDT 2006

 - Module::Build::Compat's emulation of INC is incorrectly prepending
   a -I to the value of INC. This is incorrect because there should
   already be a -I on the value. I.E. it's "perl Makefile.PL INC=-Ifoo"
   not "perl Makefile.PL INC=foo" so Compat should not prefix a -I.
   [Michael Schwern]

 - Native batch scripts under Windows should not be converted by
   pl2bat. [Spotted by Ron Savage]

 - Tweaked the way we determine whether a file is executable on Unix.
   We use this determination to decide whether to make it executable
   during installation. [Julian Mehnle]

 - Replaced a vestigial 'next' with 'return' now that the code is in a
   subroutine (htmlify_pods()), not a loop. [Ron Savage]

 - Fixed a guaranteed failure in t/signature.t when TEST_SIGNATURE was
   set. [Eric R. Meyers]

 - Fixed a test failure that occurred when testing or installing in
   unattended mode - the code to test whether unattended mode and
   attended mode are working properly was assuming that we started out
   in attended mode. [Steve Peters]

 - Improved our stand-in YAML generator that we use to generate
   META.yaml when authors don't have a copy of YAML.pm installed on
   their machine.  It was unable to handle things like embedded
   newlines in the data, now it has a much more extensive escaping
   mechanism. [Stephen Adkins]

 - Revised the docs for --prefix and PREFIX. [Michael Schwern]

0.28  Thu Apr 27 22:25:00 CDT 2006

 - When y_n() or prompt() are called without a default value and the
   build seems to be unattended (e.g. in automatic CPAN testing), we
   now die() with an error message rather than silently returning
   undef for prompt(), or looping indefinitely for y_n().

 - When searching for '.modulebuildrc', return the first HOME-like
   directory that actually contains the file instead of the first
   existing directory. Document the search locations and the order
   searched. [Spotted by David Golden]

 - Split the API documentation out of Module::Build::Authoring into
   its own document: Module::Build::API.

 - We should not emit a warning if a Module::Build subclass is
   required in a Makefile.PL that is not bundled in the current
   distribution; it may be installed on the user's system. [Spotted by
   Tyler MacDonald]

 - copy_if_modified() now preserves the executable bit of the source
   file. [Spotted by Julian Mehnle]

 - Fixed compatibility of our screen-scraping the Test::Harness output
   so we can recognize the most recent Test::Harness version. [Steve
   Hay]

 - Backing out a requirement added in 0.27_06 on the method y_n()
   to always include a default. This behavior would cause existing
   build scripts to start failing. We now fail with a missing default
   only when $ENV{PERL_MM_USE_DEFAULT} is set because there is no
   reasonable default.

 - Make install_types() method smarter with respect to custom install
   types.

 - Add documentation for the install_base_relpaths() and
   prefix_relpaths() methods. Improved their usage for a public API,
   and added tests.

0.27_10  Tue Mar 28 22:50:50 CST 2006

 - Added the create_packlist property, default true, which controls
   whether packlist files will be written during installation.  This
   was already part of Module::Build 0.2609, but for some reason we've
   forgotten it in the 0.27_xx series.  [Spotted by Steve Kirkup]

 - Document the versions of Module::Build where each feature, action,
   constructor argument, and method was first publicly documented.

 - More fixes for find_perl_interpreter() to work with BSD flavored
   UNIX: Ensure we always return absolute paths; throw an exception
   upon failure to find correct interperter; document everything.

 - We now include our own YAML.pm work-alike that we can use when the
   real YAML isn't installed.  We might soon even start using it when
   YAML is installed, because the YAML API and dependency chain have
   been changing in unfavorable ways lately. [Stephen Adkins]

 - Fixed some shell-argument-quoting issues on VMS.  In the process,
   we have added some support for avoiding tripping over
   shell-argument-quoting issues on other platforms too. [Initial
   patch by Craig A. Berry]

0.27_09  Sat Mar 11 22:48:54 EST 2006

 - Fixed find_perl_interpreter() so we can find the perl executable
   when running from uninstalled perl even when $^X contains a
   relative path. [Yitzchak Scott-Thoennes]

 - Fixed warning message where we were printing the wrong field names.
   [Chris Dolan]

 - Added a 'testpodcoverage' action that runs a POD coverage check for
   all modules in the distribution. [Yanick Champoux]

 - Added a Cookbook example of subclassing to modify an action. [Dylan
   Martin and David Golden]

 - When building HTML documentation, we were opening the POD file and
   not checking whether the open succeeded, which of course caused

Changes  view on Meta::CPAN

 - Completely rewrote the split_like_shell() method for the Windows
   platform so it works like the command.com shell. [Randy Sims]

0.2602 (Bug fix release in 0.26 series)   Thu Nov  4 11:19:29 CST 2004

 - The two bug fixes in 0.2601 gnashed against each other incorrectly,
   resulting in a Win32 bug in split_like_shell().  Fixed.  [Spotted
   by Steve Hay & Randy Sims]

 - Removed a couple of 'use warnings' statements from the code - they
   were causing compile failures on 5.005_04, where warnings.pm isn't
   available. [Blair Zajac]

0.2601 (Bug fix release in 0.26 series)   Wed Nov  3 20:09:27 CST 2004

 - Fixed some backslash problems with split_like_shell() on
   Win32. [Steve Hay]

 - Fixed a bug in split_like_shell() in which leading whitespace was
   creating an empty word, manifesting as something like "gcc - no
   such file or directory" during tests. [Spotted by Warren L. Dodge]

0.26  Sat Oct  9 17:51:01 CDT 2004

 - Removed some language from the Module::Build::Compat documentation
   that encouraged people to include a Build.PL without a Makefile.PL.
   Also changed "a replacement for MakeMaker" to "an alternative to
   MakeMaker" in the main documentation, which is basically what I
   meant all along (i.e. a replacement for MakeMaker in your
   particular build process - MakeMaker is never going to be fully
   replaced in the perl world at large, of course), but some people
   got the impression I was a little more truculent toward MakeMaker
   than I really am.

 - Added the formal concepts of "features" and "config data" for
   distributions.  This allows the module author to define a certain
   set of features that the user can switch on and off (usually
   according to whether they have the proper prerequisites for them),
   and to save build-time configuration information in a standardized
   format.  See the main documentation of Module::Build for more
   details.  (Note that the name of this system was called
   "BuildConfig" for a while in beta, but now it's called
   "ConfigData".)

 - Added an 'auto_features' capability, which simplifies the process
   of defining features that depend on a set of prerequisites.

 - Added the 'get_options' parameter, which lets module authors
   declare certain command-line arguments their Build.PL can accept
   [David Wheeler]

 - Changed the split_like_shell() method to use the shellwords()
   function from Text::ParseWords (a core module since 5.0), which
   does a much better job than the split() we were using.

 - Added a 'testpod' action, which checks the syntactic validity of
   all POD files in the distribution using Test::Pod.  This eliminates
   the need for doing so in a regression test. [Initial patch by Mark
   Stosberg]

 - Added a process_files_by_extension() method, which generalizes the
   kind of processing (essentially just copying) that happens for .pm
   and .pod files, and makes it available to other user-defined types
   of files.  See the new cookbook entry.

 - Improved compatibility with version.pm when authors are using
   version objects as their $VERSION variables.  Now
   version_from_file() can deal with these objects.  Currently we
   stringify them right away, but perhaps in the future we will
   preserve them as objects for a while.

 - During 'distdir' and 'distmeta' actions, die a bit more gracefully
   if there's no MANIFEST (i.e. explicitly say that a MANIFEST is
   required). [Spotted by Adrian Howard]

 - Eliminated a recursive dependency between creating the MANIFEST
   file and creating the META.yml file.  [Spotted by Dave Rolsky]

 - On Win32, where a single directory might be known variously as
   "Module-Build-0.25_03" or "MODULE~1.25_", we now use
   Win32::GetShortPathName($cwd) to verify that the 'Build' script is
   being run from the correct directory, rather than just a string
   comparison.

 - The add_to_cleanup() method will now accept glob()-style patterns
   in addition to explicit filenames.  Also documented the fact that
   they can be specified in either Unix-style or native-style
   notation.

 - Passing a PREFIX value to a pass-through Makefile 'make install'
   now has the same effect as passing it to 'perl Makefile.PL' (it
   dies with a helpful message).

 - Added the 'testcover' action, which runs a test suite using
   Devel::Cover.  [Dave Rolsky]

 - Added the 'lib' and 'arch' installation directories to the search
   path for the 'diff' action, since they won't necessarily (though
   they usually will) be in @INC at installation time. [Suggested by
   Kevin Baker]

 - The "=head3" POD directive isn't supported in older podlators
   (particularly Pod::Man), so we don't use it anymore.

 - Fixed a typo & improved the docs in the SUBCLASSING section. [Ron
   Savage]

 - Added the '.tmp' suffix to the default MANIFEST.SKIP file, which
   should avoid adding things like pod2htmi.tmp to the MANIFEST [Ron
   Savage]

 - Backup files from Emacs, containing the string '.#' in their names,
   should no longer find their way into the blib/ directory (and from
   there into installation directories).

 - Worked around an unpleasant interaction between version.pm and the
   version-checking code that makes sure Module::Build's version
   hasn't changed during the lifetime of the 'Build' script. [Reported
   by Trevor Schellhorn]

 - Fixed a problem in htmlify_pods() that would produce test failures



( run in 2.369 seconds using v1.01-cache-2.11-cpan-ecdf5575e8d )