libc/mingw: replace mingw32 with generic mingw
authorYann Diorcet <diorcet.yann@gmail.com>
Wed Nov 14 14:05:49 2012 +0100 (2012-11-14)
changeset 31126cb56b3f2d34
parent 3111 a9130ff13b19
child 3113 34b685c4069c
libc/mingw: replace mingw32 with generic mingw

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>
[yann.morin.1998@free.fr: array var in libc/mingw.sh, typos]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <b045ac08fc9eac2e5ee3.1352898499@blackmint>
Patchwork-Id: 198901
config/kernel.in
config/kernel/mingw32.in
config/kernel/windows.in
config/libc/eglibc.in
config/libc/glibc.in
config/libc/mingw.in
config/libc/mingw.in.2
config/libc/uClibc.in
patches/PDCurses/3.4/mingw32_cross_compile.patch
patches/mingw-libgnurx/2.5.1/build-static-library.patch
samples/i686-pc-mingw32/crosstool.config
samples/i686-pc-mingw32/reported.by
samples/i686-unknown-mingw32/crosstool.config
samples/i686-unknown-mingw32/reported.by
samples/x86_64-unknown-mingw32/crosstool.config
samples/x86_64-unknown-mingw32/reported.by
scripts/build/kernel/mingw32.sh
scripts/build/kernel/windows.sh
scripts/build/libc/mingw.sh
     1.1 --- a/config/kernel.in	Tue Nov 13 15:06:18 2012 +0000
     1.2 +++ b/config/kernel.in	Wed Nov 14 14:05:49 2012 +0100
     1.3 @@ -7,7 +7,7 @@
     1.4  config BARE_METAL
     1.5      bool
     1.6  
     1.7 -config MINGW32
     1.8 +config WINDOWS
     1.9      bool
    1.10  
    1.11  # Each target OS (aka kernel) that support shared libraries can select
     2.1 --- a/config/kernel/mingw32.in	Tue Nov 13 15:06:18 2012 +0000
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,33 +0,0 @@
     2.4 -# mingw32 config options
     2.5 -
     2.6 -## depends on EXPERIMENTAL && ( ARCH_x86 && ARCH_32 )
     2.7 -##
     2.8 -## select MINGW32
     2.9 -##
    2.10 -## help Build a toolchain targeting systems running Windows as host
    2.11 -
    2.12 -choice
    2.13 -    bool
    2.14 -    prompt "Windows api version"
    2.15 -
    2.16 -# Don't remove next line
    2.17 -# CT_INSERT_VERSION_BELOW
    2.18 -config W32API_V_3_14
    2.19 -    bool
    2.20 -    prompt "3.14"
    2.21 -
    2.22 -config W32API_V_select
    2.23 -    bool
    2.24 -    prompt "Other version"
    2.25 -
    2.26 -endchoice
    2.27 -
    2.28 -config W32API_VERSION
    2.29 -    string
    2.30 -    prompt "W32 api version" if W32API_V_select
    2.31 -# Don't remove next line
    2.32 -# CT_INSERT_VERSION_STRING_BELOW
    2.33 -    default "3.14" if W32API_V_3_14
    2.34 -    help
    2.35 -      Enter the version number of the windows api files to use
    2.36 -
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/config/kernel/windows.in	Wed Nov 14 14:05:49 2012 +0100
     3.3 @@ -0,0 +1,7 @@
     3.4 +# windows config options
     3.5 +
     3.6 +## depends on EXPERIMENTAL && ARCH_x86
     3.7 +##
     3.8 +## select WINDOWS
     3.9 +##
    3.10 +## help Build a toolchain targeting systems running Windows as host
     4.1 --- a/config/libc/eglibc.in	Tue Nov 13 15:06:18 2012 +0000
     4.2 +++ b/config/libc/eglibc.in	Wed Nov 14 14:05:49 2012 +0100
     4.3 @@ -1,6 +1,6 @@
     4.4  # eglibc options
     4.5  
     4.6 -## depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
     4.7 +## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU
     4.8  ##
     4.9  ## select LIBC_SUPPORT_NPTL
    4.10  ## select LIBC_SUPPORT_LINUXTHREADS
     5.1 --- a/config/libc/glibc.in	Tue Nov 13 15:06:18 2012 +0000
     5.2 +++ b/config/libc/glibc.in	Wed Nov 14 14:05:49 2012 +0100
     5.3 @@ -1,6 +1,6 @@
     5.4  # glibc options
     5.5  
     5.6 -## depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
     5.7 +## depends on ! WINDOWS && ! BARE_METAL && ARCH_USE_MMU
     5.8  ##
     5.9  ## select LIBC_SUPPORT_NPTL
    5.10  ##
     6.1 --- a/config/libc/mingw.in	Tue Nov 13 15:06:18 2012 +0000
     6.2 +++ b/config/libc/mingw.in	Wed Nov 14 14:05:49 2012 +0100
     6.3 @@ -1,6 +1,6 @@
     6.4  # mingw options
     6.5  
     6.6 -## depends on MINGW32
     6.7 +## depends on WINDOWS
     6.8  ##
     6.9  ## select LIBC_SUPPORT_WIN32THREADS
    6.10  ##
    6.11 @@ -8,26 +8,33 @@
    6.12  
    6.13  choice
    6.14      bool
    6.15 -    prompt "Mingw runtime version"
    6.16 +    prompt "Windows API version"
    6.17  
    6.18  # Don't remove next line
    6.19  # CT_INSERT_VERSION_BELOW
    6.20 -config MINGWRT_V_3_18
    6.21 +config WINAPI_V_2_0_7
    6.22      bool
    6.23 -    prompt "3.18"
    6.24 +    prompt "2.0.7"
    6.25  
    6.26 -config MINGWRT_V_select
    6.27 +config WINAPI_V_select
    6.28      bool
    6.29      prompt "Other version"
    6.30  
    6.31  endchoice
    6.32  
    6.33 -config MINGWRT_VERSION
    6.34 +config WINAPI_VERSION
    6.35      string
    6.36 -    prompt "Mingw runtime version" if MINGWRT_V_select
    6.37 +    prompt "Windows API version" if WINAPI_V_select
    6.38  # Don't remove next line
    6.39  # CT_INSERT_VERSION_STRING_BELOW
    6.40 -    default "3.18" if MINGWRT_V_3_18
    6.41 +    default "2.0.7" if WINAPI_V_2_0_7
    6.42      help
    6.43 -      Enter the version number of the mingw runtime files to use
    6.44 +      Enter the version number of the Windows API files to use
    6.45  
    6.46 +config MINGW_DIRECTX
    6.47 +    bool
    6.48 +    prompt "Include DirectX development files"
    6.49 +
    6.50 +config MINGW_DDK
    6.51 +    bool
    6.52 +    prompt "Include DDK development files"
     7.1 --- a/config/libc/mingw.in.2	Tue Nov 13 15:06:18 2012 +0000
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,72 +0,0 @@
     7.4 -# Part-2 of mingw C library options: development libraries
     7.5 -
     7.6 -config MINGW_DIRECTX
     7.7 -    bool
     7.8 -    prompt "Include DirectX development files"
     7.9 -
    7.10 -config MINGW_OPENGL
    7.11 -    bool
    7.12 -    prompt "Include OpenGL development files"
    7.13 -
    7.14 -config MINGW_PDCURSES
    7.15 -    bool
    7.16 -    prompt "Include PDCurses (NCurses library) development files"
    7.17 -
    7.18 -choice
    7.19 -    bool
    7.20 -    prompt "PDCurses library version"
    7.21 -    depends on MINGW_PDCURSES
    7.22 -
    7.23 -config MINGW_PDCURSES_V_3_4
    7.24 -    bool
    7.25 -    prompt "3.4"
    7.26 -
    7.27 -# CT_INSERT_VERSION_ABOVE
    7.28 -# Don't remove above line!
    7.29 -
    7.30 -config MINGW_PDCURSES_V_select
    7.31 -    bool
    7.32 -    prompt "Other version"
    7.33 -
    7.34 -endchoice
    7.35 -
    7.36 -config MINGW_PDCURSES_VERSION
    7.37 -    string
    7.38 -    prompt "PDCurses library version" if MINGW_PDCURSES_V_select
    7.39 -    default "3.4" if MINGW_PDCURSES_V_3_4
    7.40 -# CT_INSERT_VERSION_STRING_ABOVE
    7.41 -# Don't remove above line!
    7.42 -    help
    7.43 -      Enter the version number of the PDCurses library to use
    7.44 -
    7.45 -config MINGW_GNURX
    7.46 -    bool
    7.47 -    prompt "Include GnuRX (regex library) development files"
    7.48 -
    7.49 -choice
    7.50 -    bool
    7.51 -    prompt "GnuRX library version"
    7.52 -    depends on MINGW_GNURX
    7.53 -
    7.54 -config MINGW_GNURX_V_2_5_1
    7.55 -    bool
    7.56 -    prompt "2.5.1"
    7.57 -
    7.58 -# CT_INSERT_VERSION_ABOVE
    7.59 -# Don't remove above line!
    7.60 -
    7.61 -config MINGW_GNURX_V_select
    7.62 -    bool
    7.63 -    prompt "Other version"
    7.64 -
    7.65 -endchoice
    7.66 -
    7.67 -config MINGW_GNURX_VERSION
    7.68 -    string
    7.69 -    prompt "GnuRX library version" if MINGW_GNURX_V_select
    7.70 -    default "2.5.1" if MINGW_GNURX_V_2_5_1
    7.71 -# CT_INSERT_VERSION_STRING_ABOVE
    7.72 -# Don't remove above line!
    7.73 -    help
    7.74 -      Enter the version number of the Regex library to use
    7.75 -
     8.1 --- a/config/libc/uClibc.in	Tue Nov 13 15:06:18 2012 +0000
     8.2 +++ b/config/libc/uClibc.in	Wed Nov 14 14:05:49 2012 +0100
     8.3 @@ -1,6 +1,6 @@
     8.4  # uClibc options
     8.5  
     8.6 -## depends on ! MINGW32 && ! BARE_METAL
     8.7 +## depends on ! WINDOWS && ! BARE_METAL
     8.8  ##
     8.9  ## select LIBC_SUPPORT_LINUXTHREADS
    8.10  ## select LIBC_SUPPORT_THREADS_NONE
     9.1 --- a/patches/PDCurses/3.4/mingw32_cross_compile.patch	Tue Nov 13 15:06:18 2012 +0000
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,87 +0,0 @@
     9.4 ---- PDCurses-3.4.orig/win32/mingwin32.mak	2009-11-02 13:50:11.000000000 +0100
     9.5 -+++ PDCurses-3.4/win32/mingwin32.mak	2009-11-02 13:53:43.000000000 +0100
     9.6 -@@ -18,7 +18,7 @@
     9.7 -
     9.8 - PDCURSES_WIN_H	= $(osdir)/pdcwin.h
     9.9 -
    9.10 --CC		= gcc
    9.11 -+CC		= $(CROSS_COMPILE)gcc
    9.12 -
    9.13 - ifeq ($(DEBUG),Y)
    9.14 - 	CFLAGS  = -g -Wall -DPDCDEBUG
    9.15 -@@ -30,8 +30,8 @@
    9.16 -
    9.17 - CFLAGS += -I$(PDCURSES_SRCDIR)
    9.18 -
    9.19 --BASEDEF		= $(PDCURSES_SRCDIR)\exp-base.def
    9.20 --WIDEDEF		= $(PDCURSES_SRCDIR)\exp-wide.def
    9.21 -+BASEDEF		= $(PDCURSES_SRCDIR)/exp-base.def
    9.22 -+WIDEDEF		= $(PDCURSES_SRCDIR)/exp-wide.def
    9.23 -
    9.24 - DEFDEPS		= $(BASEDEF)
    9.25 -
    9.26 -@@ -46,17 +46,17 @@
    9.27 -
    9.28 - DEFFILE		= pdcurses.def
    9.29 -
    9.30 --LINK		= gcc
    9.31 -+LINK		= $(CROSS_COMPILE)gcc
    9.32 -
    9.33 - ifeq ($(DLL),Y)
    9.34 - 	CFLAGS += -DPDC_DLL_BUILD
    9.35 --	LIBEXE = gcc $(DEFFILE)
    9.36 -+	LIBEXE = $(CROSS_COMPILE)gcc $(DEFFILE)
    9.37 - 	LIBFLAGS = -Wl,--out-implib,pdcurses.a -shared -o
    9.38 - 	LIBCURSES = pdcurses.dll
    9.39 - 	LIBDEPS = $(LIBOBJS) $(PDCOBJS) $(DEFFILE)
    9.40 - 	CLEAN = $(LIBCURSES) *.a $(DEFFILE)
    9.41 - else
    9.42 --	LIBEXE = ar
    9.43 -+	LIBEXE = $(CROSS_COMPILE)ar
    9.44 - 	LIBFLAGS = rcv
    9.45 - 	LIBCURSES = pdcurses.a
    9.46 - 	LIBDEPS = $(LIBOBJS) $(PDCOBJS)
    9.47 -@@ -70,24 +70,24 @@
    9.48 - libs:	$(LIBCURSES)
    9.49 -
    9.50 - clean:
    9.51 --	-del *.o
    9.52 --	-del *.exe
    9.53 --	-del $(CLEAN)
    9.54 -+	-rm *.o
    9.55 -+	-rm *.exe
    9.56 -+	-rm $(CLEAN)
    9.57 -
    9.58 - demos:	$(DEMOS)
    9.59 --	strip *.exe
    9.60 -+	$(CROSS_COMPILE)strip *.exe
    9.61 -
    9.62 - $(DEFFILE): $(DEFDEPS)
    9.63 - 	echo LIBRARY pdcurses > $@
    9.64 - 	echo EXPORTS >> $@
    9.65 --	type $(BASEDEF) >> $@
    9.66 -+	cat $(BASEDEF) >> $@
    9.67 - ifeq ($(WIDE),Y)
    9.68 --	type $(WIDEDEF) >> $@
    9.69 -+	cat $(WIDEDEF) >> $@
    9.70 - endif
    9.71 -
    9.72 - $(LIBCURSES) : $(LIBDEPS)
    9.73 - 	$(LIBEXE) $(LIBFLAGS) $@ $?
    9.74 --	-copy pdcurses.a panel.a
    9.75 -+	-cp pdcurses.a panel.a
    9.76 -
    9.77 - $(LIBOBJS) $(PDCOBJS) : $(PDCURSES_HEADERS)
    9.78 - $(PDCOBJS) : $(PDCURSES_WIN_H)
    9.79 ---- PDCurses-3.4.orig/curses.h	2009-11-03 14:12:18.000000000 +0100
    9.80 -+++ PDCurses-3.4./curses.h	2009-11-03 14:14:09.000000000 +0100
    9.81 -@@ -82,7 +82,9 @@
    9.82 -  *
    9.83 -  */
    9.84 -
    9.85 -+#ifndef __bool_true_false_are_defined
    9.86 - typedef unsigned char bool;    /* PDCurses Boolean type */
    9.87 -+#endif
    9.88 -
    9.89 - #ifdef CHTYPE_LONG
    9.90 - # if _LP64
    10.1 --- a/patches/mingw-libgnurx/2.5.1/build-static-library.patch	Tue Nov 13 15:06:18 2012 +0000
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,103 +0,0 @@
    10.4 ---- mingw-libgnurx-2.5.1.orig/configure	2009-11-03 08:19:15.000000000 +0100
    10.5 -+++ mingw-libgnurx-2.5.1/configure	2009-11-03 08:31:37.000000000 +0100
    10.6 -@@ -273,7 +273,7 @@
    10.7 - PACKAGE_STRING='MinGW libgnurx 2.5.1'
    10.8 - PACKAGE_BUGREPORT='https://sourceforge.net/tracker/?group_id=2435&atid=102435'
    10.9 -
   10.10 --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'
   10.11 -+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'
   10.12 - ac_subst_files=''
   10.13 -
   10.14 - # Initialize some variables set by options.
   10.15 -@@ -2190,21 +2190,54 @@
   10.16 -
   10.17 - fi
   10.18 - rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
   10.19 --ac_ext=c
   10.20 --ac_cpp='$CPP $CPPFLAGS'
   10.21 --ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
   10.22 --ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
   10.23 --ac_compiler_gnu=$ac_cv_c_compiler_gnu
   10.24 -
   10.25 --  ac_ext=c
   10.26 -+
   10.27 -+for ac_prog in ar; do
   10.28 -+set dummy ${ac_tool_prefix}$ac_prog; ac_word=$2
   10.29 -+echo "$as_me:$LINENO: checking for $ac_word" >&5
   10.30 -+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
   10.31 -+if test "${ac_cv_prog_AR+set}" = set; then
   10.32 -+  echo $ECHO_N "(cached) $ECHO_C" >&6
   10.33 -+else
   10.34 -+  if test -n "$AR"; then
   10.35 -+  ac_cv_prog_AR="$AR" # Let the user override the test.
   10.36 -+else
   10.37 -+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
   10.38 -+for as_dir in $PATH
   10.39 -+do
   10.40 -+  IFS=$as_save_IFS
   10.41 -+  test -z "$as_dir" && as_dir=.
   10.42 -+  for ac_exec_ext in '' $ac_executable_extensions; do
   10.43 -+  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
   10.44 -+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
   10.45 -+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
   10.46 -+    break 2
   10.47 -+  fi
   10.48 -+done
   10.49 -+done
   10.50 -+
   10.51 -+  test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
   10.52 -+fi
   10.53 -+fi
   10.54 -+AR=$ac_cv_prog_AR
   10.55 -+if test -n "$AR"; then
   10.56 -+  echo "$as_me:$LINENO: result: $AR" >&5
   10.57 -+echo "${ECHO_T}$AR" >&6
   10.58 -+else
   10.59 -+  echo "$as_me:$LINENO: result: no" >&5
   10.60 -+echo "${ECHO_T}no" >&6
   10.61 -+fi
   10.62 -+done
   10.63 -+
   10.64 -+ac_ext=c
   10.65 - ac_cpp='$CPP $CPPFLAGS'
   10.66 - ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
   10.67 - ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
   10.68 - ac_compiler_gnu=$ac_cv_c_compiler_gnu
   10.69 -
   10.70 -- popCFLAGS=$CFLAGS
   10.71 -- echo 'int main(void){return 0;}' > conftest.$ac_ext
   10.72 -- echo "$as_me:$LINENO: checking whether $CC accepts the -mthreads option" >&5
   10.73 -+popCFLAGS=$CFLAGS
   10.74 -+echo 'int main(void){return 0;}' > conftest.$ac_ext
   10.75 -+echo "$as_me:$LINENO: checking whether $CC accepts the -mthreads option" >&5
   10.76 - echo $ECHO_N "checking whether $CC accepts the -mthreads option... $ECHO_C" >&6
   10.77 -    CFLAGS="$popCFLAGS $CC_QUALIFIED -mthreads"
   10.78 -    if (eval $ac_compile) 2>&5; then
   10.79 -@@ -3038,6 +3069,7 @@
   10.80 - s,@EXEEXT@,$EXEEXT,;t t
   10.81 - s,@OBJEXT@,$OBJEXT,;t t
   10.82 - s,@CC_QUALIFIED@,$CC_QUALIFIED,;t t
   10.83 -+s,@AR@,$AR,;t t
   10.84 - s,@DLLVERSION@,$DLLVERSION,;t t
   10.85 - s,@ZIPCMD@,$ZIPCMD,;t t
   10.86 - s,@ZIPEXT@,$ZIPEXT,;t t
   10.87 ---- mingw-libgnurx-2.5.1.orig/Makefile.in	2009-11-03 08:17:49.000000000 +0100
   10.88 -+++ mingw-libgnurx-2.5.1/Makefile.in	2009-11-03 08:57:37.000000000 +0100
   10.89 -@@ -39,6 +39,7 @@
   10.90 - mandir = @mandir@
   10.91 -
   10.92 - CC = @CC_QUALIFIED@
   10.93 -+AR = @AR@
   10.94 - CFLAGS = @CFLAGS@ -I ${srcdir}
   10.95 - LDFLAGS = @LDFLAGS@
   10.96 -
   10.97 -@@ -67,8 +68,8 @@
   10.98 - libgnurx-$(DLLVERSION).dll libgnurx.dll.a: $(OBJECTS)
   10.99 - 	$(CC) $(CFLAGS) -shared -o libgnurx-$(DLLVERSION).dll $(LDFLAGS) $(OBJECTS)
  10.100 -
  10.101 --libregex.a: libgnurx.dll.a
  10.102 --	cp -p libgnurx.dll.a $@
  10.103 -+libregex.a: $(OBJECTS)
  10.104 -+	$(AR) cru $@ $(OBJECTS)
  10.105 -
  10.106 - gnurx.lib: libgnurx-$(DLLVERSION).dll
    11.1 --- a/samples/i686-pc-mingw32/crosstool.config	Tue Nov 13 15:06:18 2012 +0000
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,20 +0,0 @@
    11.4 -CT_EXPERIMENTAL=y
    11.5 -CT_LOCAL_TARBALLS_DIR="${HOME}/src"
    11.6 -CT_SAVE_TARBALLS=y
    11.7 -CT_LOG_EXTRA=y
    11.8 -CT_ARCH_ARCH="i686"
    11.9 -CT_ARCH_x86=y
   11.10 -CT_TARGET_VENDOR="pc"
   11.11 -CT_KERNEL_mingw32=y
   11.12 -CT_BINUTILS_V_2_21_1a=y
   11.13 -CT_BINUTILS_PLUGINS=y
   11.14 -CT_CC_V_4_4_5=y
   11.15 -CT_CC_LANG_CXX=y
   11.16 -CT_MINGW_DIRECTX=y
   11.17 -CT_MINGW_OPENGL=y
   11.18 -CT_MINGW_PDCURSES=y
   11.19 -CT_MINGW_GNURX=y
   11.20 -CT_GMP_V_4_3_2=y
   11.21 -CT_MPFR_V_2_4_1=y
   11.22 -CT_PPL_V_0_10_2=y
   11.23 -CT_CLOOG_V_0_15_10=y
    12.1 --- a/samples/i686-pc-mingw32/reported.by	Tue Nov 13 15:06:18 2012 +0000
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,3 +0,0 @@
    12.4 -reporter_name="Bart vdr. Meulen <bartvdrmeulen@gmail.com>"
    12.5 -reporter_url=""
    12.6 -reporter_comment="Config to build cross-compiler with mingw as kernel type"
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/samples/i686-unknown-mingw32/crosstool.config	Wed Nov 14 14:05:49 2012 +0100
    13.3 @@ -0,0 +1,18 @@
    13.4 +CT_EXPERIMENTAL=y
    13.5 +CT_LOCAL_TARBALLS_DIR="${HOME}/src"
    13.6 +CT_SAVE_TARBALLS=y
    13.7 +CT_LOG_EXTRA=y
    13.8 +CT_ARCH_ARCH="i686"
    13.9 +CT_ARCH_32=y
   13.10 +CT_ARCH_x86=y
   13.11 +CT_KERNEL_windows=y
   13.12 +CT_BINUTILS_V_2_21_1a=y
   13.13 +CT_BINUTILS_PLUGINS=y
   13.14 +CT_CC_V_4_5_2=y
   13.15 +CT_CC_LANG_CXX=y
   13.16 +CT_MINGW_DIRECTX=y
   13.17 +CT_MINGW_DDK=y
   13.18 +CT_GMP_V_4_3_2=y
   13.19 +CT_MPFR_V_2_4_2=y
   13.20 +CT_PPL_V_0_10_2=y
   13.21 +CT_CLOOG_V_0_15_10=y
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/samples/i686-unknown-mingw32/reported.by	Wed Nov 14 14:05:49 2012 +0100
    14.3 @@ -0,0 +1,4 @@
    14.4 +reporter_name="Yann Diorcet <diorcet.yann@gmail.com>"
    14.5 +reporter_url=""
    14.6 +reporter_comment="Config to build cross-compiler with mingw as kernel type for
    14.7 +32 bits Windows target"
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/samples/x86_64-unknown-mingw32/crosstool.config	Wed Nov 14 14:05:49 2012 +0100
    15.3 @@ -0,0 +1,17 @@
    15.4 +CT_EXPERIMENTAL=y
    15.5 +CT_LOCAL_TARBALLS_DIR="${HOME}/src"
    15.6 +CT_SAVE_TARBALLS=y
    15.7 +CT_LOG_EXTRA=y
    15.8 +CT_ARCH_64=y
    15.9 +CT_ARCH_x86=y
   15.10 +CT_KERNEL_windows=y
   15.11 +CT_BINUTILS_V_2_21_1a=y
   15.12 +CT_BINUTILS_PLUGINS=y
   15.13 +CT_CC_V_4_5_2=y
   15.14 +CT_CC_LANG_CXX=y
   15.15 +CT_MINGW_DIRECTX=y
   15.16 +CT_MINGW_DDK=y
   15.17 +CT_GMP_V_4_3_2=y
   15.18 +CT_MPFR_V_2_4_2=y
   15.19 +CT_PPL_V_0_10_2=y
   15.20 +CT_CLOOG_V_0_15_10=y
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/samples/x86_64-unknown-mingw32/reported.by	Wed Nov 14 14:05:49 2012 +0100
    16.3 @@ -0,0 +1,4 @@
    16.4 +reporter_name="Yann Diorcet <diorcet.yann@gmail.com>"
    16.5 +reporter_url=""
    16.6 +reporter_comment="Config to build cross-compiler with mingw as kernel type for
    16.7 +64 bits Windows target"
    17.1 --- a/scripts/build/kernel/mingw32.sh	Tue Nov 13 15:06:18 2012 +0000
    17.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3 @@ -1,27 +0,0 @@
    17.4 -# This file declares functions to install the kernel headers for mingw
    17.5 -# Copyright 2009 Bart vdr. Meulen
    17.6 -# Licensed under the GPL v2. See COPYING in the root of this package
    17.7 -
    17.8 -CT_DoKernelTupleValues() {
    17.9 -    CT_TARGET_KERNEL="mingw32"
   17.10 -    CT_TARGET_SYS=
   17.11 -}
   17.12 -
   17.13 -do_kernel_get() {
   17.14 -    CT_GetFile "w32api-${CT_W32API_VERSION}-mingw32-src" \
   17.15 -        http://downloads.sourceforge.net/sourceforge/mingw
   17.16 -}
   17.17 -
   17.18 -do_kernel_extract() {
   17.19 -    CT_Extract "w32api-${CT_W32API_VERSION}-mingw32-src"
   17.20 -}
   17.21 -
   17.22 -do_kernel_headers() {
   17.23 -    CT_DoStep INFO "Installing kernel headers"
   17.24 -
   17.25 -    mkdir -p "${CT_HEADERS_DIR}"
   17.26 -    cp -r ${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32-src/include/*   \
   17.27 -          ${CT_HEADERS_DIR}
   17.28 -
   17.29 -    CT_EndStep
   17.30 -}
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/scripts/build/kernel/windows.sh	Wed Nov 14 14:05:49 2012 +0100
    18.3 @@ -0,0 +1,22 @@
    18.4 +# This file declares functions to install the kernel headers for mingw64
    18.5 +# Copyright 2012 Yann Diorcet
    18.6 +# Licensed under the GPL v2. See COPYING in the root of this package
    18.7 +
    18.8 +CT_DoKernelTupleValues() {
    18.9 +    # Even we compile for x86_64 target architecture, the target OS have to
   18.10 +    # bet mingw32 (require by gcc and mingw-w64)
   18.11 +    CT_TARGET_KERNEL="mingw32"
   18.12 +    CT_TARGET_SYS=
   18.13 +}
   18.14 +
   18.15 +do_kernel_get() {
   18.16 +    :
   18.17 +}
   18.18 +
   18.19 +do_kernel_extract() {
   18.20 +    :
   18.21 +}
   18.22 +
   18.23 +do_kernel_headers() {
   18.24 +   :
   18.25 +}
    19.1 --- a/scripts/build/libc/mingw.sh	Tue Nov 13 15:06:18 2012 +0000
    19.2 +++ b/scripts/build/libc/mingw.sh	Wed Nov 14 14:05:49 2012 +0100
    19.3 @@ -1,36 +1,16 @@
    19.4 -do_libc_get() {
    19.5 -    CT_GetFile "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src" \
    19.6 -        http://downloads.sourceforge.net/sourceforge/mingw
    19.7 +# Copyright 2012 Yann Diorcet
    19.8 +# Licensed under the GPL v2. See COPYING in the root of this package
    19.9  
   19.10 -    if [ -n "${CT_MINGW_DIRECTX}" ]; then
   19.11 -        CT_GetFile "directx-devel" \
   19.12 -            http://www.libsdl.org/extras/win32/common
   19.13 -    fi
   19.14 -    if [ -n "${CT_MINGW_OPENGL}" ]; then
   19.15 -        CT_GetFile "opengl-devel" \
   19.16 -            http://www.libsdl.org/extras/win32/common
   19.17 -    fi
   19.18 -    if [ -n "${CT_MINGW_PDCURSES}" ]; then
   19.19 -        CT_GetFile "PDCurses-${CT_MINGW_PDCURSES_VERSION}" \
   19.20 -            http://downloads.sourceforge.net/sourceforge/pdcurses
   19.21 -    fi
   19.22 -    if [ -n "${CT_MINGW_GNURX}" ]; then
   19.23 -        CT_GetFile "mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src" \
   19.24 -            http://downloads.sourceforge.net/sourceforge/mingw
   19.25 -    fi
   19.26 +do_libc_get() { 
   19.27 +    CT_GetFile "mingw-w64-v${CT_WINAPI_VERSION}" \
   19.28 +        http://downloads.sourceforge.net/sourceforge/mingw-w64
   19.29  }
   19.30  
   19.31  do_libc_extract() {
   19.32 -    CT_Extract "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src"
   19.33 -
   19.34 -    if [ -n "${CT_MINGW_PDCURSES}" ]; then
   19.35 -        CT_Extract "PDCurses-${CT_MINGW_PDCURSES_VERSION}"
   19.36 -        CT_Patch "PDCurses" "${CT_MINGW_PDCURSES_VERSION}"
   19.37 -    fi
   19.38 -    if [ -n "${CT_MINGW_GNURX}" ]; then
   19.39 -        CT_Extract "mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src"
   19.40 -        CT_Patch "mingw-libgnurx" "${CT_MINGW_GNURX_VERSION}-src"
   19.41 -    fi
   19.42 +    CT_Extract "mingw-w64-v${CT_WINAPI_VERSION}"
   19.43 +    CT_Pushd "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/"
   19.44 +    CT_Patch nochdir mingw-w64 "${CT_WINAPI_VERSION}"
   19.45 +    CT_Popd
   19.46  }
   19.47  
   19.48  do_libc_check_config() {
   19.49 @@ -38,119 +18,66 @@
   19.50  }
   19.51  
   19.52  do_libc_start_files() {
   19.53 +    local -a sdk_opts
   19.54 +
   19.55      CT_DoStep INFO "Installing C library headers"
   19.56  
   19.57 -    CT_DoLog EXTRA "Installing MinGW Runtime headers"
   19.58 -    mkdir -p "${CT_HEADERS_DIR}"
   19.59 -    cp -r ${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32-src/include/* \
   19.60 -          ${CT_HEADERS_DIR}
   19.61 +    case "${CT_MINGW_DIRECTX}:${CT_MINGW_DDK}" in
   19.62 +        y:y)    sdk_opts+=( "--enable-sdk=all"     );;
   19.63 +        y:)     sdk_opts+=( "--enable-sdk=directx" );;
   19.64 +        :y)     sdk_opts+=( "--enable-sdk=ddk"     );;
   19.65 +        :)      ;;
   19.66 +    esac
   19.67 +
   19.68 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-headers"
   19.69 +
   19.70 +    CT_DoLog EXTRA "Configuring Headers"
   19.71 +
   19.72 +    CT_DoExecLog CFG        \
   19.73 +    "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/mingw-w64-headers/configure" \
   19.74 +        --build=${CT_BUILD} \
   19.75 +        --host=${CT_TARGET} \
   19.76 +        --prefix=/usr       \
   19.77 +        "${sdk_opts[@]}"
   19.78 +
   19.79 +    CT_DoLog EXTRA "Compile Headers"
   19.80 +    CT_DoExecLog ALL make
   19.81 +
   19.82 +    CT_DoLog EXTRA "Installing Headers"
   19.83 +    CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
   19.84 +    
   19.85 +    CT_Popd
   19.86  
   19.87      # It seems mingw is strangely set up to look into /mingw instead of
   19.88      # /usr (notably when looking for the headers). This symlink is
   19.89      # here to workaround this, and seems to be here to last... :-/
   19.90 -    CT_DoExecLog ALL ln -sv "usr" "${CT_SYSROOT_DIR}/mingw"
   19.91 +    CT_DoExecLog ALL ln -sv "usr/${CT_TARGET}" "${CT_SYSROOT_DIR}/mingw"
   19.92  
   19.93      CT_EndStep
   19.94  }
   19.95  
   19.96  do_libc() {
   19.97 -    CT_DoStep INFO "Building MinGW files"
   19.98 +    CT_DoStep INFO "Building mingw-w64 files"
   19.99  
  19.100 -    CT_DoLog EXTRA "Configuring W32-API"
  19.101 +    CT_DoLog EXTRA "Configuring mingw-w64-crt"
  19.102  
  19.103 -    mkdir -p "${CT_BUILD_DIR}/build-w32api"
  19.104 -    cd "${CT_BUILD_DIR}/build-w32api"
  19.105 +    CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-crt"
  19.106  
  19.107 -    CT_DoExecLog CFG                                                  \
  19.108 -    CFLAGS="-I${CT_HEADERS_DIR}"                                      \
  19.109 -    LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                                 \
  19.110 -    "${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32-src/configure" \
  19.111 -        --prefix=${CT_SYSROOT_DIR}                                    \
  19.112 -        --includedir=${CT_HEADERS_DIR}                                \
  19.113 -        --host=${CT_TARGET}
  19.114 +    CT_DoExecLog CFG                                                        \
  19.115 +    "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/mingw-w64-crt/configure" \
  19.116 +        --prefix=/usr                                                       \
  19.117 +        --build=${CT_BUILD}                                                 \
  19.118 +        --host=${CT_TARGET}                                                 \
  19.119  
  19.120 -    CT_DoLog EXTRA "Building W32-API"
  19.121 +    CT_DoLog EXTRA "Building mingw-w64-crt"
  19.122      CT_DoExecLog ALL make ${JOBSFLAGS}
  19.123  
  19.124 -    CT_DoLog EXTRA "Installing W32-API"
  19.125 -    CT_DoExecLog ALL make install
  19.126 -
  19.127 -    CT_DoLog EXTRA "Configuring MinGW Runtime"
  19.128 -
  19.129 -    mkdir -p "${CT_BUILD_DIR}/build-mingwrt"
  19.130 -    cd "${CT_BUILD_DIR}/build-mingwrt"
  19.131 -
  19.132 -    CT_DoExecLog CFG                                                    \
  19.133 -    CFLAGS="-I${CT_HEADERS_DIR}"                                        \
  19.134 -    LDFLAGS="-L${CT_SYSROOT_DIR}/lib"                                   \
  19.135 -    "${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32-src/configure" \
  19.136 -        --prefix=${CT_SYSROOT_DIR}/                                     \
  19.137 -        --includedir=${CT_HEADERS_DIR}                                  \
  19.138 -        --host=${CT_TARGET}
  19.139 -
  19.140 -    CT_DoLog EXTRA "Building MinGW Runtime"
  19.141 -    CT_DoExecLog ALL make ${JOBSFLAGS}
  19.142 -
  19.143 -    CT_DoLog EXTRA "Installing MinGW Runtime"
  19.144 -    CT_DoExecLog ALL make install
  19.145 +    CT_DoLog EXTRA "Installing mingw-w64-crt"
  19.146 +    CT_DoExecLog ALL make install DESTDIR=${CT_SYSROOT_DIR}
  19.147  
  19.148      CT_EndStep
  19.149  }
  19.150  
  19.151  do_libc_finish() {
  19.152 -    CT_DoStep INFO "Installing MinGW Development libraries"
  19.153 -
  19.154 -    CT_Pushd "${CT_SYSROOT_DIR}"
  19.155 -    if [ -n "${CT_MINGW_DIRECTX}" ]; then
  19.156 -        CT_DoLog EXTRA "Installing DirectX development package"
  19.157 -        CT_Extract nochdir "directx-devel"
  19.158 -    fi
  19.159 -    if [ -n "${CT_MINGW_OPENGL}" ]; then
  19.160 -        CT_DoLog EXTRA "Installing OpenGL development package"
  19.161 -        CT_Extract nochdir "opengl-devel"
  19.162 -    fi
  19.163 -    CT_Popd
  19.164 -
  19.165 -    if [ -n "${CT_MINGW_PDCURSES}" ]; then
  19.166 -        CT_DoLog EXTRA "Building PDCurses development files"
  19.167 -        mkdir -p "${CT_BUILD_DIR}/build-pdcurses"
  19.168 -        cd "${CT_BUILD_DIR}/build-pdcurses"
  19.169 -
  19.170 -        make -f ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/win32/mingwin32.mak libs \
  19.171 -            PDCURSES_SRCDIR=${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION} \
  19.172 -            CROSS_COMPILE=${CT_TARGET}-
  19.173 -
  19.174 -        CT_DoLog EXTRA "Installing PDCurses development files"
  19.175 -        chmod a+r ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h
  19.176 -        cp ${CT_SRC_DIR}/PDCurses-${CT_MINGW_PDCURSES_VERSION}/*.h \
  19.177 -           ${CT_HEADERS_DIR}/
  19.178 -        cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libpdcurses.a
  19.179 -        cp pdcurses.a ${CT_SYSROOT_DIR}/lib/libncurses.a
  19.180 -    fi
  19.181 -
  19.182 -    if [ -n "${CT_MINGW_GNURX}" ]; then
  19.183 -        CT_DoLog EXTRA "Configuring GnuRX development files"
  19.184 -
  19.185 -        mkdir -p "${CT_BUILD_DIR}/build-gnurx"
  19.186 -        cd "${CT_BUILD_DIR}/build-gnurx"
  19.187 -
  19.188 -        CT_DoExecLog CFG                                                        \
  19.189 -        CFLAGS="${CT_CFLAGS_FOR_TARGET}"                                        \
  19.190 -        "${CT_SRC_DIR}/mingw-libgnurx-${CT_MINGW_GNURX_VERSION}-src/configure"  \
  19.191 -            --build=${CT_BUILD}                                                 \
  19.192 -            --host=${CT_TARGET}                                                 \
  19.193 -            --prefix=${CT_SYSROOT_DIR}                                          \
  19.194 -            --includedir=${CT_HEADERS_DIR}                                      \
  19.195 -            --enable-shared                                                     \
  19.196 -            --enable-static
  19.197 -
  19.198 -        CT_DoLog EXTRA "Building GnuRX development files"
  19.199 -        CT_DoExecLog ALL make ${JOBSFLAGS}
  19.200 -
  19.201 -        CT_DoLog EXTRA "Installing GnuRX development files"
  19.202 -        CT_DoExecLog ALL make install-dev
  19.203 -    fi
  19.204 -
  19.205 -    CT_EndStep
  19.206 +    :
  19.207  }
  19.208 -