1Revision history for Perl extension ExtUtils::CBuilder.
2
30.280238
4
5  Fix:
6
7  - use -isyswithroot option for the CORE directory for the system perl on darwin.
8    The compiler would fail to find EXTERN.h with -I.
9    Came up while working on a fix for the similar issue in
10    https://github.com/Perl/perl5/issues/20362
11
120.280237 - 2022-05-09
13
14  - when not set to quiet, print commands being run in a usable form.
15    https://github.com/Perl/perl5/pull/19701
16
170.280236 - 2021-02-12
18
19  Fix:
20
21  - Remove image-base generation on Win32/gcc and instead use GCC's built-in
22    `--enable-auto-image-base` linker option.
23
240.280235 - 2020-11-01
25
26  Fix:
27
28  - Fix compilation on darwin with XCode 12 (-Werror=implicit-function-declaration)
29    Thanks to DrHyde for the patch.
30
310.280234 - 2020-01-21
32
33  Update:
34
35  - Updated standalone module from blead.
36
370.280231 - 2019-03-31
38
39  Fixed:
40
41  - Protected RE interpolation in Base.pm
42
43
440.280230 - 2017-11-22
45
46  Fixed:
47
48  - Updated Changes
49  - Used OurPkgVersion instead of PkgVersion
50
510.280229 - 2017-10-13
52
53  Fixed:
54
55  - Remove dependency to 'vars' package.
56
570.280228 - 2017-07-20
58
59  Fixed:
60
61  - Fix link() on Windows, broken in version 0.280226.
62
630.280227 - 2017-07-19
64
65  Fixed:
66
67  - Restore compatibility of test suite to Perl 5.6.
68
690.280226 - 2017-07-14
70
71  Fixed:
72
73  - Fix C++ compiler detection (RT #131749)
74    (thanks to stphnlyd)
75
760.280225 - 2016-01-04
77
78  Fixed:
79
80  - New location of libperl on Win32 when building core (RT #126632)
81
820.280224 - 2015-10-09
83
84  Enhancements:
85
86  - Use warnings/strict on all modules.
87
880.280223 - 2015-06-02
89
90  Fixed:
91
92  - Impose deterministic order on cpp-definition options.
93    Heretofore, ExtUtils::CBuilder put cpp-definition options
94    into the cc command line in non-deterministic order. This
95    produced noise when diffing build logs.
96    Make this order deterministic.  (RT #124106)
97
98  Added:
99
100  - Add tests for ascii-betical order in t/04-base.t.
101
1020.280220 - 2014-09-27
103
104  Fixed:
105
106  - Added missing 'use Config' from 'android.pm' (thanks Debian community)
107
1080.280219 - 2014-09-01
109
110  Fixed:
111
112  - Fixed regression on Android (thanks to Brian Fraser)
113
1140.280218 - 2014-09-01
115
116  Fixed:
117
118  - Mispelled 'starup' key in BCC support was fixed. #79574
119  - Fixed the version in the PM file (thanks to Jim Keenan)
120
1210.280217 - 2014-08-22
122
123  Fixed:
124
125  - Quoted perl path for Windows support #98245 [Alberto Simões]
126
1270.280216 - 2014-03-07
128
129  Added:
130
131  - Android support [Brian Fraser and Piotr Roszatycki]
132
133  Fixed:
134
135  - Teach ExtUtils::CBuilder to handle mod2fname properly [Brian Fraser]
136
1370.280212 - 2013-09-08
138
139  Fixed:
140
141  - Reversion all modules.
142
1430.280211 - 2013-09-08
144
145  Fixed:
146
147  - Missing dependency Perl::OSType [Leon Timmermans]
148  - Fixed repository location [Alberto Simões]
149
1500.280210 - 2013-09-06
151
152  Fixed:
153
154  - Update INSTALLDIRS to favor installation under 'site' (perl 116479)
155    [James E Keenan]
156
1570.280209 - 2012-10-20 (Perl v5.17.5)
158
159  Fixed:
160
161  - Allow options to be passed to prelink in Windows (perl #115100)
162    [Eric Brine]
163
1640.280208 - 2012-06-20 (Perl v5.17.1)
165
166  Fixed:
167
168  - Corrected location in which manifest file is looked for on
169    Windows (RT#35943, perl #111798) [snaury@gmail.com]
170
1710.280207 (Not released)
172
173  Fixed:
174
175  - Corrected test for existence of manifest file on Windows
176    (perl #111782) [Steve Hay]
177
1780.280206 - 2012-03-20 (Perl v5.15.9)
179
180  Documented:
181
182  - Added a SUPPORT section to indicate that upstream is Perl 5 core
183
1840.280205 - 2011-12-20 (Perl v5.15.6)
185
186  Fixed:
187
188  - Fixed bug picking up ccflags from Config
189
1900.280204 - 2011-06-20 (Perl v5.15.0)
191
192  Minor:
193
194  - Quotation style cleanup
195
1960.280203 - 2011-05-14 (Perl v5.14.0)
197
198  Fixed:
199
200  - Appends CFLAGS and LDFLAGS environments instead of overriding
201
202  - Reset ccflags on compilation for VMS.
203
204  Changed:
205
206  - Refactored OS name mapping to use Perl::OSType
207
2080.280202 - Sun Jan 23 10:47:51 EST 2011
209
210  - Different file names used for test files; allows EU::CB tests
211    to be run in parallel. [Florian Ragwitz]
212
2130.280201 - Fri Jan 21 15:16:36 EST 2011
214
215  Fixed:
216
217  - t/04-base.t no longer attempt to compile or link as this provokes
218    failures on main platforms
219
220  - Various typo fixes in Pod or comments
221
2220.2802 - Sun Dec 12 07:22:43 EST 2010
223
224  Fixed:
225
226  - Incorporated another t/04-base.t fix from bleadperl
227    [Chris Williams]
228
2290.2801 - Wed Dec  8 21:36:56 EST 2010
230
231  Fixed:
232
233  - Fixed spurious t/04-base.t failure when run from Perl core
234    [David Golden]
235
2360.2800 - Mon Dec  6 16:05:46 EST 2010
237
238  - No changes from 0.27_07
239
2400.27_07 - Wed Sep 29 21:48:55 EDT 2010
241
242  Fixed:
243
244  - Fixed t/02-link.t on perl < 5.8
245
2460.27_06 - Mon Sep 27 15:29:54 EDT 2010
247
248  Fixed:
249
250  - Preserves exit status on VMS [Craig Berry]
251
252  - Fix Win32 split_like_shell escaping [Christian Walde]
253
2540.27_05 - Wed Jul 28 15:29:59 EDT 2010
255
256  Fixed:
257
258  - Tests no longer fail if user has set the CC environment variable
259
2600.27_04 - Mon Jul 26 22:41:43 EDT 2010
261
262  Added:
263  - handle c compiler and c++ compiler separately
264    (adds requirement for IPC::Cmd) [Jens Rehsack]
265
266  Others:
267  - rely on File::Temp::tempfile and File::Spec::tmpdir to
268    get unique file name for checking for compiler
269    [Jens Rehsack]
270
271  - Code base modernization and substantial code coverage improvments
272    [Jim Keenan]
273
2740.2703 - Tue Mar 16 17:10:55 EDT 2010
275
276 Bugs fixed:
277 - fixed tests for Windows and MSVC [Jan Dubois]
278
2790.2702 - Mon Feb 22 15:10:52 EST 2010
280
281 Bugs fixed:
282 - compile() changes in 0.2701 did not work on Windows.  Now fixed.
283
2840.2701 - Tue Feb 16 09:12:45 EST 2010
285
286 Bugs fixed:
287 - compile() now accepts both string & array for 'include_dirs'
288   argument, as documented.(RT#54606) [Alberto Simões]
289
2900.27 - Thu Oct 29 21:29:56 EDT 2009
291
292 Other:
293 - Removed Build.PL to avoid creating a circular dependency
294 - Added version numbers to Windows compiler driver modules
295
2960.26_05 - Sun Oct 25 17:29:02 EDT 2009
297
298 Bugs fixed:
299 - Fixed t/02link.t failures on cygwin with Perl 5.8 [David Golden]
300
301 Other:
302 - Made have_compiler (and have_cplusplus) quiet without echoing
303   the test command to STDOUT [David Golden]
304
3050.26_04 - Mon Oct 19 21:57:46 EDT 2009
306
307 Enhancements:
308 - Added 'have_cplusplus()' method to check for C++ support
309 - Added patches for building Perl with mingw64 [Sisyphus]
310 - Allow CC environment variable to override $Config{cc}
311
312 Bugs fixed:
313 - Fixed link executable command for Win32 MSVC (RT#40819) [Cosimo
314   Streppone]
315 - Removed MSVC version check when embedding a manifest file
316   (RT #43002) [Steve Hay]
317
318 Other:
319 - Split Windows compiler driver packages into individual *.pm files
320
3210.260301 - Sat Aug 29 11:04:41 EDT 2009
322
323 Bugs fixed:
324 - Fixed linking error on Win32 with gcc compiler (RT#49000)
325   [kmx]
326
3270.2603 - Sat Jul 18 06:56:06 EDT 2009
328
329 Bugs fixed:
330 - Makefile.PL had wrong INSTALLDIRS setting for older Perls
331   (RT#47985) [David Golden]
332
3330.2602 - Sat Jul  4 10:57:12 EDT 2009
334
335 Bugs fixed:
336 - Fixed 00-have-compiler.t if $^X is a relative path [David Wheeler]
337
3380.2601 - Wed Jul  1 09:37:39 EDT 2009
339
340 Bugs fixed:
341 - On VMS, cleans up extra files generated during testing
342   [John E. Malmberg, Craig Berry]
343
3440.26 - Mon Jun 29 20:11:52 EDT 2009
345
346 - No changes from 0.25_01
347
3480.25_01 - Sat Jun 27 23:13:20 EDT 2009
349
350 - Changed test library to Test::More
351
352 - Added tests for have_compiler
353
354 - Skips tests that need a compiler if have_compiler is false
355
356 - have_compiler will try to compile in the current directory
357   if compiling in tmpdir fails for whatever reason
358
3590.25 - Fri Jun 26 16:18:13 EDT 2009
360
361 - Slight diagnostic improvements in link.t
362
3630.24_01 - Sun Mar  8 14:50:10 2009
364
365 - On Windows, don't generate "mt" command when CRT is statically
366   linked. [Jan Dubois]
367
368 - On Cygwin, examine $Config{useshrplib} to see whether we're
369   supposed to be linking with a shared perl library or not. [Reini
370   Urban]
371
372 - In link_executable() on Cygwin, trust $Config{ld} rather than using
373   $Config{cc} for linking. [Reini Urban]
374
375 - Add 'haiku' as a Unix-like platform. [Ingo Weinhold]
376
3770.24 - Fri Aug 15 22:01:48 2008
378
379 - Added 'gnu' and 'gnukfreebsd' as Unix variants. [Niko Tyni]
380
381 - Brought in some VMS fixes from bleadperl: "Correct and complete
382   CBuilder's handling of external libraries when linking on VMS."
383   [Craig Berry]
384
3850.23 - Sat Apr 19 22:28:03 2008
386
387 - Fixed some problems (some old, some new) with Strawberry Perl on
388   Windows. [Alberto Simo~es]
389
390 - Will now install in the core perl lib directory when the user's
391   perl is new enough to have us in core. [Yi Ma Mao]
392
3930.22 - Fri Feb  8 21:52:21 2008
394
395 - Replaced the split_like_shell() method on Windows with a
396   near-no-op, which is probably more correct and has the benefit of
397   not messing up UNC paths. [John R. LoVerso, see
398   http://rt.cpan.org/Ticket/Display.html?id=26545]
399
400 - Fixed extra_compiler_flags on Windows, they were being
401   ignored. [Robert May]
402
4030.21 - Tue Oct 30 06:46:01 2007
404
405 - Clean up perl_src path using Cwd::realpath().  Only affects usage
406   as part of the perl core.
407
408 - Protect $., $@, $!, $^E, and $? from any clobbering that might
409   occur in our DESTROY method. [Zefram]
410
411 - From bleadperl, a patch to clean up debug symbol files (.pdb for
412   VC++, .tds for BCC) when running have_compiler(). [Steve Hay &
413   Steve Peters]
414
4150.19 - Sun May 13 14:29:18 2007
416
417 - When building as part of the perl core (so this is irrelevant for
418   people downloading from CPAN) we now try a little harder to find
419   the perl sources. [Jos Boumans]
420
421 - Fixed a part of the manifest thingy that got broken on 64-bit
422   Windows platforms in version 0.18. [Steve Hay, Jan Dubois]
423
4240.18 - Mon Mar 26 21:29:09 2007
425
426 - Various OS/2 fixes:
427   + Put .LIB file near .DEF file
428   + Got library-file building working better
429   + Handled libperl_overrides better
430   [Ilya Zakharevich]
431
432 - On Windows: embed manifest files in DLLs built with Module-Build
433   when using VC8. [Steve Hay]
434
435 - Added a workaround for a config error on dec_osf: the linker is
436   $Config{cc}, not $Config{ld}. [Jarkko Hietaniemi]
437
438 - Borland's compiler "response files" will not pass through macro
439   definitions that contain quotes. The quotes get stripped and there
440   seems to be no way to escape them. So we leave macros on the
441   command line. [Randy W. Sims]
442
4430.18  Sat Mar 25 13:35:47 CST 2006
444
445 - Yet more fixes for arg_defines() on VMS. [Craig A. Berry and John
446   E. Malmberg]
447
4480.17  Wed Mar 15 22:46:15 CST 2006
449
450 - When we're being run from an uninstalled perl distribution
451   (e.g. one that's in the process of being built and tested), we
452   search for perl first in the current working directory. [Randy
453   Sims]
454
455 - More fixing of the arg_defines() method on VMS. [Craig A. Berry and
456   John E. Malmberg]
457
4580.16  Mon Mar 13 17:08:21 CST 2006
459
460 - Fix quoting of command line arguments on Windows. [Yitzchak
461   Scott-Thoennes]
462
463 - Provided a custom arg_defines() on VMS that does essentially the
464   same thing for /define that version 0.14 did for /include. [Craig
465   A. Berry]
466
467 - Documented the existing 'quiet' parameter, which silences the
468   printing of system() commands. [Suggested by Yitzchak
469   Scott-Thoennes]
470
4710.15  Mon Oct  3 17:10:32 CDT 2005
472
473 - Several OS/2 fixes have been made, including: 1) adding the
474   necessary version string to DLLs, 2) passing the executable's name
475   to 'ldopts' without the .exe extension, 3) avoiding calling 'env'
476   via the 'shrpenv' thingy, since it triggers a fork() bug. [Ilya
477   Zakharevich]
478
479 - Integrate a couple cleanup-related changes from bleadperl that
480   somehow never got into this copy. [Steve Hay]
481
482 - Added a new 'defines' parameter to compile(), which gives a
483   platform-independent way to specify various -Dfoo=bar (or the
484   equivalent) compiler defines. [Randy W. Sims]
485
4860.14  Mon Sep 19 13:40:37 CDT 2005
487
488 - Several fixes have been made for VMS, including: 1) there can only
489   be one /include qualifier, so merge multiple /includes into one; 2)
490   make sure the executable is named the same way that dynaloader will
491   look for it; 3) make sure the option files for the exported symbols
492   and the PERLSHR image are passed properly to the linker. [John
493   E. Malmberg]
494
4950.13  Wed Aug 24 20:05:59 CDT 2005
496
497 - Several temporary files weren't being cleaned up during testing,
498   because the 'cleanup' mechanism was never properly implemented.
499   This is now fixed. [Steve Hay]
500
5010.12  Mon May 30 16:40:10 CDT 2005
502
503 - In order to integrate into the perl core, patches were contributed
504   that a) put a $VERSION variable in each .pm file, b) add a 'quiet'
505   parameter to new() to shut up some of the command-echoing, c)
506   checks for the perl source headers in the CORE/ directory in the
507   perl source tree, not in the post-installation location, and d)
508   adjusts the CWD when running the regression tests under the perl
509   core. [Yitzchak Scott-Thoennes]
510
511 - Various parts of the code were looking for the CORE/ directory in
512   $Config{archlib}, $Config{installarchlib}, and $Config{archlibexp}.
513   Only the latter is correct, so we use that everywhere now.
514   [Curt Tilmes]
515
516 - For Unix-ish platforms, link_executable() will now prefer
517   $Config{cc} to $Config{ld}, because that typically works
518   better. [Jarkko Hietaniemi and H.Merijn Brand]
519
520 - Prelinking (invoking ExtUtils::Mksymlists to create options-files)
521   is now only done when we're building dynamic libraries. [Yitzchak
522   Scott-Thoennes]
523
5240.11  Tue Apr  5 20:58:41 CDT 2005
525
526 - Added a licensing statement to CBuilder.pm. [Spotted by Chip
527   Salzenberg]
528
5290.10  Mon Mar 14 20:18:19 CST 2005
530
531 - Split out a few simple routines that format how compile switches
532   are formatted, so that we can override them for platforms like VMS
533   where they're very different.
534
535 - Fix compile() and link() on VMS. [Help from Michael Schwern and
536   Peter Prymmer]
537
5380.09  Tue Feb  8 17:57:41 CST 2005
539
540 - Fixed a broken link_executable() method on cygwin - it now uses
541   'gcc' instead of $Config{ld} for the linking, because the latter is
542   actually a shell script which calls a perl script which calls gcc
543   in a way that only works for creating shared libraries, not
544   executables.
545
5460.08  Tue Jan 18 21:54:11 CST 2005
547
548 - Fixed a testing error in which I had the prototype wrong for the
549   main() function. [Jose Pedro Oliveira]
550
5510.07  Wed Jan 12 21:50:34 CST 2005
552
553 - Added the link_executable() method, which provides the ability to
554   create standalone executables.  This is NOT yet implemented on
555   Windows, and therefore the tests for it are skipped on Win32.
556   [Alberto Manuel Brandao Simoes]
557
558 - Integrated the latest split_like_shell() for Windows from
559   Module::Build (really need to find a better home for this code...),
560   which now does a much better job of handling quotes and backslashes
561   and so on. [Randy Sims]
562
563 - Fixed a couple of Windows problems related to the output-file name
564   in link(), and some clobbering of the 'include_dirs' parameter to
565   compile(). [Randy Sims]
566
5670.06  Mon Dec 27 22:51:36 CST 2004
568
569 - Fixed a bug on Unix environments in which our work-around for
570   shell-commands like "FOO=BAR cc" (which is supposed to be turned
571   into "env FOO=BAR cc" to actually work) wasn't being called.
572
5730.05  Wed Oct 13 23:09:09 CDT 2004
574
575 - Fixed a bug in split_like_shell() in which leading whitespace was
576   creating an empty word, manifesting as something like "gcc - no
577   such file or directory" during tests. [Spotted by Warren L. Dodge]
578
579 - Incorporate another split_like_shell() fix from Module::Build.
580
5810.04  Sun Oct 10 00:31:08 CDT 2004
582
583 - Changed the split_like_shell() method to use the shellwords()
584   function from Text::ParseWords (a core module since 5.0), which
585   does a much better job than the split() we were using.
586
587
5880.03  Fri May 14 23:12:23 CDT 2004
589
590 - Fixed minor problems with the Build.PL file, the module names
591   should be quoted.
592
593 - The VMS module declared itself with the wrong package name.
594
595
5960.02  Fri Feb 20 10:17:40 CST 2004
597
598 - Fixed a bug in .../Platform/Windows.pm, in which compile() was
599   ignoring an 'include_dirs' argument.  [Randy Sims]
600
601 - Fixed a bug in .../Platform/Windows.pm, in which output files were
602   being created in the root directory \ when they should be created
603   in the current directory. [Randy Sims]
604
605
6060.01  Mon Jan 12 08:12:35 CST 2004
607
608 - Original release, taken from Module::Build's C-building code, with
609   patching help from Randy Sims.
610