Revision history for Perl extension ExtUtils::ParseXS.

3.00_03 - Fri Jul 22 20:13:00 CET 2011

  - Add some diagnostics when xsubpp fails to load a current-enough
    version of ExtUtils::ParseXS. [Steffen Mueller]

  - Add a check to Makefile.PL that scans @INC to determine whether
    the new xsubpp will be shadowed by another, existing xsubpp
    and warn the user vehemently. [Steffen Mueller]

3.00_02 - Thu Jul 14 18:00:00 CET 2011

  - Move script/xsubpp back to lib/ExtUtils/xsubpp
    The original move caused old xsubpp's to be used.

3.00_01 - Tue Jul 12 22:00:00 CET 2011

  - Major refactoring of the whole code base.
    It finally runs under 'use strict' for the first time!
    [James Keenan, Steffen Mueller]

  - Typemaps can now be embedded into XS code using a here-doc
    like syntax and the new "TYPEMAP:" XS keyword.
    [Steffen Mueller]

  - Move typemap handling code to ExtUtils::Typemaps
    with full object-oriented goodness. [Steffen Mueller]

  - Check API compatibility when loading xs modules.
    If on a new-enough perl, add the XS_APIVERSION_BOOTCHECK macro to
    the _boot function of every XS module to compare it against the API
    version the module has been compiled against. If the versions do
    not match, an exception is thrown. [Florian Ragwitz]

  - Fixed compiler warnings in XS. [Zefram]

  - Spell-check [Peter J. Acklam]

2.2206 - Sun Jul  4 15:43:21 EDT 2010

 Bug fixes:

 - Make xsubpp accept the _ prototype (RT#57157) [Rafael Garcia-Suarez]

 - INCLUDE_COMMAND portability fixes for VMS (RT#58181) [Craig Berry]

 - INCLUDE_COMMAND fixes to detect non-zero exit codes (RT#52873)
   [Steffen Mueller]

2.2205 - Wed Mar 10 18:15:36 EST 2010

 Other:

 - No longer ships with Build.PL to avoid creating a circular dependency

2.2204 - Wed Mar 10 14:23:52 EST 2010

 Other:

 - Downgraded warnings on using INCLUDE with a command from "deprecated"
   to "discouraged" and limited it to the case where the command includes
   "perl" [Steffen Mueller]

2.2203 - Thu Feb 11 14:00:51 EST 2010

 Bug fixes:

 - Build.PL was not including ExtUtils/xsubpp for installation.  Fixed
   by subclassing M::B::find_pm_files to include it [David Golden]

2.2202 - Wed Jan 27 15:04:59 EST 2010

 Bug fixes:

 - The fix to IN/OUT/OUTLIST was itself broken and is now fixed.
   [Reported by Serdar Dalgic; fix suggested by Rafael Garcia-Suarez]

   We apologize for the fault in the regex. Those responsible 
   have been sacked.

2.2201 Mon Jan 25 16:12:05 EST 2010

 Bug fixes:

 - IN/OUT/OUTLIST, etc. were broken due to a bad regexp.  [Simon Cozens]

2.22 - Mon Jan 11 15:00:07 EST 2010

 No changes from 2.21_02

2.21_02 - Sat Dec 19 10:55:41 EST 2009

 Bug fixes:

 - fixed bugs and added tests for INCLUDE_COMMAND [Steffen Mueller]

2.21_01 - Sat Dec 19 07:22:44 EST 2009

 Enhancements:

 - New 'INCLUDE_COMMAND' directive [Steffen Mueller]

 Bug fixes:

 - Workaround for empty newXS macro found in P5NCI [Goro Fuji]

2.21 - Mon Oct  5 11:17:53 EDT 2009

 Bug fixes:
 - Adds full path in INCLUDE #line directives (RT#50198) [patch by "spb"]

 Other:
 - Updated copyright and maintainer list

2.20_07 - Sat Oct  3 11:26:55 EDT 2009

 Bug fixes:
 - Use "char* file" for perl < 5.9, not "char[] file"; fixes mod_perl
   breakage due to prior attempts to fix RT#48104 [David Golden]

2.20_06 - Fri Oct  2 23:45:45 EDT 2009

 Bug fixes:
 - Added t/typemap to fix broken test on perl 5.6.2 [David Golden]
 - More prototype fixes for older perls [Goro Fuji]
 - Avoid "const char *" in test files as it breaks on 5.6.2 [Goro Fuji]

 Other:
 - Merged changes from 2.2004 maintenance branch (see 2.200401 to 2.200403)
   [David Golden]

2.20_05 - Sat Aug 22 21:46:56 EDT 2009

 Bug fixes:
 - Fix prototype related bugs [Goro Fuji]
 - Fix the SCOPE keyword [Goro Fuji]

2.200403 - Fri Oct  2 02:01:58 EDT 2009

 Other:
 - Removed PERL_CORE specific @INC manipulation (no longer needed)
   [Nicholas Clark]
 - Changed hard-coded $^H manipulation in favor of "use re 'eval'"
   [Nicholas Clark]

2.200402 - Fri Oct  2 01:26:40 EDT 2009

 Bug fixes:
 - UNITCHECK subroutines were not being called (detected in ext/XS-APItest
   in Perl blead) [reported by Jesse Vincent, patched by David Golden]

2.200401 - Mon Sep 14 22:26:03 EDT 2009

 - No changes from 2.20_04.


2.20_04 - Mon Aug 10 11:18:47 EDT 2009

 Bug fixes:
 - Changed install_dirs to 'core' for 5.8.9 as well (RT#48474)
 - Removed t/bugs.t until there is better C++ support in ExtUtils::CBuilder

 Other:
 - Updated repository URL in META file

2.20_03 - Thu Jul 23 23:14:50 EDT 2009

 Bug fixes:
 - Fixed "const char *" errors for 5.8.8 (and older) (RT#48104)
   [Vincent Pit]
 - Added newline before a preprocessor directive (RT#30673)
   [patch by hjp]

2.2002 - Sat Jul 18 17:22:27 EDT 2009

 Bug fixes:
 - Fix Makefile.PL installdirs for older perls

2.20_01 - Wed Jul  8 12:12:47 EDT 2009

 - Fix XSUsage prototypes for testing [Jan Dubois]

2.20 - Wed Jul  1 13:42:11 EDT 2009

 - No changes from 2.19_04

2.19_04 - Mon Jun 29 11:49:12 EDT 2009

 - Changed tests to use Test::More and added it to prereqs

 - Some tests skip if no compiler or if no dynamic loading

 - INTERFACE keyword tests skipped for perl < 5.8

2.19_03 - Sat Jun 27 22:51:18 EDT 2009

 - Released to see updated results from smoke testers

 - Fix minor doc typo pulled from blead

2.19_02 - Wed Aug  6 22:18:33 2008

 - Fix the usage reports to consistently report package name as well
   as sub name across ALIAS, INTERFACE and regular XSUBS. [Robert May]

 - Cleaned up a warning with -Wwrite-strings that gets passed into
   every parsed XS file. [Steve Peters]

 - Allow (pedantically correct) C pre-processor comments in the code
   snippets of typemap files. [Nicholas Clark]

2.19 - Sun Feb 17 14:27:40 2008

 - Fixed the treatment of the OVERLOAD: keyword, which was causing a C
   compile error. [Toshiyuki Yamato]

2.18 - Mon Jan 29 20:56:36 2007

 - Added some UNITCHECK stuff, which (I think) makes XS code able to
   do UNITCHECK blocks. [Nicholas Clark]

 - Changed 'use re "eval";' to 'BEGIN { $^H |= 0x00200000 };' so we
   can compile re.xs in bleadperl. [Yves Orton]

 - Fix an undefined-variable warning related to 'inout' parameter
   processing.

2.17 - Mon Nov 20 17:07:27 2006

 - Stacked $filepathname to make #line directives in #INCLUDEs work.
   [Nicholas Clark]

 - Sprinked dVAR in with dXSARGS, for God-(Jarkko)-knows-what
   reason. [Jarkko Hietaniemi]

 - Use printf-style formats in Perl_croak() for some significant
   savings in number of distinct constant strings in the linked
   binaries we create. [Alexey Tourbin]

 - Don't use 'class' as a variable name in the t/XSTest.xs module,
   since that's a keyword in C++. [Jarkko Hietaniemi]

2.16  Fri Sep 15 22:33:24 CDT 2006

 - Fix a problem with PREFIX not working inside INTERFACE
   sections. [Salvador Fandin~o]

2.15  Mon Oct 10 11:02:13 EDT 2005

 - I accidentally left out a README from the distribution.  Now it's
   auto-created from the main documentation in ExtUtils/ParseXS.pm.

2.14  Sat Oct  8 21:49:15 EDT 2005

 - The filehandle for the .xs file was never being properly closed,
   and now it is.  This was causing some Win32 problems with
   Module::Build's tests, which create a .xs file, process it with
   ParseXS, and then try to remove it. [Spotted by Randy Sims]

2.13  Mon Oct  3 21:59:06 CDT 2005

 - Integrate a cleanup-related change from bleadperl that somehow
   never got into this copy. [Steve Hay]

2.12  Wed Aug 24 20:03:09 CDT 2005

 - On Win32, there was a DLL file we create during testing that we
   couldn't delete unless we closed it first, so testing failed when
   the deletion was attempted.  This should now work (provided the
   version of perl is high enough to have DynaLoader::dl_unload_file()
   - I'm not sure what will happen otherwise). [Steve Hay]

 - Fix a spurious warning during testing about a variable that's used
   before it's initialized. [Steve Hay]

2.11  Mon Jun 13 23:00:23 CDT 2005

 - Make some variables global, to avoid some "will not stay shared"
   warnings at compile time. [Rafael Garcia-Suarez]

2.10  Mon May 30 21:29:44 CDT 2005

 - This module is being integrated into the perl core; the regression
   tests will now work properly when run as part of the core build.
   [Yitzchak Scott-Thoennes]

 - Added the ability to create output files with a suffix other than
   ".c", via the new "csuffix" option.  This gets the module working
   on Symbian. [Jarkko Hietaniemi]

 - Added the ability to put 'extern "C"' declarations in front of
   prototypes. [Jarkko Hietaniemi]

2.09  Sun Mar 27 11:11:49 CST 2005

 - Integrated change #18270 from the perl core, which fixed a problem
   in which xsubpp can make nested comments in C code (which is
   bad). [Nicholas Clark]

 - When no "MODULE ... PACKAGE ... PREFIX" line is found, it's now
   still a fatal error for ParseXS, but we exit with status 0, which
   is what the old xsubpp did and seems to work best with some modules
   like Win32::NetAdmin.  See RT ticket 11472. [Steve Hay]

2.08  Fri Feb 20 21:41:22 CST 2004

 - Fixed a problem with backslashes in file paths (e.g. C:\Foo\Bar.xs)
   disappearing in error messages. [Randy Sims, Steve Hay]

 - Did a little minor internal code cleanup in the
   ExtUtils::ParseXS::CountLines class, now other classes don't poke
   around in its package variables.

2.07  Sun Jan 25 17:01:52 CST 2004

 - We now use ExtUtils::CBuilder for testing the compile/build phase
   in the regression tests.  It's not necessary to have it for runtime
   usage, though.

 - Fixed a minor documentation error (look in 'Changes' for revision
   history, not 'changes.pod'). [Scott R. Godin]

2.06  Fri Dec 26 09:00:47 CST 2003

 - Some fixes in the regression tests for the AIX platform.

2.05  Mon Sep 29 10:33:39 CDT 2003

 - We no longer trim the directory portions from the "#line " comments
   in the generated C code.  This helps cooperation with many editors'
   auto-jump-to-error stuff. [Ross McFarland]

 - In some cases the PERL_UNUSED_VAR macro is needed to get rid of C
   compile-time warnings in generated code.  Since this eliminates so
   many warnings, turning on "-Wall -W" (or your platform's
   equivalent) can once again be helpful. [Ross McFarland]

 - Did a huge amount of variable-scoping cleanup, and it *still*
   doesn't compile under 'use strict;'.  Much progress was made
   though, and many scoping issues were fixed.

2.04  Thu Sep  4 13:10:59 CDT 2003

 - Added a COPYRIGHT section to the documentation.  [Spotted by Ville
   Skytta]

2.03  Sat Aug 16 17:49:03 CST 2003

 - Fixed a warning that occurs if a regular expression (buried deep
   within the bowels of the code here) fails.  [Spotted by Michael
   Schwern]

 - Fixed a testing error on Cygwin. [Reini Urban]

2.02  Sun Mar 30 18:20:12 CST 2003

 - Now that we know this module doesn't work (yet?) with perl 5.005,
   put a couple 'use 5.006' statements in the module & Makefile.PL so
   we're explicit about the dependency. [Richard Clamp]

2.01  Thu Mar 20 08:22:36 CST 2003

 - Allow -C++ flag for backward compatibility.  It's a no-op, and has
   been since perl5.003_07. [PodMaster]

2.00  Sun Feb 23 16:40:17 CST 2003

 - Tests now function under all three of the supported compilers on
   Windows environments. [Randy W. Sims]

 - Will now install to the 'core' perl module directory instead of to
   'site_perl' or the like, because this is the only place MakeMaker
   will look for the xsubpp script.

 - Explicitly untie and close the output file handle because ParseXS was
   holding the file handle open, preventing the compiler from opening
   it on Win32. [Randy W. Sims]

 - Added an '--output FILENAME' flag to xsubpp and changed ParseXS to use
   the named file in the #line directives when the output file has an
   extension other than '.c' (i.e. '.cpp'). [Randy W. Sims]

 - Added conditional definition of the PERL_UNUSED_VAR macro to the
   output file in case it's not already defined for backwards
   compatibility with pre-5.8 versions of perl. (Not sure if this is the
   best solution.) [Randy W. Sims]


1.99  Wed Feb  5 10:07:47 PST 2003

 - Version bump to 1.99 so it doesn't look like a 'beta release' to
   CPAN.pm.  No code changes, since I haven't had any bug reports.

 - Fixed a minor problem in the regression tests that was creating an
   XSTest..o file instead of XSTest.o


1.98_01  Mon Dec  9 11:50:41 EST 2002

 - Converted from ExtUtils::xsubpp in bleadperl

 - Basic set of regression tests written