In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/745dedb9b507e0e36ba9794c704b9b3fc44a8ab3?hp=99b234bca42d2b5f9f5f74960bfd693b6d9c0b27>
- Log ----------------------------------------------------------------- commit 745dedb9b507e0e36ba9794c704b9b3fc44a8ab3 Author: Daniel Dragan <[email protected]> Date: Sat Feb 13 04:05:24 2016 -0500 fix win32 gmake with win64 VC with 32 bit GCC in PATH build failure The assignment of PROCESSOR_ARCHITEW6432 to PROCESSOR_ARCHITECTURE near the "When we are running from a 32bit cmd.exe on AMD64 then" comment doesn't happen if WIN64 var was already assigned to. Do the 32/64 auto detection only for GCC builds, not for VC builds. I not implementing 32/64 and cl version (CCTYPE setting) detection by parsing stdout of "cl<enter>" with batch and gmake syntax at this time. failure message: generate_uudmap.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' GNUmakefile:1416: recipe for target '..\generate_uudmap.exe' failed gmake: *** [..\generate_uudmap.exe] Error 2 ----------------------------------------------------------------------- Summary of changes: win32/GNUmakefile | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/win32/GNUmakefile b/win32/GNUmakefile index 3abcba6..92d4528 100644 --- a/win32/GNUmakefile +++ b/win32/GNUmakefile @@ -41,15 +41,6 @@ GCCVER1 := $(shell for /f "delims=. tokens=1,2,3" %%i in ('gcc -dumpversion') GCCVER2 := $(shell for /f "delims=. tokens=1,2,3" %%i in ('gcc -dumpversion') do echo %%j) GCCVER3 := $(shell for /f "delims=. tokens=1,2,3" %%i in ('gcc -dumpversion') do echo %%k) -ifeq ($(GCCTARGET),x86_64-w64-mingw32) -WIN64 := define -ARCHITECTURE := x64 -endif -ifeq ($(GCCTARGET),i686-w64-mingw32) -WIN64 := undef -ARCHITECTURE := x86 -endif - ## ## Build configuration. Edit the values below to suit your needs. ## @@ -363,6 +354,17 @@ ifeq ($(USE_NO_REGISTRY),define) BUILDOPT += -DWIN32_NO_REGISTRY endif +ifeq ($(CCTYPE),GCC) +ifeq ($(GCCTARGET),x86_64-w64-mingw32) +WIN64 := define +ARCHITECTURE := x64 +endif +ifeq ($(GCCTARGET),i686-w64-mingw32) +WIN64 := undef +ARCHITECTURE := x86 +endif +endif + PROCESSOR_ARCHITECTURE ?= x86 ifeq ($(WIN64),undef) -- Perl5 Master Repository
