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