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 ###########################################################################