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