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