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