Hi,

The uploaded file

Module-Build-0.19.tar.gz

has entered CPAN as

  file: $CPAN/authors/id/K/KW/KWILLIAMS/Module-Build-0.19.tar.gz
  size: 74015 bytes
   md5: c1647888d63033446583f9697fb7b426

Oodles and oodles of changes since 0.18:

 - Added support for the 'install_path' parameter, which allows custom
   specification of where things should be installed.  This is a major
   improvement to Module::Build's functionality.

 - Added the 'install_base' parameter.  Provides an easy way to
   install to local or alternative directory trees.

 - We now install scripts by default to $Config{installsitebin}
   instead of $Config{installscript}.  Neither is a great choice, but
   the former is likely to be [analogous to] /usr/local/bin, and the
   latter is likely to be [something like] /usr/bin .  If/when there's
   a $Config{installsitescript}, we'll start using that automatically.

 - Fixed a problem on Win32 in which C and XS files wouldn't be
   compiled properly, and the user would see an error about 'Can't
   locate object method "format_compiler_cmd"'.
   (http://rt.cpan.org/Ticket/Display.html?id=2391)

 - We now use the correct perl interpreter (via
   Module::Build->find_perl_interpreter) in pass-through makefiles.

 - The t/compat.t test now uses $Config{make} instead of just 'make'
   to test makefile compatibility.  This fixes some failures on Win32.
   We also skip this test entirely if no make utility is available.

 - Alternative distribution layouts are now supported via the
   'pm_files', 'pod_files', 'xs_files', 'PL_files', and 'script_files'
   parameters to new().  This should help people transition from
   MakeMaker, and might even help us write an automatic transition
   tool.

 - Added tests to t/runthrough.t that check to see installation is
   happening correctly.

 - Added experimental code to build a .ppd file, in support of
   ActiveState's "Perl Package Manager". [original patch by Dave
   Rolsky]

 - For authors who use Module::Signature to sign their distributions,
   we now create the SIGNATURE file right in the distribution
   directory, rather than creating it in the top-level directory and
   copying it into place.  This solves problems related to having
   files get out of date with respect to their signatures.

 - We now don't depend on Module::Info to scan for packages during the
   'dist' action anymore, because it's way too aggressive about
   loading other modules that you may not want loaded.  We now just
   (ick, yuck) scan the .pm files with a regular expression to find
   "package Foo::Bar;" statements.

 - Silenced some annoying copyright/logo output from Microsoft 'nmake'
   during Makefile compatibility testing. [Randy W. Sims]

 - Command-line arguments may now either be specified using the syntax
   '--foo foovalue' as well as the traditional syntax 'foo=foovalue'.
   The former is often more convenient for shell tab-completion when
   the value is a filename (as in 'Build test --test_files t/basic.t').

 - Command-line arguments may now include non-named parameters, which
   make some actions more natural.  For instance, the 'diff' action
   may now be invoked as 'Build diff -u' rather than as
   'Build diff flags=-u'.

 - Pass-through Makefile.PLs now convert unknown Makefile.PL
   parameters to lower-case and hand them to Build.PL, rather than
   ignoring them.  This means we only have to account for the
   differences in the interface, not the entire interface, in
   translating parameters.

 - We now issue a warning & don't proceed if asked to make a distdir
   and there's no MANIFEST or it's empty.

 - Moved INSTALL to INSTALL.txt to increase compatibility with various
   odd versions of 'make' during 'make install' on case-insensitive
   filesystems (like nmake on Win32, often).  Only affects the
   Makefile compatibility layer.  [reported by Andrew Savige]

- Module::Build->known_actions() now works as a class method.

 - Pass-through makefiles now list each action individually rather
   than using a ".DEFAULT" catch-all.  This improves compatibility
   with 'nmake' on Win32, and probably some other less common 'make'
   dialects.  [Andrew Savige]

 - We're now more aggressive about testing the pass-through makefiles,
   e.g. making sure they can run 'all' and 'test' targets, and making
   sure the Makefile itself actually exists.

 - Fixed a problem with check_installed_status() when installed
   version contains non-numeric characters like underscores.

 - Fixed a problem with a bareword 'File::Spec' in one of the test
   scripts that caused it not to compile under 5.8.0 (but is fine
   under 5.6).

 - Fixed a problem with the 'destdir' installation parameter on
   platforms that have volume identifiers in path names (like "C:" on
   Win32).  The identifier is now stripped from installation
   directories before prepending the destdir path.  The destdir path
   may still have a volume identifier on it.

 - Added an 'add_to_cleanup' parameter to new() that calls
   add_to_cleanup() immediately for the given files.

 - The distribution directory (e.g. Sample-Module-0.13/ ) will now be
   deleted during the 'clean' or 'realclean' actions.

 - During testing of modules, blib/lib and blib/arch are now added as
   absolute paths, not relative.  This helps tests that load the
   modules at runtime and may change the current working directory
   (like Module::Build itself does during testing).

 - The $Config{cc} entry on some people's systems is something like
   'ccache gcc', so we now split that string using split_like_shell().
   [Richard Clamp]

 - Added documentation for 'extra_linker_flags' parameter, and added a
   corresponding 'extra_compiler_flags' parameter. [original patch by
   Richard Clamp]

 - The pass-through Makefile created by Module::Build::Compat now
   supports MakeMaker options like POLLUTE=1 and INC.  We also just
   warn & skip when we see any unknown MM parameters, rather than
   dying.  [Dave Rolsky]

 - Fixed an error about how @INC and $ENV{PERL5LIB} interact during
   the testing of M::B itself. [jk <[EMAIL PROTECTED]>]

 - The pass-through Makefile doesn't include 'recommended' M::B
   dependencies in the Makefile anymore, since they're not strictly
   necessary.  In particular, this makes installing M::B itself
   easier.

 - A new 'create_makefile_pl' parameter lets you use
   Module::Build::Compat during the 'distdir' (or 'dist') action to
   automatically create a Makefile.PL for compatibility with
   ExtUtils::MakeMaker.  The parameter's value should be one of the
   styles named in the Module::Build::Compat documentation.

 - When compiling C code, we now respect 'pollute' and 'inc'
   parameters. (XXX - needs docs) [Dave Rolsky]

 - Made the creation of the "install map" more generic.  (XXX - needs
   documentation)

 - Fixed a problem in which add_to_cleanup() didn't note cleanup files
   unless create_build_script() had been called already. [Dave Rolsky]

 - During 'Build dist', we no longer have to load each .pm file (via
   Module::Info) to determine the $VERSION numbers inside.  Instead,
   we call our internal version_from_file() method, which is the same
   thing MakeMaker and PAUSE and search.cpan.org do.  Also fixes a
   failure when Module::Info is installed in a nonstandard directory.
   [reported by Teun Burgers]

 - Fixed some failing test code on Windows - open files can't be
   deleted. [Andrew Savige]

 - The Cygwin platform is now treated as a flavor of Unix rather than
   a flavor of Windows. [chocolateboy]

 - We're now more aggressive about adding temporary C compilation
   files (*.c, *.bs) to the cleanup list. [Dave Rolsky]

 - When constructing the list in META.yml of packages provided by this
   distribution, we now use the same rules as the PAUSE scanner does
   when a single .pm file contains multiple VERSIONs.  [Andreas Koenig]

 - check_installed_status() now works as both a class method and an
   object method (and is documented so).  [Spotted by Dave Rolsky]



-Ken



Reply via email to