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