Fix CCINCDIR and CCLIBDIR for mingw64 cross compiler
Sisyphus [Fri, 21 May 2010 00:56:07 +0000 (17:56 -0700)]
When building perl with the mingw64 x64 cross-compiler 'incpath', 'libpth',
'ldflags', 'lddlflags' and 'ldflags_nolargefiles' values in Config.pm and
Config_heavy.pl are not being set correctly because, with that compiler, the
include and lib directories are not immediately below $(CCHOME).

win32/makefile.mk

index 7d56063..c9686fb 100644 (file)
@@ -221,8 +221,6 @@ CCHOME              *= C:\MinGW
 .ELSE
 CCHOME         *= $(MSVCDIR)
 .ENDIF
-CCINCDIR       *= $(CCHOME)\include
-CCLIBDIR       *= $(CCHOME)\lib
 
 #
 # If building with gcc-4.x.x (or x86_64-w64-mingw32-gcc-4.x.x), then
@@ -248,6 +246,18 @@ CCLIBDIR   *= $(CCHOME)\lib
 #GCCCROSS      *= define
 
 #
+# Following sets $Config{incpath} and $Config{libpth}
+#
+
+.IF "$(GCCCROSS)" == "define"
+CCINCDIR *= $(CCHOME)\mingw\include
+CCLIBDIR *= $(CCHOME)\mingw\lib
+.ELSE
+CCINCDIR *= $(CCHOME)\include
+CCLIBDIR *= $(CCHOME)\lib
+.ENDIF
+
+#
 # Additional compiler flags can be specified here.
 #
 BUILDOPT       *= $(BUILDOPTEXTRA)