1Revision history for Perl extension ExtUtils::ParseXS. 2 3 - Restore portability to Perl 5.6, which was lost at EU-PXS 3.00. 4 53.15 - Thu Feb 2 08:12:00 CET 2012 6 - Fix version for PAUSE indexer. 7 83.14 - Wed Feb 1 18:22:00 CET 2012 9 - Promote to stable release. 10 - Proper repository and bugtracker info in META.json. 11 123.13_01 - Sat Jan 29 12:45:00 CET 2012 13 - ExtUtils::Typemaps: 14 => Embedded typemap dumping: A method which will produce the 15 verbatim string for inclusion in XS. 16 => Introducing ExtUtils::Typemaps::Cmd, a helper module which 17 can produce embedded typemap strings via simple one-liners. 18 Useful for including typemaps from other modules in XS code 19 with INCLUDE_COMMAND. See "perldoc ExtUtils::Typemaps::Cmd". 20 21 - ExtUtils::ParseXS: 22 => Bugfix: Used to have parsing problems with embedded typemaps 23 occasionally. 24 => Better error messages on typemap-related issues. If a no 25 typemap was found for a given C type, list all mapped C types 26 so that the user hopefully spots his mistake easily. 27 283.11 - Thu Dec 29 17:55:00 CET 2011 29 - Version/distribution fixes. 30 313.09 - Wed Dec 28 18:48:00 CET 2011 32 - Escape double quotes of file names/commands in #line directives. 33 343.08 - Mon Dec 19 18:03:00 CET 2011 35 - Silence undefined-value-in-addition warning 36 (Nothing serious, just happened sometimes when reporting line numbers for 37 errors. But warning during build process.) 38 393.07 - Wed Dec 7 14:10:00 CET 2011 40 - Fix inconsistent versioning in 3.06. 41 423.06 - Fri Dec 2 08:10:00 CET 2011 43 44 - Fix Cygwin issues [Tony Cook] 45 avoid conflicting static / dllexport on legacy perls too 46 This probably fixes rt.cpan.org 72313 and 71964. 47 (3928a66ad4bd8aee704eda1942b7877c0ff1ab2c in core) 48 49 - Convert ` to ' [James Keenan] 50 55bee391aeff3c3b8d22fa4ce5491ee9440028aa and 51 6dfee1ec62c64d7afe8ced4650596dd9e7f71a63 in core 52 53 - Avoid some test-time warnings [Zefram] 54 97bae9c59cd181b3b54061213ec1fdce0ccb30d4 in core 55 563.05 - Wed Oct 5 08:14:00 CET 2011 57 58 - No functional changes, promoted to stable release. 59 603.04_04 - Mon Sep 12 08:12:00 CET 2011 61 62 - Simplify generated XS code by emitting a compatibility version 63 of dVAR. [Nicholas Clark] 64 65 - Fixed "INCLUDE: $cmd |", CPAN RT #70213 66 673.04_03 - Sun Sep 4 18:49:00 CET 2011 68 69 - By #defining PERL_EUPXS_ALWAYS_EXPORT or 70 PERL_EUPXS_NEVER_EXPORT early in your XS code, you can 71 force ExtUtils::ParseXS to always or never export 72 XSUB symbols. This has no effect on boot_* symbols since 73 those must be exported. 74 753.04_02 - Sat Sep 3 15:28:00 CET 2011 76 77 - Don't put null characters into the generated source 78 file when -except is used; write the '\0' escape sequence 79 properly instead. [Stephen Bennett] 80 813.04_01 - Sun Aug 28 17:50:00 CET 2011 82 83 - The XSUB.h changes to make XS(name) use XS_INTERNAL(name) 84 by default (which were in the 5.15.2 dev release of perl) 85 have been reverted since too many CPAN modules expect to 86 be able to refer to XSUBs declared with XS(name). 87 Instead, ExtUtils::ParseXS will define a copy of the 88 XS_INTERNAL/XS_EXTERNAL macros as necessary going back to 89 perl 5.10.0 (which is the oldest perl I had for testing). 90 By default, ExtUtils::ParseXS will use XS_INTERNAL(name) 91 instead of XS(name). 92 933.04 - Thu Aug 25 08:20:00 CET 2011 94 95 - Stable release based on 3.03_03, no functional changes. 96 973.03_03 - Wed Aug 24 19:43:00 CET 2011 98 99 - Try to fix regression for input-typemap override in XS argument 100 list. (CPAN RT #70448) 101 102 - Explicit versions in submodules to fail early if something 103 goes wrong. 104 1053.03_02 - Sun Aug 21 13:19:00 CET 2011 106 107 - Properly strip trailing semicolons form inputmaps. These could 108 trigger warnings (errors in strict C89 compilers) due to 109 additional semicolons being interpreted as empty statements. 110 [Torsten Schoenfeld, Jan Dubois, Steffen Mueller] 111 112 - Now detects and throws a warning if there is a CODE section using 113 RETVAL, but no OUTPUT section. [CPAN RT #69536] 114 115 - Uses the explicit XS_EXTERNAL macro (from perl 5.15.2 and newer) 116 for XSUBs that need to be exported. Defines XS_EXTERNAL to fall 117 back to XS where that is not available. 118 119 - Introduces new EXPORT_XSUB_SYMBOLS XS keyword that forces exported 120 XSUB symbols. It's a no-op on perls before 5.15.2. 121 1223.03 - Thu Aug 11 08:24:00 CET 2011 123 124 - Test fix: Try all @INC-derived typemap locations. (CPAN RT #70047) 125 [Mike Sheldrake] 126 1273.02 - Thu Aug 4 18:19:00 CET 2011 128 129 - Test fix: Use File::Spec->catfile instead of catdir where appropriate. 130 1313.01 - Thu Aug 4 17:51:00 CET 2011 132 133 - No significant changes from 3.00_05. 134 1353.00_05 - Wed Jul 27 22:54:00 CET 2011 136 137 - Define PERL_UNUSED_ARG for pre-3.8.9 perls. 138 This should fix the tests on those perls. 139 1403.00_04 - Wed Jul 27 22:22:00 CET 2011 141 142 - Require perl 5.8.1. 143 144 - Patches from CPAN RT #53938, #61908 145 Both of these are attempts to fix win32 problems: 146 Bug #61908 for ExtUtils-ParseXS: MSWin compilers and back-slashed paths 147 Bug #53938 for ExtUtils-ParseXS: MinGW Broken after 2.21 148 1493.00_03 - Fri Jul 22 20:13:00 CET 2011 150 151 - Add some diagnostics when xsubpp fails to load a current-enough 152 version of ExtUtils::ParseXS. [Steffen Mueller] 153 154 - Add a check to Makefile.PL that scans @INC to determine whether 155 the new xsubpp will be shadowed by another, existing xsubpp 156 and warn the user vehemently. [Steffen Mueller] 157 1583.00_02 - Thu Jul 14 18:00:00 CET 2011 159 160 - Move script/xsubpp back to lib/ExtUtils/xsubpp 161 The original move caused old xsubpp's to be used. 162 1633.00_01 - Tue Jul 12 22:00:00 CET 2011 164 165 - Major refactoring of the whole code base. 166 It finally runs under 'use strict' for the first time! 167 [James Keenan, Steffen Mueller] 168 169 - Typemaps can now be embedded into XS code using a here-doc 170 like syntax and the new "TYPEMAP:" XS keyword. 171 [Steffen Mueller] 172 173 - Move typemap handling code to ExtUtils::Typemaps 174 with full object-oriented goodness. [Steffen Mueller] 175 176 - Check API compatibility when loading xs modules. 177 If on a new-enough perl, add the XS_APIVERSION_BOOTCHECK macro to 178 the _boot function of every XS module to compare it against the API 179 version the module has been compiled against. If the versions do 180 not match, an exception is thrown. [Florian Ragwitz] 181 182 - Fixed compiler warnings in XS. [Zefram] 183 184 - Spell-check [Peter J. Acklam] 185 1862.2206 - Sun Jul 4 15:43:21 EDT 2010 187 188 Bug fixes: 189 190 - Make xsubpp accept the _ prototype (RT#57157) [Rafael Garcia-Suarez] 191 192 - INCLUDE_COMMAND portability fixes for VMS (RT#58181) [Craig Berry] 193 194 - INCLUDE_COMMAND fixes to detect non-zero exit codes (RT#52873) 195 [Steffen Mueller] 196 1972.2205 - Wed Mar 10 18:15:36 EST 2010 198 199 Other: 200 201 - No longer ships with Build.PL to avoid creating a circular dependency 202 2032.2204 - Wed Mar 10 14:23:52 EST 2010 204 205 Other: 206 207 - Downgraded warnings on using INCLUDE with a command from "deprecated" 208 to "discouraged" and limited it to the case where the command includes 209 "perl" [Steffen Mueller] 210 2112.2203 - Thu Feb 11 14:00:51 EST 2010 212 213 Bug fixes: 214 215 - Build.PL was not including ExtUtils/xsubpp for installation. Fixed 216 by subclassing M::B::find_pm_files to include it [David Golden] 217 2182.2202 - Wed Jan 27 15:04:59 EST 2010 219 220 Bug fixes: 221 222 - The fix to IN/OUT/OUTLIST was itself broken and is now fixed. 223 [Reported by Serdar Dalgic; fix suggested by Rafael Garcia-Suarez] 224 225 We apologize for the fault in the regex. Those responsible 226 have been sacked. 227 2282.2201 Mon Jan 25 16:12:05 EST 2010 229 230 Bug fixes: 231 232 - IN/OUT/OUTLIST, etc. were broken due to a bad regexp. [Simon Cozens] 233 2342.22 - Mon Jan 11 15:00:07 EST 2010 235 236 No changes from 2.21_02 237 2382.21_02 - Sat Dec 19 10:55:41 EST 2009 239 240 Bug fixes: 241 242 - fixed bugs and added tests for INCLUDE_COMMAND [Steffen Mueller] 243 2442.21_01 - Sat Dec 19 07:22:44 EST 2009 245 246 Enhancements: 247 248 - New 'INCLUDE_COMMAND' directive [Steffen Mueller] 249 250 Bug fixes: 251 252 - Workaround for empty newXS macro found in P5NCI [Goro Fuji] 253 2542.21 - Mon Oct 5 11:17:53 EDT 2009 255 256 Bug fixes: 257 - Adds full path in INCLUDE #line directives (RT#50198) [patch by "spb"] 258 259 Other: 260 - Updated copyright and maintainer list 261 2622.20_07 - Sat Oct 3 11:26:55 EDT 2009 263 264 Bug fixes: 265 - Use "char* file" for perl < 5.9, not "char[] file"; fixes mod_perl 266 breakage due to prior attempts to fix RT#48104 [David Golden] 267 2682.20_06 - Fri Oct 2 23:45:45 EDT 2009 269 270 Bug fixes: 271 - Added t/typemap to fix broken test on perl 5.6.2 [David Golden] 272 - More prototype fixes for older perls [Goro Fuji] 273 - Avoid "const char *" in test files as it breaks on 5.6.2 [Goro Fuji] 274 275 Other: 276 - Merged changes from 2.2004 maintenance branch (see 2.200401 to 2.200403) 277 [David Golden] 278 2792.20_05 - Sat Aug 22 21:46:56 EDT 2009 280 281 Bug fixes: 282 - Fix prototype related bugs [Goro Fuji] 283 - Fix the SCOPE keyword [Goro Fuji] 284 2852.200403 - Fri Oct 2 02:01:58 EDT 2009 286 287 Other: 288 - Removed PERL_CORE specific @INC manipulation (no longer needed) 289 [Nicholas Clark] 290 - Changed hard-coded $^H manipulation in favor of "use re 'eval'" 291 [Nicholas Clark] 292 2932.200402 - Fri Oct 2 01:26:40 EDT 2009 294 295 Bug fixes: 296 - UNITCHECK subroutines were not being called (detected in ext/XS-APItest 297 in Perl blead) [reported by Jesse Vincent, patched by David Golden] 298 2992.200401 - Mon Sep 14 22:26:03 EDT 2009 300 301 - No changes from 2.20_04. 302 303 3042.20_04 - Mon Aug 10 11:18:47 EDT 2009 305 306 Bug fixes: 307 - Changed install_dirs to 'core' for 5.8.9 as well (RT#48474) 308 - Removed t/bugs.t until there is better C++ support in ExtUtils::CBuilder 309 310 Other: 311 - Updated repository URL in META file 312 3132.20_03 - Thu Jul 23 23:14:50 EDT 2009 314 315 Bug fixes: 316 - Fixed "const char *" errors for 5.8.8 (and older) (RT#48104) 317 [Vincent Pit] 318 - Added newline before a preprocessor directive (RT#30673) 319 [patch by hjp] 320 3212.2002 - Sat Jul 18 17:22:27 EDT 2009 322 323 Bug fixes: 324 - Fix Makefile.PL installdirs for older perls 325 3262.20_01 - Wed Jul 8 12:12:47 EDT 2009 327 328 - Fix XSUsage prototypes for testing [Jan Dubois] 329 3302.20 - Wed Jul 1 13:42:11 EDT 2009 331 332 - No changes from 2.19_04 333 3342.19_04 - Mon Jun 29 11:49:12 EDT 2009 335 336 - Changed tests to use Test::More and added it to prereqs 337 338 - Some tests skip if no compiler or if no dynamic loading 339 340 - INTERFACE keyword tests skipped for perl < 5.8 341 3422.19_03 - Sat Jun 27 22:51:18 EDT 2009 343 344 - Released to see updated results from smoke testers 345 346 - Fix minor doc typo pulled from blead 347 3482.19_02 - Wed Aug 6 22:18:33 2008 349 350 - Fix the usage reports to consistently report package name as well 351 as sub name across ALIAS, INTERFACE and regular XSUBS. [Robert May] 352 353 - Cleaned up a warning with -Wwrite-strings that gets passed into 354 every parsed XS file. [Steve Peters] 355 356 - Allow (pedantically correct) C pre-processor comments in the code 357 snippets of typemap files. [Nicholas Clark] 358 3592.19 - Sun Feb 17 14:27:40 2008 360 361 - Fixed the treatment of the OVERLOAD: keyword, which was causing a C 362 compile error. [Toshiyuki Yamato] 363 3642.18 - Mon Jan 29 20:56:36 2007 365 366 - Added some UNITCHECK stuff, which (I think) makes XS code able to 367 do UNITCHECK blocks. [Nicholas Clark] 368 369 - Changed 'use re "eval";' to 'BEGIN { $^H |= 0x00200000 };' so we 370 can compile re.xs in bleadperl. [Yves Orton] 371 372 - Fix an undefined-variable warning related to 'inout' parameter 373 processing. 374 3752.17 - Mon Nov 20 17:07:27 2006 376 377 - Stacked $filepathname to make #line directives in #INCLUDEs work. 378 [Nicholas Clark] 379 380 - Sprinked dVAR in with dXSARGS, for God-(Jarkko)-knows-what 381 reason. [Jarkko Hietaniemi] 382 383 - Use printf-style formats in Perl_croak() for some significant 384 savings in number of distinct constant strings in the linked 385 binaries we create. [Alexey Tourbin] 386 387 - Don't use 'class' as a variable name in the t/XSTest.xs module, 388 since that's a keyword in C++. [Jarkko Hietaniemi] 389 3902.16 Fri Sep 15 22:33:24 CDT 2006 391 392 - Fix a problem with PREFIX not working inside INTERFACE 393 sections. [Salvador Fandin~o] 394 3952.15 Mon Oct 10 11:02:13 EDT 2005 396 397 - I accidentally left out a README from the distribution. Now it's 398 auto-created from the main documentation in ExtUtils/ParseXS.pm. 399 4002.14 Sat Oct 8 21:49:15 EDT 2005 401 402 - The filehandle for the .xs file was never being properly closed, 403 and now it is. This was causing some Win32 problems with 404 Module::Build's tests, which create a .xs file, process it with 405 ParseXS, and then try to remove it. [Spotted by Randy Sims] 406 4072.13 Mon Oct 3 21:59:06 CDT 2005 408 409 - Integrate a cleanup-related change from bleadperl that somehow 410 never got into this copy. [Steve Hay] 411 4122.12 Wed Aug 24 20:03:09 CDT 2005 413 414 - On Win32, there was a DLL file we create during testing that we 415 couldn't delete unless we closed it first, so testing failed when 416 the deletion was attempted. This should now work (provided the 417 version of perl is high enough to have DynaLoader::dl_unload_file() 418 - I'm not sure what will happen otherwise). [Steve Hay] 419 420 - Fix a spurious warning during testing about a variable that's used 421 before it's initialized. [Steve Hay] 422 4232.11 Mon Jun 13 23:00:23 CDT 2005 424 425 - Make some variables global, to avoid some "will not stay shared" 426 warnings at compile time. [Rafael Garcia-Suarez] 427 4282.10 Mon May 30 21:29:44 CDT 2005 429 430 - This module is being integrated into the perl core; the regression 431 tests will now work properly when run as part of the core build. 432 [Yitzchak Scott-Thoennes] 433 434 - Added the ability to create output files with a suffix other than 435 ".c", via the new "csuffix" option. This gets the module working 436 on Symbian. [Jarkko Hietaniemi] 437 438 - Added the ability to put 'extern "C"' declarations in front of 439 prototypes. [Jarkko Hietaniemi] 440 4412.09 Sun Mar 27 11:11:49 CST 2005 442 443 - Integrated change #18270 from the perl core, which fixed a problem 444 in which xsubpp can make nested comments in C code (which is 445 bad). [Nicholas Clark] 446 447 - When no "MODULE ... PACKAGE ... PREFIX" line is found, it's now 448 still a fatal error for ParseXS, but we exit with status 0, which 449 is what the old xsubpp did and seems to work best with some modules 450 like Win32::NetAdmin. See RT ticket 11472. [Steve Hay] 451 4522.08 Fri Feb 20 21:41:22 CST 2004 453 454 - Fixed a problem with backslashes in file paths (e.g. C:\Foo\Bar.xs) 455 disappearing in error messages. [Randy Sims, Steve Hay] 456 457 - Did a little minor internal code cleanup in the 458 ExtUtils::ParseXS::CountLines class, now other classes don't poke 459 around in its package variables. 460 4612.07 Sun Jan 25 17:01:52 CST 2004 462 463 - We now use ExtUtils::CBuilder for testing the compile/build phase 464 in the regression tests. It's not necessary to have it for runtime 465 usage, though. 466 467 - Fixed a minor documentation error (look in 'Changes' for revision 468 history, not 'changes.pod'). [Scott R. Godin] 469 4702.06 Fri Dec 26 09:00:47 CST 2003 471 472 - Some fixes in the regression tests for the AIX platform. 473 4742.05 Mon Sep 29 10:33:39 CDT 2003 475 476 - We no longer trim the directory portions from the "#line " comments 477 in the generated C code. This helps cooperation with many editors' 478 auto-jump-to-error stuff. [Ross McFarland] 479 480 - In some cases the PERL_UNUSED_VAR macro is needed to get rid of C 481 compile-time warnings in generated code. Since this eliminates so 482 many warnings, turning on "-Wall -W" (or your platform's 483 equivalent) can once again be helpful. [Ross McFarland] 484 485 - Did a huge amount of variable-scoping cleanup, and it *still* 486 doesn't compile under 'use strict;'. Much progress was made 487 though, and many scoping issues were fixed. 488 4892.04 Thu Sep 4 13:10:59 CDT 2003 490 491 - Added a COPYRIGHT section to the documentation. [Spotted by Ville 492 Skytta] 493 4942.03 Sat Aug 16 17:49:03 CST 2003 495 496 - Fixed a warning that occurs if a regular expression (buried deep 497 within the bowels of the code here) fails. [Spotted by Michael 498 Schwern] 499 500 - Fixed a testing error on Cygwin. [Reini Urban] 501 5022.02 Sun Mar 30 18:20:12 CST 2003 503 504 - Now that we know this module doesn't work (yet?) with perl 5.005, 505 put a couple 'use 5.006' statements in the module & Makefile.PL so 506 we're explicit about the dependency. [Richard Clamp] 507 5082.01 Thu Mar 20 08:22:36 CST 2003 509 510 - Allow -C++ flag for backward compatibility. It's a no-op, and has 511 been since perl5.003_07. [PodMaster] 512 5132.00 Sun Feb 23 16:40:17 CST 2003 514 515 - Tests now function under all three of the supported compilers on 516 Windows environments. [Randy W. Sims] 517 518 - Will now install to the 'core' perl module directory instead of to 519 'site_perl' or the like, because this is the only place MakeMaker 520 will look for the xsubpp script. 521 522 - Explicitly untie and close the output file handle because ParseXS was 523 holding the file handle open, preventing the compiler from opening 524 it on Win32. [Randy W. Sims] 525 526 - Added an '--output FILENAME' flag to xsubpp and changed ParseXS to use 527 the named file in the #line directives when the output file has an 528 extension other than '.c' (i.e. '.cpp'). [Randy W. Sims] 529 530 - Added conditional definition of the PERL_UNUSED_VAR macro to the 531 output file in case it's not already defined for backwards 532 compatibility with pre-5.8 versions of perl. (Not sure if this is the 533 best solution.) [Randy W. Sims] 534 535 5361.99 Wed Feb 5 10:07:47 PST 2003 537 538 - Version bump to 1.99 so it doesn't look like a 'beta release' to 539 CPAN.pm. No code changes, since I haven't had any bug reports. 540 541 - Fixed a minor problem in the regression tests that was creating an 542 XSTest..o file instead of XSTest.o 543 544 5451.98_01 Mon Dec 9 11:50:41 EST 2002 546 547 - Converted from ExtUtils::xsubpp in bleadperl 548 549 - Basic set of regression tests written 550