Patchwork Replace the 32-bit-only mingw32 with mingw-w64 that is capable

login
register
mail settings
Submitter Yann Diorcet
Date Nov. 14, 2012, 1:08 p.m.
Message ID <b045ac08fc9eac2e5ee3.1352898499@blackmint>
Download mbox | patch
Permalink /patch/198901/
State Accepted
Commit 6cb56b3f2d34
Headers show

Comments

Yann Diorcet - Nov. 14, 2012, 1:08 p.m.
# HG changeset patch
# User Yann Diorcet <diorcet.yann@gmail.com>
# Date 1352898349 -3600
# Node ID b045ac08fc9eac2e5ee356f4898ae7968b85805d
# Parent  cfb1783d4cb8b588ca9d7f4d8e8a3394e10b1c97
Replace the 32-bit-only mingw32 with mingw-w64 that is capable
of building toolchains for both 32-bit and 64-bit Windows.

kernel/mingw: replace mingw32 with generic Windows
kernel/windows: New windows kernel supporting 32 and 64 bit arch
libc/mingw: Remove old options
patches: Remove old mingw libc options' patches

Signed-off-by: "Yann Diorcet" <diorcet.yann@gmail.com>


--
For unsubscribe information see http://sourceware.org/lists.html#faq
Yann E. MORIN - Nov. 15, 2012, 12:14 a.m.
Yann, All,

Your patch:
    libc/mingw: replace mingw32 with generic mingw

has been applied as: #6cb56b3f2d34
    http://crosstool-ng.org/hg/crosstool-ng/rev/6cb56b3f2d34

Thank you!

Regards,
Yann E. MORIN.



--
For unsubscribe information see http://sourceware.org/lists.html#faq

Patch

diff -r cfb1783d4cb8 -r b045ac08fc9e config/kernel.in
--- a/config/kernel.in	Fri Nov 09 18:22:31 2012 +0100
+++ b/config/kernel.in	Wed Nov 14 14:05:49 2012 +0100
@@ -7,7 +7,7 @@ 
 config BARE_METAL
     bool
 
-config MINGW32
+config WINDOWS 
     bool
 
 # Each target OS (aka kernel) that support shared libraries can select
diff -r cfb1783d4cb8 -r b045ac08fc9e config/kernel/mingw32.in
--- a/config/kernel/mingw32.in	Fri Nov 09 18:22:31 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@ 
-# mingw32 config options
-
-## depends on EXPERIMENTAL && ( ARCH_x86 && ARCH_32 )
-##
-## select MINGW32
-##
-## help Build a toolchain targeting systems running Windows as host
-
-choice
-    bool
-    prompt "Windows api version"
-
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-config W32API_V_3_14
-    bool
-    prompt "3.14"
-
-config W32API_V_select
-    bool
-    prompt "Other version"
-
-endchoice
-
-config W32API_VERSION
-    string
-    prompt "W32 api version" if W32API_V_select
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
-    default "3.14" if W32API_V_3_14
-    help
-      Enter the version number of the windows api files to use
-
diff -r cfb1783d4cb8 -r b045ac08fc9e config/kernel/windows.in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/config/kernel/windows.in	Wed Nov 14 14:05:49 2012 +0100
@@ -0,0 +1,7 @@ 
+# windows config options
+
+## depends on EXPERIMENTAL && ( ARCH_x86 )
+##
+## select WINDOWS
+##
+## help Build a toolchain targeting systems running Windows as host
diff -r cfb1783d4cb8 -r b045ac08fc9e config/libc/eglibc.in
--- a/config/libc/eglibc.in	Fri Nov 09 18:22:31 2012 +0100
+++ b/config/libc/eglibc.in	Wed Nov 14 14:05:49 2012 +0100
@@ -1,6 +1,6 @@ 
 # eglibc options
 
-## depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
+## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU
 ##
 ## select LIBC_SUPPORT_NPTL
 ## select LIBC_SUPPORT_LINUXTHREADS
diff -r cfb1783d4cb8 -r b045ac08fc9e config/libc/glibc.in
--- a/config/libc/glibc.in	Fri Nov 09 18:22:31 2012 +0100
+++ b/config/libc/glibc.in	Wed Nov 14 14:05:49 2012 +0100
@@ -1,6 +1,6 @@ 
 # glibc options
 
-## depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
+## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU
 ##
 ## select LIBC_SUPPORT_NPTL
 ##
diff -r cfb1783d4cb8 -r b045ac08fc9e config/libc/mingw.in
--- a/config/libc/mingw.in	Fri Nov 09 18:22:31 2012 +0100
+++ b/config/libc/mingw.in	Wed Nov 14 14:05:49 2012 +0100
@@ -1,6 +1,6 @@ 
 # mingw options
 
-## depends on MINGW32
+## depends on WINDOWS 
 ##
 ## select LIBC_SUPPORT_WIN32THREADS
 ##
@@ -8,26 +8,33 @@ 
 
 choice
     bool
-    prompt "Mingw runtime version"
+    prompt "Windows API version"
 
 # Don't remove next line
 # CT_INSERT_VERSION_BELOW
-config MINGWRT_V_3_18
+config WINAPI_V_2_0_7
     bool
-    prompt "3.18"
+    prompt "2.0.7"
 
-config MINGWRT_V_select
+config WINAPI_V_select
     bool
     prompt "Other version"
 
 endchoice
 
-config MINGWRT_VERSION
+config WINAPI_VERSION
     string
-    prompt "Mingw runtime version" if MINGWRT_V_select
+    prompt "Windoows API version" if WINAPI_V_select
 # Don't remove next line
 # CT_INSERT_VERSION_STRING_BELOW
-    default "3.18" if MINGWRT_V_3_18
+    default "2.0.7" if WINAPI_V_2_0_7
     help
-      Enter the version number of the mingw runtime files to use
+      Enter the version number of the Windows API files to use
 
+config MINGW_DIRECTX
+    bool
+    prompt "Include DirectX development files"
+
+config MINGW_DDK
+    bool
+    prompt "Include DDK development files"
diff -r cfb1783d4cb8 -r b045ac08fc9e config/libc/mingw.in.2
--- a/config/libc/mingw.in.2	Fri Nov 09 18:22:31 2012 +0100
+++ b/config/libc/mingw.in.2	Wed Nov 14 14:05:49 2012 +0100
@@ -1,72 +1,1 @@ 
 # Part-2 of mingw C library options: development libraries
-
-config MINGW_DIRECTX
-    bool
-    prompt "Include DirectX development files"
-
-config MINGW_OPENGL
-    bool
-    prompt "Include OpenGL development files"
-
-config MINGW_PDCURSES
-    bool
-    prompt "Include PDCurses (NCurses library) development files"
-
-choice
-    bool
-    prompt "PDCurses library version"
-    depends on MINGW_PDCURSES
-
-config MINGW_PDCURSES_V_3_4
-    bool
-    prompt "3.4"
-
-# CT_INSERT_VERSION_ABOVE
-# Don't remove above line!
-
-config MINGW_PDCURSES_V_select
-    bool
-    prompt "Other version"
-
-endchoice
-
-config MINGW_PDCURSES_VERSION
-    string
-    prompt "PDCurses library version" if MINGW_PDCURSES_V_select
-    default "3.4" if MINGW_PDCURSES_V_3_4
-# CT_INSERT_VERSION_STRING_ABOVE
-# Don't remove above line!
-    help
-      Enter the version number of the PDCurses library to use
-
-config MINGW_GNURX
-    bool
-    prompt "Include GnuRX (regex library) development files"
-
-choice
-    bool
-    prompt "GnuRX library version"
-    depends on MINGW_GNURX
-
-config MINGW_GNURX_V_2_5_1
-    bool
-    prompt "2.5.1"
-
-# CT_INSERT_VERSION_ABOVE
-# Don't remove above line!
-
-config MINGW_GNURX_V_select
-    bool
-    prompt "Other version"
-
-endchoice
-
-config MINGW_GNURX_VERSION
-    string
-    prompt "GnuRX library version" if MINGW_GNURX_V_select
-    default "2.5.1" if MINGW_GNURX_V_2_5_1
-# CT_INSERT_VERSION_STRING_ABOVE
-# Don't remove above line!
-    help
-      Enter the version number of the Regex library to use
-
diff -r cfb1783d4cb8 -r b045ac08fc9e config/libc/uClibc.in
--- a/config/libc/uClibc.in	Fri Nov 09 18:22:31 2012 +0100
+++ b/config/libc/uClibc.in	Wed Nov 14 14:05:49 2012 +0100
@@ -1,6 +1,6 @@ 
 # uClibc options
 
-## depends on ! MINGW32 && ! BARE_METAL
+## depends on ! WINDOWS && ! BARE_METAL
 ##
 ## select LIBC_SUPPORT_LINUXTHREADS
 ## select LIBC_SUPPORT_THREADS_NONE
diff -r cfb1783d4cb8 -r b045ac08fc9e patches/PDCurses/3.4/mingw32_cross_compile.patch
--- a/patches/PDCurses/3.4/mingw32_cross_compile.patch	Fri Nov 09 18:22:31 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@ 
---- PDCurses-3.4.orig/win32/mingwin32.mak	2009-11-02 13:50:11.000000000 +0100
-+++ PDCurses-3.4/win32/mingwin32.mak	2009-11-02 13:53:43.000000000 +0100
-@@ -18,7 +18,7 @@
-
- PDCURSES_WIN_H	= $(osdir)/pdcwin.h
-
--CC		= gcc
-+CC		= $(CROSS_COMPILE)gcc
-
- ifeq ($(DEBUG),Y)
- 	CFLAGS  = -g -Wall -DPDCDEBUG
-@@ -30,8 +30,8 @@
-
- CFLAGS += -I$(PDCURSES_SRCDIR)
-
--BASEDEF		= $(PDCURSES_SRCDIR)\exp-base.def
--WIDEDEF		= $(PDCURSES_SRCDIR)\exp-wide.def
-+BASEDEF		= $(PDCURSES_SRCDIR)/exp-base.def
-+WIDEDEF		= $(PDCURSES_SRCDIR)/exp-wide.def
-
- DEFDEPS		= $(BASEDEF)
-
-@@ -46,17 +46,17 @@
-
- DEFFILE		= pdcurses.def
-
--LINK		= gcc
-+LINK		= $(CROSS_COMPILE)gcc
-
- ifeq ($(DLL),Y)
- 	CFLAGS += -DPDC_DLL_BUILD
--	LIBEXE = gcc $(DEFFILE)
-+	LIBEXE = $(CROSS_COMPILE)gcc $(DEFFILE)
- 	LIBFLAGS = -Wl,--out-implib,pdcurses.a -shared -o
- 	LIBCURSES = pdcurses.dll
- 	LIBDEPS = $(LIBOBJS) $(PDCOBJS) $(DEFFILE)
- 	CLEAN = $(LIBCURSES) *.a $(DEFFILE)
- else
--	LIBEXE = ar
-+	LIBEXE = $(CROSS_COMPILE)ar
- 	LIBFLAGS = rcv
- 	LIBCURSES = pdcurses.a
- 	LIBDEPS = $(LIBOBJS) $(PDCOBJS)
-@@ -70,24 +70,24 @@
- libs:	$(LIBCURSES)
-
- clean:
--	-del *.o
--	-del *.exe
--	-del $(CLEAN)
-+	-rm *.o
-+	-rm *.exe
-+	-rm $(CLEAN)
-
- demos:	$(DEMOS)
--	strip *.exe
-+	$(CROSS_COMPILE)strip *.exe
-
- $(DEFFILE): $(DEFDEPS)
- 	echo LIBRARY pdcurses > $@
- 	echo EXPORTS >> $@
--	type $(BASEDEF) >> $@
-+	cat $(BASEDEF) >> $@
- ifeq ($(WIDE),Y)
--	type $(WIDEDEF) >> $@
-+	cat $(WIDEDEF) >> $@
- endif
-
- $(LIBCURSES) : $(LIBDEPS)
- 	$(LIBEXE) $(LIBFLAGS) $@ $?
--	-copy pdcurses.a panel.a
-+	-cp pdcurses.a panel.a
-
- $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
- $(PDCOBJS) : $(PDCURSES_WIN_H)
---- PDCurses-3.4.orig/curses.h	2009-11-03 14:12:18.000000000 +0100
-+++ PDCurses-3.4./curses.h	2009-11-03 14:14:09.000000000 +0100
-@@ -82,7 +82,9 @@
-  *
-  */
-
-+#ifndef __bool_true_false_are_defined
- typedef unsigned char bool;    /* PDCurses Boolean type */
-+#endif
-
- #ifdef CHTYPE_LONG
- # if _LP64
diff -r cfb1783d4cb8 -r b045ac08fc9e patches/mingw-libgnurx/2.5.1/build-static-library.patch
--- a/patches/mingw-libgnurx/2.5.1/build-static-library.patch	Fri Nov 09 18:22:31 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@ 
---- mingw-libgnurx-2.5.1.orig/configure	2009-11-03 08:19:15.000000000 +0100
-+++ mingw-libgnurx-2.5.1/configure	2009-11-03 08:31:37.000000000 +0100
-@@ -273,7 +273,7 @@
- PACKAGE_STRING='MinGW libgnurx 2.5.1'
- PACKAGE_BUGREPORT='https://sourceforge.net/tracker/?group_id=2435&atid=102435'
-
--ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CC_QUALIFIED DLLVERSION ZIPCMD ZIPEXT MSVCLIB ac_ct_MSVCLIB GNURX_LIB install_dev LIBOBJS LTLIBOBJS'
-+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CC_QUALIFIED AR DLLVERSION ZIPCMD ZIPEXT MSVCLIB ac_ct_MSVCLIB GNURX_LIB install_dev LIBOBJS LTLIBOBJS'
- ac_subst_files=''
-
- # Initialize some variables set by options.
-@@ -2190,21 +2190,54 @@
-
- fi
- rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
--ac_ext=c
--ac_cpp='$CPP $CPPFLAGS'
--ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
--ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
--  ac_ext=c
-+
-+for ac_prog in ar; do
-+set dummy ${ac_tool_prefix}$ac_prog; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_AR+set}" = set; then
-+  echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+  if test -n "$AR"; then
-+  ac_cv_prog_AR="$AR" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+  IFS=$as_save_IFS
-+  test -z "$as_dir" && as_dir=.
-+  for ac_exec_ext in '' $ac_executable_extensions; do
-+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    break 2
-+  fi
-+done
-+done
-+
-+  test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-+fi
-+fi
-+AR=$ac_cv_prog_AR
-+if test -n "$AR"; then
-+  echo "$as_me:$LINENO: result: $AR" >&5
-+echo "${ECHO_T}$AR" >&6
-+else
-+  echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+done
-+
-+ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-- popCFLAGS=$CFLAGS
-- echo 'int main(void){return 0;}' > conftest.$ac_ext
-- echo "$as_me:$LINENO: checking whether $CC accepts the -mthreads option" >&5
-+popCFLAGS=$CFLAGS
-+echo 'int main(void){return 0;}' > conftest.$ac_ext
-+echo "$as_me:$LINENO: checking whether $CC accepts the -mthreads option" >&5
- echo $ECHO_N "checking whether $CC accepts the -mthreads option... $ECHO_C" >&6
-    CFLAGS="$popCFLAGS $CC_QUALIFIED -mthreads"
-    if (eval $ac_compile) 2>&5; then
-@@ -3038,6 +3069,7 @@
- s,@EXEEXT@,$EXEEXT,;t t
- s,@OBJEXT@,$OBJEXT,;t t
- s,@CC_QUALIFIED@,$CC_QUALIFIED,;t t
-+s,@AR@,$AR,;t t
- s,@DLLVERSION@,$DLLVERSION,;t t
- s,@ZIPCMD@,$ZIPCMD,;t t
- s,@ZIPEXT@,$ZIPEXT,;t t
---- mingw-libgnurx-2.5.1.orig/Makefile.in	2009-11-03 08:17:49.000000000 +0100
-+++ mingw-libgnurx-2.5.1/Makefile.in	2009-11-03 08:57:37.000000000 +0100
-@@ -39,6 +39,7 @@
- mandir = @mandir@
-
- CC = @CC_QUALIFIED@
-+AR = @AR@
- CFLAGS = @CFLAGS@ -I ${srcdir}
- LDFLAGS = @LDFLAGS@
-
-@@ -67,8 +68,8 @@
- libgnurx-$(DLLVERSION).dll libgnurx.dll.a: $(OBJECTS)
- 	$(CC) $(CFLAGS) -shared -o libgnurx-$(DLLVERSION).dll $(LDFLAGS) $(OBJECTS)
-
--libregex.a: libgnurx.dll.a
--	cp -p libgnurx.dll.a $@
-+libregex.a: $(OBJECTS)
-+	$(AR) cru $@ $(OBJECTS)
-
- gnurx.lib: libgnurx-$(DLLVERSION).dll
diff -r cfb1783d4cb8 -r b045ac08fc9e samples/i686-pc-mingw32/crosstool.config
--- a/samples/i686-pc-mingw32/crosstool.config	Fri Nov 09 18:22:31 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@ 
-CT_EXPERIMENTAL=y
-CT_LOCAL_TARBALLS_DIR="${HOME}/src"
-CT_SAVE_TARBALLS=y
-CT_LOG_EXTRA=y
-CT_ARCH_ARCH="i686"
-CT_ARCH_x86=y
-CT_TARGET_VENDOR="pc"
-CT_KERNEL_mingw32=y
-CT_BINUTILS_V_2_21_1a=y
-CT_BINUTILS_PLUGINS=y
-CT_CC_V_4_4_5=y
-CT_CC_LANG_CXX=y
-CT_MINGW_DIRECTX=y
-CT_MINGW_OPENGL=y
-CT_MINGW_PDCURSES=y
-CT_MINGW_GNURX=y
-CT_GMP_V_4_3_2=y
-CT_MPFR_V_2_4_1=y
-CT_PPL_V_0_10_2=y
-CT_CLOOG_V_0_15_10=y
diff -r cfb1783d4cb8 -r b045ac08fc9e samples/i686-pc-mingw32/reported.by
--- a/samples/i686-pc-mingw32/reported.by	Fri Nov 09 18:22:31 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@ 
-reporter_name="Bart vdr. Meulen <bartvdrmeulen@gmail.com>"
-reporter_url=""
-reporter_comment="Config to build cross-compiler with mingw as kernel type"
diff -r cfb1783d4cb8 -r b045ac08fc9e samples/i686-unknown-mingw32/crosstool.config
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/samples/i686-unknown-mingw32/crosstool.config	Wed Nov 14 14:05:49 2012 +0100
@@ -0,0 +1,18 @@ 
+CT_EXPERIMENTAL=y
+CT_LOCAL_TARBALLS_DIR="${HOME}/src"
+CT_SAVE_TARBALLS=y
+CT_LOG_EXTRA=y
+CT_ARCH_ARCH="i686"
+CT_ARCH_32=y
+CT_ARCH_x86=y
+CT_KERNEL_windows=y
+CT_BINUTILS_V_2_21_1a=y
+CT_BINUTILS_PLUGINS=y
+CT_CC_V_4_5_2=y
+CT_CC_LANG_CXX=y
+CT_MINGW_DIRECTX=y
+CT_MINGW_DDK=y
+CT_GMP_V_4_3_2=y
+CT_MPFR_V_2_4_2=y
+CT_PPL_V_0_10_2=y
+CT_CLOOG_V_0_15_10=y
diff -r cfb1783d4cb8 -r b045ac08fc9e samples/i686-unknown-mingw32/reported.by
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/samples/i686-unknown-mingw32/reported.by	Wed Nov 14 14:05:49 2012 +0100
@@ -0,0 +1,4 @@ 
+reporter_name="Yann Diorcet <diorcet.yann@gmail.com>"
+reporter_url=""
+reporter_comment="Config to build cross-compiler with mingw as kernel type for
+32 bits Windows target"
diff -r cfb1783d4cb8 -r b045ac08fc9e samples/x86_64-unknown-mingw32/crosstool.config
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/samples/x86_64-unknown-mingw32/crosstool.config	Wed Nov 14 14:05:49 2012 +0100
@@ -0,0 +1,17 @@ 
+CT_EXPERIMENTAL=y
+CT_LOCAL_TARBALLS_DIR="${HOME}/src"
+CT_SAVE_TARBALLS=y
+CT_LOG_EXTRA=y
+CT_ARCH_64=y
+CT_ARCH_x86=y
+CT_KERNEL_windows=y
+CT_BINUTILS_V_2_21_1a=y
+CT_BINUTILS_PLUGINS=y
+CT_CC_V_4_5_2=y
+CT_CC_LANG_CXX=y
+CT_MINGW_DIRECTX=y
+CT_MINGW_DDK=y
+CT_GMP_V_4_3_2=y
+CT_MPFR_V_2_4_2=y
+CT_PPL_V_0_10_2=y
+CT_CLOOG_V_0_15_10=y
diff -r cfb1783d4cb8 -r b045ac08fc9e samples/x86_64-unknown-mingw32/reported.by
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/samples/x86_64-unknown-mingw32/reported.by	Wed Nov 14 14:05:49 2012 +0100
@@ -0,0 +1,4 @@ 
+reporter_name="Yann Diorcet <diorcet.yann@gmail.com>"
+reporter_url=""
+reporter_comment="Config to build cross-compiler with mingw as kernel type for
+64 bits Windows target"
diff -r cfb1783d4cb8 -r b045ac08fc9e scripts/build/kernel/mingw32.sh
--- a/scripts/build/kernel/mingw32.sh	Fri Nov 09 18:22:31 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@ 
-# This file declares functions to install the kernel headers for mingw
-# Copyright 2009 Bart vdr. Meulen
-# Licensed under the GPL v2. See COPYING in the root of this package
-
-CT_DoKernelTupleValues() {
-    CT_TARGET_KERNEL="mingw32"
-    CT_TARGET_SYS=
-}
-
-do_kernel_get() {
-    CT_GetFile "w32api-${CT_W32API_VERSION}-mingw32-src" \
-        http://downloads.sourceforge.net/sourceforge/mingw
-}
-
-do_kernel_extract() {
-    CT_Extract "w32api-${CT_W32API_VERSION}-mingw32-src"
-}
-
-do_kernel_headers() {
-    CT_DoStep INFO "Installing kernel headers"
-
-    mkdir -p "${CT_HEADERS_DIR}"
-    cp -r ${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32-src/include/*   \
-          ${CT_HEADERS_DIR}
-
-    CT_EndStep
-}
diff -r cfb1783d4cb8 -r b045ac08fc9e scripts/build/kernel/windows.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/build/kernel/windows.sh	Wed Nov 14 14:05:49 2012 +0100
@@ -0,0 +1,22 @@ 
+# This file declares functions to install the kernel headers for mingw64
+# Copyright 2012 Yann Diorcet
+# Licensed under the GPL v2. See COPYING in the root of this package
+
+CT_DoKernelTupleValues() {
+    # Even we compile for x86_64 target architecture, the target OS have to
+    # bet mingw32 (require by gcc and mingw-w64)
+    CT_TARGET_KERNEL="mingw32"
+    CT_TARGET_SYS=
+}
+
+do_kernel_get() {
+    :
+}
+
+do_kernel_extract() {
+    :
+}
+
+do_kernel_headers() {
+   :
+}
diff -r cfb1783d4cb8 -r b045ac08fc9e scripts/build/libc/mingw.sh
--- a/scripts/build/libc/mingw.sh	Fri Nov 09 18:22:31 2012 +0100
+++ b/scripts/build/libc/mingw.sh	Wed Nov 14 14:05:49 2012 +0100
@@ -1,36 +1,16 @@ 
-do_libc_get() {
-    CT_GetFile "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src" \
-        http://downloads.sourceforge.net/sourceforge/mingw
+# Copyright 2012 Yann Diorcet
+# Licensed under the GPL v2. See COPYING in the root of this package
 
-    if [ -n "${CT_MINGW_DIRECTX}" ]; then
-        CT_GetFile "directx-devel" \
-            http://www.libsdl.org/extras/win32/common
-    fi
-    if [ -n "${CT_MINGW_OPENGL}" ]; then
-        CT_GetFile "opengl-devel" \
-            http://www.libsdl.org/extras/win32/common
-    fi
-    if [ -n "${CT_MINGW_PDCURSES}" ]; then
-        CT_GetFile "PDCurses-${CT_MINGW_PDCURSES_VERSION}" \
-            http://downloads.sourceforge.net/sourceforge/pdcurses
-    fi
-    if [ -n "${CT_MINGW_GNURX}" ]; then
-        CT_GetFile "mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src" \
-            http://downloads.sourceforge.net/sourceforge/mingw
-    fi
+do_libc_get() { 
+    CT_GetFile "mingw-w64-v${CT_WINAPI_VERSION}" \
+        http://downloads.sourceforge.net/sourceforge/mingw-w64
 }
 
 do_libc_extract() {
-    CT_Extract "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src"
-
-    if [ -n "${CT_MINGW_PDCURSES}" ]; then
-        CT_Extract "PDCurses-${CT_MINGW_PDCURSES_VERSION}"
-        CT_Patch "PDCurses" "${CT_MINGW_PDCURSES_VERSION}"
-    fi
-    if [ -n "${CT_MINGW_GNURX}" ]; then
-        CT_Extract "mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src"
-        CT_Patch "mingw-libgnurx" "${CT_MINGW_GNURX_VERSION}-src"
-    fi
+    CT_Extract "mingw-w64-v${CT_WINAPI_VERSION}"
+    CT_Pushd "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/"
+    CT_Patch nochdir mingw-w64 "${CT_WINAPI_VERSION}"
+    CT_Popd
 }
 
 do_libc_check_config() {
@@ -38,119 +18,65 @@ 
 }
 
 do_libc_start_files() {
+    local -a sdk_opts
     CT_DoStep INFO "Installing C library headers"
 
-    CT_DoLog EXTRA "Installing MinGW Runtime headers"
-    mkdir -p "${CT_HEADERS_DIR}"
-    cp -r ${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32-src/include/* \
-          ${CT_HEADERS_DIR}
+    case "${CT_MINGW_DIRECTX}:${CT_MINGW_DDK}" in
+        y:y)    sdk_opt="--enable-sdk=all";;
+        y:)     sdk_opt="--enable-sdk=directx";;
+        :y)     sdk_opt="--enable-sdk=ddk";;
+        :)      sdk_opt="";;
+    esac
+
+    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-headers"
+
+    CT_DoLog EXTRA "Configuring Headers"
+
+    CT_DoExecLog CFG        \
+    "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/mingw-w64-headers/configure" \
+	--build=${CT_BUILD} \
+        --host=${CT_TARGET} \
+        --prefix=/usr       \
+        "${sdk_opt}"        \
+
+    CT_DoLog EXTRA "Compile Headers"
+    CT_DoExecLog ALL make
+
+    CT_DoLog EXTRA "Installing Headers"
+    CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
+    
+    CT_Popd
 
     # It seems mingw is strangely set up to look into /mingw instead of
     # /usr (notably when looking for the headers). This symlink is
     # here to workaround this, and seems to be here to last... :-/
-    CT_DoExecLog ALL ln -sv "usr" "${CT_SYSROOT_DIR}/mingw"
+    CT_DoExecLog ALL ln -sv "usr/${CT_TARGET}" "${CT_SYSROOT_DIR}/mingw"
 
     CT_EndStep
 }
 
 do_libc() {
-    CT_DoStep INFO "Building MinGW files"
+    CT_DoStep INFO "Building mingw-w64 files"
 
-    CT_DoLog EXTRA "Configuring W32-API"
+    CT_DoLog EXTRA "Configuring mingw-w64-crt"
 
-    mkdir -p "${CT_BUILD_DIR}/build-w32api"
-    cd "${CT_BUILD_DIR}/build-w32api"
+    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-crt"
 
-    CT_DoExecLog CFG                                                  \
-    CFLAGS="-I${CT_HEADERS_DIR}"                                      \
-    LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                                 \
-    "${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32-src/configure" \
-        --prefix=${CT_SYSROOT_DIR}                                    \
-        --includedir=${CT_HEADERS_DIR}                                \
-        --host=${CT_TARGET}
+    CT_DoExecLog CFG                                                        \
+    "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/mingw-w64-crt/configure" \
+        --prefix=/usr                                                       \
+        --build=${CT_BUILD}                                                 \
+        --host=${CT_TARGET}                                                 \
 
-    CT_DoLog EXTRA "Building W32-API"
+    CT_DoLog EXTRA "Building mingw-w64-crt"
     CT_DoExecLog ALL make ${JOBSFLAGS}
 
-    CT_DoLog EXTRA "Installing W32-API"
-    CT_DoExecLog ALL make install
-
-    CT_DoLog EXTRA "Configuring MinGW Runtime"
-
-    mkdir -p "${CT_BUILD_DIR}/build-mingwrt"
-    cd "${CT_BUILD_DIR}/build-mingwrt"
-
-    CT_DoExecLog CFG                                                    \
-    CFLAGS="-I${CT_HEADERS_DIR}"                                        \
-    LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                                   \
-    "${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32-src/configure" \
-        --prefix=${CT_SYSROOT_DIR}/                                     \
-        --includedir=${CT_HEADERS_DIR}                                  \
-        --host=${CT_TARGET}
-
-    CT_DoLog EXTRA "Building MinGW Runtime"
-    CT_DoExecLog ALL make ${JOBSFLAGS}
-
-    CT_DoLog EXTRA "Installing MinGW Runtime"
-    CT_DoExecLog ALL make install
+    CT_DoLog EXTRA "Installing mingw-w64-crt"
+    CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
 
     CT_EndStep
 }
 
 do_libc_finish() {
-    CT_DoStep INFO "Installing MinGW Development libraries"
-
-    CT_Pushd "${CT_SYSROOT_DIR}"
-    if [ -n "${CT_MINGW_DIRECTX}" ]; then
-        CT_DoLog EXTRA "Installing DirectX development package"
-        CT_Extract nochdir "directx-devel"
-    fi
-    if [ -n "${CT_MINGW_OPENGL}" ]; then
-        CT_DoLog EXTRA "Installing OpenGL development package"
-        CT_Extract nochdir "opengl-devel"
-    fi
-    CT_Popd
-
-    if [ -n "${CT_MINGW_PDCURSES}" ]; then
-        CT_DoLog EXTRA "Building PDCurses development files"
-        mkdir -p "${CT_BUILD_DIR}/build-pdcurses"
-        cd "${CT_BUILD_DIR}/build-pdcurses"
-
-        make -f ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/win32/mingwin32.mak libs \
-            PDCURSES_SRCDIR=${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION} \
-            CROSS_COMPILE=${CT_TARGET}-
-
-        CT_DoLog EXTRA "Installing PDCurses development files"
-        chmod a+r ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h
-        cp ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h \
-           ${CT_HEADERS_DIR}/
-        cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libpdcurses.a
-        cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libncurses.a
-    fi
-
-    if [ -n "${CT_MINGW_GNURX}" ]; then
-        CT_DoLog EXTRA "Configuring GnuRX development files"
-
-        mkdir -p "${CT_BUILD_DIR}/build-gnurx"
-        cd "${CT_BUILD_DIR}/build-gnurx"
-
-        CT_DoExecLog CFG                                                        \
-        CFLAGS="${CT_CFLAGS_FOR_TARGET}"                                        \
-        "${CT_SRC_DIR}/mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src/configure"  \
-            --build=${CT_BUILD}                                                 \
-            --host=${CT_TARGET}                                                 \
-            --prefix=${CT_SYSROOT_DIR}                                          \
-            --includedir=${CT_HEADERS_DIR}                                      \
-            --enable-shared                                                     \
-            --enable-static
-
-        CT_DoLog EXTRA "Building GnuRX development files"
-        CT_DoExecLog ALL make ${JOBSFLAGS}
-
-        CT_DoLog EXTRA "Installing GnuRX development files"
-        CT_DoExecLog ALL make install-dev
-    fi
-
-    CT_EndStep
+    :
 }
-