summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorSisyphus <sisyphus@cpan.org>2011-05-22 23:15:30 -0700
committerFather Chrysostomos <sprout@cpan.org>2011-05-22 23:15:30 -0700
commit4cef65c2f148d62eb1918e68e26b4298d9786a00 (patch)
treee96dd0c3f156518ea54b82b997d0fa6c2208ec02 /win32
parent0e21945565eb4664d843bb819fb032cedee4d5a6 (diff)
downloadperl-4cef65c2f148d62eb1918e68e26b4298d9786a00.tar.gz
[perl #91354] win32/makefile.mk needs patching for gcc-4.x.x
The current win32/makefile.mk wants us to edit it when we are using the gcc-4.x.x compiler. Firstly, we have to signify that we are using gcc-4.x.x, then we have to nominate (from a supplied list) the name of the helper dll that needs to be copied to the t folder (in order that the taint.t tests can pass). The supplied list of candidates is deficient - the name of the helper dll from one of my gcc compilers is not listed there. Also, I'm now finding that a second dll (libstdc++-6.dll) needs to be copied to the t folder - otherwise the taint.t test still crashes. The attached makefile.mk patch addresses these issues in such a way that we don't have to do any editting (re the using of gcc-4.x.x) of the makefile.mk at all. There's a small discussion about this on the p5p mailing list in the thread "win32/makefile.mk patch" (15 may 2011). This change to the makefile.mk means that README.win32 needs a slight modification - and the attached README.win32 patch addresses that issue. The README.win32 patch also alters the link to the 64-bit (mingw64) compiler made available by kmx. This has nothing to do with the subject of this bug report, but I don't see why that correction to the link (as suggested to me by kmx, in private correspondence) can't be made.
Diffstat (limited to 'win32')
-rw-r--r--win32/makefile.mk31
1 files changed, 12 insertions, 19 deletions
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 069e8ed9fa..2cbcdeaa76 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -200,22 +200,6 @@ CCHOME *= $(MSVCDIR)
.ENDIF
#
-# If building with gcc-4.x.x (or x86_64-w64-mingw32-gcc-4.x.x), then
-# uncomment the following assignment to GCC_4XX, make sure that CCHOME
-# has been set correctly above, and uncomment the appropriate
-# GCCHELPERDLL line.
-# The name of the dll can change, depending upon which vendor has supplied
-# your 4.x.x compiler, and upon the values of "x".
-# (The dll will be in your mingw/bin folder, so check there if you're
-# unsure about the correct name.)
-# Without these corrections, the op/taint.t test script will fail.
-#
-#GCC_4XX *= define
-#GCCHELPERDLL *= $(CCHOME)\bin\libgcc_s_sjlj-1.dll
-#GCCHELPERDLL *= $(CCHOME)\bin\libgcc_s_dw2-1.dll
-#GCCHELPERDLL *= $(CCHOME)\bin\libgcc_s_1.dll
-
-#
# uncomment this if you are using x86_64-w64-mingw32 cross-compiler
# ie if your gcc executable is called 'x86_64-w64-mingw32-gcc'
# instead of the usual 'gcc'.
@@ -1623,10 +1607,19 @@ test-prep : all utils ..\pod\perltoc.pod
.ELSE
$(XCOPY) $(GLOBEXE) ..\t\$(NULL)
.ENDIF
+
.IF "$(CCTYPE)" == "GCC"
-.IF "$(GCC_4XX)" == "define"
- $(XCOPY) $(GCCHELPERDLL) ..\t\$(NULL)
-.ENDIF
+# If building with gcc versions 4.x.x or greater, then
+# the GCC helper DLL will also need copied to the test directory.
+# The name of the dll can change, depending upon which vendor has supplied
+# your compiler, and upon the values of "x".
+# libstdc++-6.dll is copied if it exists as it, too, may then be needed.
+# Without this copying, the op/taint.t test script will fail.
+ if exist $(CCHOME)\bin\libgcc_s_sjlj-1.dll $(XCOPY) $(CCHOME)\bin\libgcc_s_sjlj-1.dll ..\t\$(NULL)
+ if exist $(CCHOME)\bin\libgcc_s_dw2-1.dll $(XCOPY) $(CCHOME)\bin\libgcc_s_dw2-1.dll ..\t\$(NULL)
+ if exist $(CCHOME)\bin\libgcc_s_1.dll $(XCOPY) $(CCHOME)\bin\libgcc_s_1.dll ..\t\$(NULL)
+ if exist $(CCHOME)\bin\w64gcc_s_sjlj-1.dll $(XCOPY) $(CCHOME)\bin\w64gcc_s_sjlj-1.dll ..\t\$(NULL)
+ if exist $(CCHOME)\bin\libstdc++-6.dll $(XCOPY) $(CCHOME)\bin\libstdc++-6.dll ..\t\$(NULL)
.ENDIF
test : $(RIGHTMAKE) test-prep