To (perhaps) answer the question you raised in your initial post to this thread, the following patch to lib/ActivePerl/Config.pm would (afaict) take care of the whole thing for you:
--- Config.pm_orig Mon Jul 23 13:49:44 2007
+++ Config.pm Sat May 10 19:33:34 2008
@@ -81,7 +81,11 @@
}
if ($COMPILER_ENV{$key} && !$compiler_env_initialized++) {
- if ($^O eq "MSWin32" && (_gcc_requested() || !find_prog(_orig_con
+f("cc")))) {
+ if ($^O eq "MSWin32" && !_gcc_requested() && find_prog(_orig_c
+onf("cc"))) {
+ my @ccversion = split / /, `cl 2>&1`;
+ _override("ccversion", $ccversion[7]);
+ }
+ elsif ($^O eq "MSWin32" && (_gcc_requested() || !find_prog(_orig_
+conf("cc")))) {
if (my $gcc = find_prog("gcc")) {
# assume MinGW or similar is available
$gcc =~ s,\\,/,g;
I'm not sure that's the best way to determine the compiler version, and I'm not even sure that my logic is correct anyway, but it doesn't seem to break anything for me, and it should override the existing $Config{ccversion} with the appropriate value.
I'll submit it as a bug report to ActiveState. They'll probably want to change my code (if they decide to implement the fix), but at least it demonstrates that only a minor amendment to lib/ActivePerl/Config.pm is necessary in order to have the whole thing dealt with automatically.
Cheers, Rob Update: As of ActiveState build 1003 lib/ActivePerl/Config.pm has been patched to fix the problem that was the basis of the thread. (Unsurprisingly, the patch applied was not exactly the same as the one provided above.) | [reply] [d/l] [select] |