summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/kernel.in2
-rw-r--r--config/kernel/mingw32.in33
-rw-r--r--config/kernel/windows.in7
-rw-r--r--config/libc/eglibc.in2
-rw-r--r--config/libc/glibc.in2
-rw-r--r--config/libc/mingw.in25
-rw-r--r--config/libc/mingw.in.272
-rw-r--r--config/libc/uClibc.in2
-rw-r--r--patches/PDCurses/3.4/mingw32_cross_compile.patch87
-rw-r--r--patches/mingw-libgnurx/2.5.1/build-static-library.patch103
-rw-r--r--samples/i686-pc-mingw32/reported.by3
-rw-r--r--samples/i686-unknown-mingw32/crosstool.config (renamed from samples/i686-pc-mingw32/crosstool.config)12
-rw-r--r--samples/i686-unknown-mingw32/reported.by4
-rw-r--r--samples/x86_64-unknown-mingw32/crosstool.config17
-rw-r--r--samples/x86_64-unknown-mingw32/reported.by4
-rw-r--r--scripts/build/kernel/mingw32.sh27
-rw-r--r--scripts/build/kernel/windows.sh22
-rw-r--r--scripts/build/libc/mingw.sh173
18 files changed, 129 insertions, 468 deletions
diff --git a/config/kernel.in b/config/kernel.in
index 7e8cce8..64b69c6 100644
--- a/config/kernel.in
+++ b/config/kernel.in
@@ -7,7 +7,7 @@ menu "Operating System"
config BARE_METAL
bool
-config MINGW32
+config WINDOWS
bool
# Each target OS (aka kernel) that support shared libraries can select
diff --git a/config/kernel/mingw32.in b/config/kernel/mingw32.in
deleted file mode 100644
index f121e98..0000000
--- a/config/kernel/mingw32.in
+++ /dev/null
@@ -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 --git a/config/kernel/windows.in b/config/kernel/windows.in
new file mode 100644
index 0000000..209f0cf
--- /dev/null
+++ b/config/kernel/windows.in
@@ -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 --git a/config/libc/eglibc.in b/config/libc/eglibc.in
index d44c236..586b234 100644
--- a/config/libc/eglibc.in
+++ b/config/libc/eglibc.in
@@ -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 --git a/config/libc/glibc.in b/config/libc/glibc.in
index 0cf6287..e65c22b 100644
--- a/config/libc/glibc.in
+++ b/config/libc/glibc.in
@@ -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 --git a/config/libc/mingw.in b/config/libc/mingw.in
index c2b10e4..fddf1ed 100644
--- a/config/libc/mingw.in
+++ b/config/libc/mingw.in
@@ -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 "Windows 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 --git a/config/libc/mingw.in.2 b/config/libc/mingw.in.2
deleted file mode 100644
index e77c21b..0000000
--- a/config/libc/mingw.in.2
+++ /dev/null
@@ -1,72 +0,0 @@
-# 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 --git a/config/libc/uClibc.in b/config/libc/uClibc.in
index fc99e27..dec99d1 100644
--- a/config/libc/uClibc.in
+++ b/config/libc/uClibc.in
@@ -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 --git a/patches/PDCurses/3.4/mingw32_cross_compile.patch b/patches/PDCurses/3.4/mingw32_cross_compile.patch
deleted file mode 100644
index 060ff9a..0000000
--- a/patches/PDCurses/3.4/mingw32_cross_compile.patch
+++ /dev/null
@@ -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 --git a/patches/mingw-libgnurx/2.5.1/build-static-library.patch b/patches/mingw-libgnurx/2.5.1/build-static-library.patch
deleted file mode 100644
index ee7ab16..0000000
--- a/patches/mingw-libgnurx/2.5.1/build-static-library.patch
+++ /dev/null
@@ -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 --git a/samples/i686-pc-mingw32/reported.by b/samples/i686-pc-mingw32/reported.by
deleted file mode 100644
index 72caf08..0000000
--- a/samples/i686-pc-mingw32/reported.by
+++ /dev/null
@@ -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 --git a/samples/i686-pc-mingw32/crosstool.config b/samples/i686-unknown-mingw32/crosstool.config
index 5d3cb1a..f6f8dd2 100644
--- a/samples/i686-pc-mingw32/crosstool.config
+++ b/samples/i686-unknown-mingw32/crosstool.config
@@ -3,18 +3,16 @@ 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_TARGET_VENDOR="pc"
-CT_KERNEL_mingw32=y
+CT_KERNEL_windows=y
CT_BINUTILS_V_2_21_1a=y
CT_BINUTILS_PLUGINS=y
-CT_CC_V_4_4_5=y
+CT_CC_V_4_5_2=y
CT_CC_LANG_CXX=y
CT_MINGW_DIRECTX=y
-CT_MINGW_OPENGL=y
-CT_MINGW_PDCURSES=y
-CT_MINGW_GNURX=y
+CT_MINGW_DDK=y
CT_GMP_V_4_3_2=y
-CT_MPFR_V_2_4_1=y
+CT_MPFR_V_2_4_2=y
CT_PPL_V_0_10_2=y
CT_CLOOG_V_0_15_10=y
diff --git a/samples/i686-unknown-mingw32/reported.by b/samples/i686-unknown-mingw32/reported.by
new file mode 100644
index 0000000..3694d43
--- /dev/null
+++ b/samples/i686-unknown-mingw32/reported.by
@@ -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 --git a/samples/x86_64-unknown-mingw32/crosstool.config b/samples/x86_64-unknown-mingw32/crosstool.config
new file mode 100644
index 0000000..ab31b72
--- /dev/null
+++ b/samples/x86_64-unknown-mingw32/crosstool.config
@@ -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 --git a/samples/x86_64-unknown-mingw32/reported.by b/samples/x86_64-unknown-mingw32/reported.by
new file mode 100644
index 0000000..6540f43
--- /dev/null
+++ b/samples/x86_64-unknown-mingw32/reported.by
@@ -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 --git a/scripts/build/kernel/mingw32.sh b/scripts/build/kernel/mingw32.sh
deleted file mode 100644
index 24ab6c5..0000000
--- a/scripts/build/kernel/mingw32.sh
+++ /dev/null
@@ -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 --git a/scripts/build/kernel/windows.sh b/scripts/build/kernel/windows.sh
new file mode 100644
index 0000000..5e34420
--- /dev/null
+++ b/scripts/build/kernel/windows.sh
@@ -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 --git a/scripts/build/libc/mingw.sh b/scripts/build/libc/mingw.sh
index fcd7545..d8cbf71 100644
--- a/scripts/build/libc/mingw.sh
+++ b/scripts/build/libc/mingw.sh
@@ -1,36 +1,16 @@
-do_libc_get() {
- CT_GetFile "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src" \
- http://downloads.sourceforge.net/sourceforge/mingw
-
- 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
+# Copyright 2012 Yann Diorcet
+# Licensed under the GPL v2. See COPYING in the root of this package
+
+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,66 @@ do_libc_check_config() {
}
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_opts+=( "--enable-sdk=all" );;
+ y:) sdk_opts+=( "--enable-sdk=directx" );;
+ :y) sdk_opts+=( "--enable-sdk=ddk" );;
+ :) ;;
+ 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_opts[@]}"
+
+ 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
+ :
}
-