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