From 18cbe62e69863e185a69ba7349a5a08f94afecd7 Mon Sep 17 00:00:00 2001
From: seyko <seyko2@gmail.com>
Date: Fri, 20 May 2016 15:48:02 +0300
Subject: [PATCH] fix a mingw64 build on Linux with --enable-tcc64-mingw

    * define CONFIG_WIN64=yes when ARCH=x86-64 (not CONFIG_WIN32=yes)
    * CONFIG_WIN64 now use a windows install part (not a Linux one)
---
 Makefile     | 9 ++++++++-
 configure    | 9 +++++++--
 lib/Makefile | 2 +-
 3 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index c0923700..1488c1be 100644
--- a/Makefile
+++ b/Makefile
@@ -271,10 +271,17 @@ else
 INSTALLBIN=$(INSTALL)
 endif
 
+ifdef CONFIG_WIN32
+CONFIG_WIN=yes
+endif
+ifdef CONFIG_WIN64
+CONFIG_WIN=yes
+endif
+
 install-strip: install
 	strip $(foreach PROG,$(PROGS),"$(bindir)"/$(PROG))
 
-ifndef CONFIG_WIN32
+ifndef CONFIG_WIN
 install: $(PROGS) $(TCCLIBS) $(TCCDOCS)
 	mkdir -p "$(bindir)"
 	$(INSTALLBIN) -m755 $(PROGS) "$(bindir)"
diff --git a/configure b/configure
index 246e0ea9..d606521a 100755
--- a/configure
+++ b/configure
@@ -520,8 +520,13 @@ if test "$noldl" = "yes" ; then
   echo "CONFIG_NOLDL=yes" >> config.mak
 fi
 if test "$mingw32" = "yes" ; then
-  echo "CONFIG_WIN32=yes" >> config.mak
-  echo "#define CONFIG_WIN32 1" >> $TMPH
+  if test "$cpu" = "x86-64"; then
+    echo "CONFIG_WIN64=yes" >> config.mak
+    echo "#define CONFIG_WIN64 1" >> $TMPH
+  else
+    echo "CONFIG_WIN32=yes" >> config.mak
+    echo "#define CONFIG_WIN32 1" >> $TMPH
+  fi
 fi
 if test "$cygwin" = "yes" ; then
   echo "#ifndef _WIN32" >> $TMPH
diff --git a/lib/Makefile b/lib/Makefile
index aaddbe3b..8f486565 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -68,7 +68,7 @@ else
 ifeq "$(TARGET)" "x86_64-win"
  OBJ = $(addprefix $(DIR)/,$(WIN64_O))
  TGT = -DTCC_TARGET_X86_64 -DTCC_TARGET_PE
- XCC = $(TCC) -B$(top_srcdir)/win32 -I$(top_srcdir)/include
+ XCC ?= $(TCC) -B$(top_srcdir)/win32 -I$(top_srcdir)/include
  XAR ?= $(DIR)/tiny_libmaker$(EXESUF)
  PICFLAGS =
 else