1Revision history for Perl extension ExtUtils::CBuilder. 2 30.280206 - 2012-03-20 (Perl v5.15.9) 4 5 Documented: 6 7 - Added a SUPPORT section to indicate that upstream is Perl 5 core 8 90.280205 - 2011-12-20 (Perl v5.15.6) 10 11 Fixed: 12 13 - Fixed bug picking up ccflags from Config 14 150.280204 - 2011-06-20 (Perl v5.15.0) 16 17 Minor: 18 19 - Quotation style cleanup 20 210.280203 - 2011-05-14 (Perl v5.14.0) 22 23 Fixed: 24 25 - Appends CFLAGS and LDFLAGS environments instead of overriding 26 27 - Reset ccflags on compilation for VMS. 28 29 Changed: 30 31 - Refactored OS name mapping to use Perl::OSType 32 330.280202 - Sun Jan 23 10:47:51 EST 2011 34 35 - Different file names used for test files; allows EU::CB tests 36 to be run in parallel. [Florian Ragwitz] 37 380.280201 - Fri Jan 21 15:16:36 EST 2011 39 40 Fixed: 41 42 - t/04-base.t no longer attempt to compile or link as this provokes 43 failures on main platforms 44 45 - Various typo fixes in Pod or comments 46 470.2802 - Sun Dec 12 07:22:43 EST 2010 48 49 Fixed: 50 51 - Incorporated another t/04-base.t fix from bleadperl 52 [Chris Williams] 53 540.2801 - Wed Dec 8 21:36:56 EST 2010 55 56 Fixed: 57 58 - Fixed spurious t/04-base.t failure when run from Perl core 59 [David Golden] 60 610.2800 - Mon Dec 6 16:05:46 EST 2010 62 63 - No changes from 0.27_07 64 650.27_07 - Wed Sep 29 21:48:55 EDT 2010 66 67 Fixed: 68 69 - Fixed t/02-link.t on perl < 5.8 70 710.27_06 - Mon Sep 27 15:29:54 EDT 2010 72 73 Fixed: 74 75 - Preserves exit status on VMS [Craig Berry] 76 77 - Fix Win32 split_like_shell escaping [Christian Walde] 78 790.27_05 - Wed Jul 28 15:29:59 EDT 2010 80 81 Fixed: 82 83 - Tests no longer fail if user has set the CC environment variable 84 850.27_04 - Mon Jul 26 22:41:43 EDT 2010 86 87 Added: 88 - handle c compiler and c++ compiler separately 89 (adds requirement for IPC::Cmd) [Jens Rehsack] 90 91 Others: 92 - rely on File::Temp::tempfile and File::Spec::tmpdir to 93 get unique file name for checking for compiler 94 [Jens Rehsack] 95 96 - Code base modernization and substantial code coverage improvments 97 [Jim Keenan] 98 990.2703 - Tue Mar 16 17:10:55 EDT 2010 100 101 Bugs fixed: 102 - fixed tests for Windows and MSVC [Jan Dubois] 103 1040.2702 - Mon Feb 22 15:10:52 EST 2010 105 106 Bugs fixed: 107 - compile() changes in 0.2701 did not work on Windows. Now fixed. 108 1090.2701 - Tue Feb 16 09:12:45 EST 2010 110 111 Bugs fixed: 112 - compile() now accepts both string & array for 'include_dirs' 113 argument, as documented.(RT#54606) [Alberto Sim�es] 114 1150.27 - Thu Oct 29 21:29:56 EDT 2009 116 117 Other: 118 - Removed Build.PL to avoid creating a circular dependency 119 - Added version numbers to Windows compiler driver modules 120 1210.26_05 - Sun Oct 25 17:29:02 EDT 2009 122 123 Bugs fixed: 124 - Fixed t/02link.t failures on cygwin with Perl 5.8 [David Golden] 125 126 Other: 127 - Made have_compiler (and have_cplusplus) quiet without echoing 128 the test command to STDOUT [David Golden] 129 1300.26_04 - Mon Oct 19 21:57:46 EDT 2009 131 132 Enhancements: 133 - Added 'have_cplusplus()' method to check for C++ support 134 - Added patches for building Perl with mingw64 [Sisyphus] 135 - Allow CC environment variable to override $Config{cc} 136 137 Bugs fixed: 138 - Fixed link executable command for Win32 MSVC (RT#40819) [Cosimo 139 Streppone] 140 - Removed MSVC version check when embedding a manifest file 141 (RT #43002) [Steve Hay] 142 143 Other: 144 - Split Windows compiler driver packages into individual *.pm files 145 1460.260301 - Sat Aug 29 11:04:41 EDT 2009 147 148 Bugs fixed: 149 - Fixed linking error on Win32 with gcc compiler (RT#49000) 150 [kmx] 151 1520.2603 - Sat Jul 18 06:56:06 EDT 2009 153 154 Bugs fixed: 155 - Makefile.PL had wrong INSTALLDIRS setting for older Perls 156 (RT#47985) [David Golden] 157 1580.2602 - Sat Jul 4 10:57:12 EDT 2009 159 160 Bugs fixed: 161 - Fixed 00-have-compiler.t if $^X is a relative path [David Wheeler] 162 1630.2601 - Wed Jul 1 09:37:39 EDT 2009 164 165 Bugs fixed: 166 - On VMS, cleans up extra files generated during testing 167 [John E. Malmberg, Craig Berry] 168 1690.26 - Mon Jun 29 20:11:52 EDT 2009 170 171 - No changes from 0.25_01 172 1730.25_01 - Sat Jun 27 23:13:20 EDT 2009 174 175 - Changed test library to Test::More 176 177 - Added tests for have_compiler 178 179 - Skips tests that need a compiler if have_compiler is false 180 181 - have_compiler will try to compile in the current directory 182 if compiling in tmpdir fails for whatever reason 183 1840.25 - Fri Jun 26 16:18:13 EDT 2009 185 186 - Slight diagnostic improvements in link.t 187 1880.24_01 - Sun Mar 8 14:50:10 2009 189 190 - On Windows, don't generate "mt" command when CRT is statically 191 linked. [Jan Dubois] 192 193 - On Cygwin, examine $Config{useshrplib} to see whether we're 194 supposed to be linking with a shared perl library or not. [Reini 195 Urban] 196 197 - In link_executable() on Cygwin, trust $Config{ld} rather than using 198 $Config{cc} for linking. [Reini Urban] 199 200 - Add 'haiku' as a Unix-like platform. [Ingo Weinhold] 201 2020.24 - Fri Aug 15 22:01:48 2008 203 204 - Added 'gnu' and 'gnukfreebsd' as Unix variants. [Niko Tyni] 205 206 - Brought in some VMS fixes from bleadperl: "Correct and complete 207 CBuilder's handling of external libraries when linking on VMS." 208 [Craig Berry] 209 2100.23 - Sat Apr 19 22:28:03 2008 211 212 - Fixed some problems (some old, some new) with Strawberry Perl on 213 Windows. [Alberto Simo~es] 214 215 - Will now install in the core perl lib directory when the user's 216 perl is new enough to have us in core. [Yi Ma Mao] 217 2180.22 - Fri Feb 8 21:52:21 2008 219 220 - Replaced the split_like_shell() method on Windows with a 221 near-no-op, which is probably more correct and has the benefit of 222 not messing up UNC paths. [John R. LoVerso, see 223 http://rt.cpan.org/Ticket/Display.html?id=26545] 224 225 - Fixed extra_compiler_flags on Windows, they were being 226 ignored. [Robert May] 227 2280.21 - Tue Oct 30 06:46:01 2007 229 230 - Clean up perl_src path using Cwd::realpath(). Only affects usage 231 as part of the perl core. 232 233 - Protect $., $@, $!, $^E, and $? from any clobbering that might 234 occur in our DESTROY method. [Zefram] 235 236 - From bleadperl, a patch to clean up debug symbol files (.pdb for 237 VC++, .tds for BCC) when running have_compiler(). [Steve Hay & 238 Steve Peters] 239 2400.19 - Sun May 13 14:29:18 2007 241 242 - When building as part of the perl core (so this is irrelevant for 243 people downloading from CPAN) we now try a little harder to find 244 the perl sources. [Jos Boumans] 245 246 - Fixed a part of the manifest thingy that got broken on 64-bit 247 Windows platforms in version 0.18. [Steve Hay, Jan Dubois] 248 2490.18 - Mon Mar 26 21:29:09 2007 250 251 - Various OS/2 fixes: 252 + Put .LIB file near .DEF file 253 + Got library-file building working better 254 + Handled libperl_overrides better 255 [Ilya Zakharevich] 256 257 - On Windows: embed manifest files in DLLs built with Module-Build 258 when using VC8. [Steve Hay] 259 260 - Added a workaround for a config error on dec_osf: the linker is 261 $Config{cc}, not $Config{ld}. [Jarkko Hietaniemi] 262 263 - Borland's compiler "response files" will not pass through macro 264 definitions that contain quotes. The quotes get stripped and there 265 seems to be no way to escape them. So we leave macros on the 266 command line. [Randy W. Sims] 267 2680.18 Sat Mar 25 13:35:47 CST 2006 269 270 - Yet more fixes for arg_defines() on VMS. [Craig A. Berry and John 271 E. Malmberg] 272 2730.17 Wed Mar 15 22:46:15 CST 2006 274 275 - When we're being run from an uninstalled perl distribution 276 (e.g. one that's in the process of being built and tested), we 277 search for perl first in the current working directory. [Randy 278 Sims] 279 280 - More fixing of the arg_defines() method on VMS. [Craig A. Berry and 281 John E. Malmberg] 282 2830.16 Mon Mar 13 17:08:21 CST 2006 284 285 - Fix quoting of command line arguments on Windows. [Yitzchak 286 Scott-Thoennes] 287 288 - Provided a custom arg_defines() on VMS that does essentially the 289 same thing for /define that version 0.14 did for /include. [Craig 290 A. Berry] 291 292 - Documented the existing 'quiet' parameter, which silences the 293 printing of system() commands. [Suggested by Yitzchak 294 Scott-Thoennes] 295 2960.15 Mon Oct 3 17:10:32 CDT 2005 297 298 - Several OS/2 fixes have been made, including: 1) adding the 299 necessary version string to DLLs, 2) passing the executable's name 300 to 'ldopts' without the .exe extension, 3) avoiding calling 'env' 301 via the 'shrpenv' thingy, since it triggers a fork() bug. [Ilya 302 Zakharevich] 303 304 - Integrate a couple cleanup-related changes from bleadperl that 305 somehow never got into this copy. [Steve Hay] 306 307 - Added a new 'defines' parameter to compile(), which gives a 308 platform-independant way to specify various -Dfoo=bar (or the 309 equivalent) compiler defines. [Randy W. Sims] 310 3110.14 Mon Sep 19 13:40:37 CDT 2005 312 313 - Several fixes have been made for VMS, including: 1) there can only 314 be one /include qualifier, so merge multiple /includes into one; 2) 315 make sure the executable is named the same way that dynaloader will 316 look for it; 3) make sure the option files for the exported symbols 317 and the PERLSHR image are passed properly to the linker. [John 318 E. Malmberg] 319 3200.13 Wed Aug 24 20:05:59 CDT 2005 321 322 - Several temporary files weren't being cleaned up during testing, 323 because the 'cleanup' mechanism was never properly implemented. 324 This is now fixed. [Steve Hay] 325 3260.12 Mon May 30 16:40:10 CDT 2005 327 328 - In order to integrate into the perl core, patches were contributed 329 that a) put a $VERSION variable in each .pm file, b) add a 'quiet' 330 parameter to new() to shut up some of the command-echoing, c) 331 checks for the perl source headers in the CORE/ directory in the 332 perl source tree, not in the post-installation location, and d) 333 adjusts the CWD when running the regression tests under the perl 334 core. [Yitzchak Scott-Thoennes] 335 336 - Various parts of the code were looking for the CORE/ directory in 337 $Config{archlib}, $Config{installarchlib}, and $Config{archlibexp}. 338 Only the latter is correct, so we use that everywhere now. 339 [Curt Tilmes] 340 341 - For Unix-ish platforms, link_executable() will now prefer 342 $Config{cc} to $Config{ld}, because that typically works 343 better. [Jarkko Hietaniemi and H.Merijn Brand] 344 345 - Prelinking (invoking ExtUtils::Mksymlists to create options-files) 346 is now only done when we're building dynamic libraries. [Yitzchak 347 Scott-Thoennes] 348 3490.11 Tue Apr 5 20:58:41 CDT 2005 350 351 - Added a licensing statement to CBuilder.pm. [Spotted by Chip 352 Salzenberg] 353 3540.10 Mon Mar 14 20:18:19 CST 2005 355 356 - Split out a few simple routines that format how compile switches 357 are formatted, so that we can override them for platforms like VMS 358 where they're very different. 359 360 - Fix compile() and link() on VMS. [Help from Michael Schwern and 361 Peter Prymmer] 362 3630.09 Tue Feb 8 17:57:41 CST 2005 364 365 - Fixed a broken link_executable() method on cygwin - it now uses 366 'gcc' instead of $Config{ld} for the linking, because the latter is 367 actually a shell script which calls a perl script which calls gcc 368 in a way that only works for creating shared libraries, not 369 executables. 370 3710.08 Tue Jan 18 21:54:11 CST 2005 372 373 - Fixed a testing error in which I had the prototype wrong for the 374 main() function. [Jose Pedro Oliveira] 375 3760.07 Wed Jan 12 21:50:34 CST 2005 377 378 - Added the link_executable() method, which provides the ability to 379 create standalone executables. This is NOT yet implemented on 380 Windows, and therefore the tests for it are skipped on Win32. 381 [Alberto Manuel Brandao Simoes] 382 383 - Integrated the latest split_like_shell() for Windows from 384 Module::Build (really need to find a better home for this code...), 385 which now does a much better job of handling quotes and backslashes 386 and so on. [Randy Sims] 387 388 - Fixed a couple of Windows problems related to the output-file name 389 in link(), and some clobbering of the 'include_dirs' parameter to 390 compile(). [Randy Sims] 391 3920.06 Mon Dec 27 22:51:36 CST 2004 393 394 - Fixed a bug on Unix environments in which our work-around for 395 shell-commands like "FOO=BAR cc" (which is supposed to be turned 396 into "env FOO=BAR cc" to actually work) wasn't being called. 397 3980.05 Wed Oct 13 23:09:09 CDT 2004 399 400 - Fixed a bug in split_like_shell() in which leading whitespace was 401 creating an empty word, manifesting as something like "gcc - no 402 such file or directory" during tests. [Spotted by Warren L. Dodge] 403 404 - Incorporate another split_like_shell() fix from Module::Build. 405 4060.04 Sun Oct 10 00:31:08 CDT 2004 407 408 - Changed the split_like_shell() method to use the shellwords() 409 function from Text::ParseWords (a core module since 5.0), which 410 does a much better job than the split() we were using. 411 412 4130.03 Fri May 14 23:12:23 CDT 2004 414 415 - Fixed minor problems with the Build.PL file, the module names 416 should be quoted. 417 418 - The VMS module declared itself with the wrong package name. 419 420 4210.02 Fri Feb 20 10:17:40 CST 2004 422 423 - Fixed a bug in .../Platform/Windows.pm, in which compile() was 424 ignoring an 'include_dirs' argument. [Randy Sims] 425 426 - Fixed a bug in .../Platform/Windows.pm, in which output files were 427 being created in the root directory \ when they should be created 428 in the current directory. [Randy Sims] 429 430 4310.01 Mon Jan 12 08:12:35 CST 2004 432 433 - Original release, taken from Module::Build's C-building code, with 434 patching help from Randy Sims. 435