summaryrefslogtreecommitdiff
path: root/src/Make_cyg_ming.mak
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-07-12 21:17:03 +0200
committerBram Moolenaar <Bram@vim.org>2016-07-12 21:17:03 +0200
commite048539195e1c0a060cf41b39fca118130bdc151 (patch)
tree877d04bdaeec8864daa2e54c2e74e94ec5d6fc30 /src/Make_cyg_ming.mak
parent38ee6b041e73ad31c3b6b99d56d20833b59b2b57 (diff)
downloadvim-git-e048539195e1c0a060cf41b39fca118130bdc151.tar.gz
patch 7.4.2030v7.4.2030
Problem: ARCH must be set properly when using MinGW. Solution: Detect the default value of ARCH from the current compiler. (Ken Takata)
Diffstat (limited to 'src/Make_cyg_ming.mak')
-rw-r--r--src/Make_cyg_ming.mak74
1 files changed, 42 insertions, 32 deletions
diff --git a/src/Make_cyg_ming.mak b/src/Make_cyg_ming.mak
index e0638abb9..9bc24195f 100644
--- 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)
@@ -383,37 +424,6 @@ DEFINES=-DWIN32 -DWINVER=$(WINVER) -D_WIN32_WINNT=$(WINVER) \
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
###########################################################################