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