Hi,

Currently ARCH must be set properly when using MinGW (especially when compiling
for x86_64). This patch detects the default value of ARCH from the current
compiler if ARCH is not set.

Regards,
Ken Takata

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
# HG changeset patch
# Parent  b34f06ede17782809ab20fedf0f7d994936663c0

diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak
--- a/src/Make_cyg_ming.mak
+++ b/src/Make_cyg_ming.mak
@@ -42,7 +42,8 @@ DIRECTX=no
 FEATURES=HUGE
 # Set to one of i386, i486, i586, i686 as the minimum target processor.
 # For amd64/x64 architecture set ARCH=x86-64 .
-ARCH=i686
+# If not set, it will be automatically detected. (Normally i686 or x86-64.)
+#ARCH=i686
 # Set to yes to cross-compile from unix; no=native Windows (and Cygwin).
 CROSS=no
 # Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'.
@@ -112,6 +113,46 @@ INTLLIB=gnu_gettext
 #INTLPATH=$(GETTEXT)/lib
 #INTLLIB=intl
 
+
+# Command definitions (depends on cross-compiling and shell)
+ifeq ($(CROSS),yes)
+# cross-compiler prefix:
+ifndef CROSS_COMPILE
+CROSS_COMPILE = i586-pc-mingw32msvc-
+endif
+DEL = rm
+MKDIR = mkdir -p
+DIRSLASH = /
+else
+# normal (Windows) compilation:
+ifndef CROSS_COMPILE
+CROSS_COMPILE =
+endif
+ifneq (sh.exe, $(SHELL))
+DEL = rm
+MKDIR = mkdir -p
+DIRSLASH = /
+else
+DEL = del
+MKDIR = mkdir
+DIRSLASH = \\
+endif
+endif
+CC := $(CROSS_COMPILE)gcc
+CXX := $(CROSS_COMPILE)g++
+ifeq ($(UNDER_CYGWIN),yes)
+WINDRES := $(CROSS_COMPILE)windres
+else
+WINDRES := windres
+endif
+WINDRES_CC = $(CC)
+
+# Get the default ARCH.
+ifndef ARCH
+ARCH := $(shell $(CC) -dumpmachine | sed -e 's/-.*//')
+endif
+
+
 #	Perl interface:
 #	  PERL=[Path to Perl directory] (Set inside Make_cyg.mak or Make_ming.mak)
 #	  DYNAMIC_PERL=yes (to load the Perl DLL dynamically)
@@ -386,37 +427,6 @@ DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WI
 ifeq ($(ARCH),x86-64)
 DEFINES+=-DMS_WIN64
 endif
-ifeq ($(CROSS),yes)
-# cross-compiler prefix:
-ifndef CROSS_COMPILE
-CROSS_COMPILE = i586-pc-mingw32msvc-
-endif
-DEL = rm
-MKDIR = mkdir -p
-DIRSLASH = /
-else
-# normal (Windows) compilation:
-ifndef CROSS_COMPILE
-CROSS_COMPILE =
-endif
-ifneq (sh.exe, $(SHELL))
-DEL = rm
-MKDIR = mkdir -p
-DIRSLASH = /
-else
-DEL = del
-MKDIR = mkdir
-DIRSLASH = \\
-endif
-endif
-CC := $(CROSS_COMPILE)gcc
-CXX := $(CROSS_COMPILE)g++
-ifeq ($(UNDER_CYGWIN),yes)
-WINDRES := $(CROSS_COMPILE)windres
-else
-WINDRES := windres
-endif
-WINDRES_CC = $(CC)
 
 #>>>>> end of choices
 ###########################################################################

Raspunde prin e-mail lui