1.1 --- a/config/kernel.in Sun Jul 11 14:26:52 2010 +0200
1.2 +++ b/config/kernel.in Sun Jul 11 21:36:20 2010 +0200
1.3 @@ -8,6 +8,10 @@
1.4 bool
1.5 default n
1.6
1.7 +config MINGW32
1.8 + bool
1.9 + default n
1.10 +
1.11 # Each target OS (aka kernel) that support shared libraries can select
1.12 # this, so the user can decide whether or not to build a shared library
1.13 # enabled toolchain
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/config/kernel/mingw32.in Sun Jul 11 21:36:20 2010 +0200
2.3 @@ -0,0 +1,32 @@
2.4 +# mingw32 config options
2.5 +
2.6 +config KERNEL_mingw32
2.7 + select MINGW32
2.8 + help
2.9 + Build a toolchain targeting systems running Windows as host
2.10 +
2.11 +choice
2.12 + bool
2.13 + prompt "Windows api version"
2.14 +
2.15 +# Don't remove next line
2.16 +# CT_INSERT_VERSION_BELOW
2.17 +config W32API_V_3_14
2.18 + bool
2.19 + prompt "3.14"
2.20 +
2.21 +config W32API_V_select
2.22 + bool
2.23 + prompt "Other version"
2.24 +
2.25 +endchoice
2.26 +
2.27 +config W32API_VERSION
2.28 + string
2.29 + prompt "W32 api version" if W32API_V_select
2.30 +# Don't remove next line
2.31 +# CT_INSERT_VERSION_STRING_BELOW
2.32 + default "3.14" if W32API_V_3_14
2.33 + help
2.34 + Enter the version number of the windows api files to use
2.35 +
3.1 --- a/config/libc.in Sun Jul 11 14:26:52 2010 +0200
3.2 +++ b/config/libc.in Sun Jul 11 21:36:20 2010 +0200
3.3 @@ -35,10 +35,16 @@
3.4 default n
3.5 select LIBC_SUPPORT_THREADS_ANY
3.6
3.7 +config LIBC_SUPPORT_WIN32THREADS
3.8 + bool
3.9 + default n
3.10 + select LIBC_SUPPORT_THREADS_ANY
3.11 +
3.12 config THREADS
3.13 string
3.14 default "nptl" if THREADS_NPTL
3.15 default "linuxthreads" if THREADS_LINUXTHREADS
3.16 + default "win32" if THREADS_WIN32THREADS
3.17 default "none" if THREADS_NONE || LIBC_none
3.18 # No C library, no threads!
3.19
3.20 @@ -51,6 +57,7 @@
3.21 prompt "Threading implementation to use:"
3.22 default THREADS_NPTL if LIBC_SUPPORT_NPTL
3.23 default THREADS_LINUXTHREADS if LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL
3.24 + default THREADS_WIN32 if LIBC_SUPPORT_WIN32THREADS
3.25 default THREADS_NONE if ! LIBC_SUPPORT_THREADS_ANY
3.26
3.27 config THREADS_NPTL
3.28 @@ -63,6 +70,11 @@
3.29 prompt "linuxthreads"
3.30 depends on LIBC_SUPPORT_LINUXTHREADS
3.31
3.32 +config THREADS_WIN32THREADS
3.33 + bool
3.34 + prompt "win32"
3.35 + depends on LIBC_SUPPORT_WIN32THREADS
3.36 +
3.37 config THREADS_NONE
3.38 bool
3.39 prompt "none"
4.1 --- a/config/libc/eglibc.in Sun Jul 11 14:26:52 2010 +0200
4.2 +++ b/config/libc/eglibc.in Sun Jul 11 21:36:20 2010 +0200
4.3 @@ -1,5 +1,5 @@
4.4 # eglibc options
4.5 -# depends on ! BARE_METAL && ARCH_USE_MMU
4.6 +# depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
4.7
4.8 config LIBC_eglibc
4.9 select LIBC_SUPPORT_NPTL
5.1 --- a/config/libc/glibc.in Sun Jul 11 14:26:52 2010 +0200
5.2 +++ b/config/libc/glibc.in Sun Jul 11 21:36:20 2010 +0200
5.3 @@ -1,5 +1,5 @@
5.4 # glibc options
5.5 -# depends on ! BARE_METAL && ARCH_USE_MMU
5.6 +# depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU
5.7
5.8 config LIBC_glibc
5.9 select LIBC_SUPPORT_NPTL
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/config/libc/mingw.in Sun Jul 11 21:36:20 2010 +0200
6.3 @@ -0,0 +1,34 @@
6.4 +# mingw options
6.5 +# depends on MINGW32
6.6 +
6.7 +config LIBC_mingw
6.8 + bool
6.9 + select LIBC_SUPPORT_WIN32THREADS
6.10 + help
6.11 + The de-facto standard for Mingw distributions.
6.12 +
6.13 +choice
6.14 + bool
6.15 + prompt "Mingw runtime version"
6.16 +
6.17 +# Don't remove next line
6.18 +# CT_INSERT_VERSION_BELOW
6.19 +config MINGWRT_V_3_18
6.20 + bool
6.21 + prompt "3.18"
6.22 +
6.23 +config MINGWRT_V_select
6.24 + bool
6.25 + prompt "Other version"
6.26 +
6.27 +endchoice
6.28 +
6.29 +config MINGWRT_VERSION
6.30 + string
6.31 + prompt "Mingw runtime version" if MINGWRT_V_select
6.32 +# Don't remove next line
6.33 +# CT_INSERT_VERSION_STRING_BELOW
6.34 + default "3.18" if MINGWRT_V_3_18
6.35 + help
6.36 + Enter the version number of the mingw runtime files to use
6.37 +
7.1 --- a/config/libc/uClibc.in Sun Jul 11 14:26:52 2010 +0200
7.2 +++ b/config/libc/uClibc.in Sun Jul 11 21:36:20 2010 +0200
7.3 @@ -1,5 +1,5 @@
7.4 # uClibc options
7.5 -# depends on ! BARE_METAL
7.6 +# depends on ! MINGW32 && ! BARE_METAL
7.7
7.8 config LIBC_uClibc
7.9 select LIBC_SUPPORT_LINUXTHREADS
8.1 --- a/scripts/build/cc/gcc.sh Sun Jul 11 14:26:52 2010 +0200
8.2 +++ b/scripts/build/cc/gcc.sh Sun Jul 11 21:36:20 2010 +0200
8.3 @@ -68,6 +68,8 @@
8.4 ,,nptl)
8.5 do_cc_core mode=shared build_libgcc=yes
8.6 ;;
8.7 + ,,win32) do_cc_core mode=static build_libgcc=yes
8.8 + ;;
8.9 *) if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
8.10 do_cc_core mode=static build_libgcc=yes
8.11 else
8.12 @@ -361,7 +363,12 @@
8.13 extra_config+=("--disable-libgomp")
8.14 fi
8.15 else
8.16 - extra_config+=("--enable-threads=posix")
8.17 + if [ "${CT_THREADS}" = "win32" ]; then
8.18 + extra_config+=("--enable-threads=win32")
8.19 + extra_config+=("--disable-win32-registry")
8.20 + else
8.21 + extra_config+=("--enable-threads=posix")
8.22 + fi
8.23 fi
8.24
8.25 if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/scripts/build/kernel/mingw32.sh Sun Jul 11 21:36:20 2010 +0200
9.3 @@ -0,0 +1,27 @@
9.4 +# This file declares functions to install the kernel headers for mingw
9.5 +# Copyright 2009 Bart vdr. Meulen
9.6 +# Licensed under the GPL v2. See COPYING in the root of this package
9.7 +
9.8 +CT_DoKernelTupleValues() {
9.9 + CT_TARGET_KERNEL="mingw32"
9.10 + CT_TARGET_SYS=
9.11 +}
9.12 +
9.13 +do_kernel_get() {
9.14 + CT_GetFile "w32api-${CT_W32API_VERSION}-mingw32-src" \
9.15 + http://downloads.sourceforge.net/sourceforge/mingw
9.16 +}
9.17 +
9.18 +do_kernel_extract() {
9.19 + CT_Extract "w32api-${CT_W32API_VERSION}-mingw32-src"
9.20 +}
9.21 +
9.22 +do_kernel_headers() {
9.23 + CT_DoStep INFO "Installing kernel headers"
9.24 +
9.25 + mkdir -p "${CT_SYSROOT_DIR}/include"
9.26 + cp -r ${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32/include \
9.27 + ${CT_SYSROOT_DIR}
9.28 +
9.29 + CT_EndStep
9.30 +}
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/scripts/build/libc/mingw.sh Sun Jul 11 21:36:20 2010 +0200
10.3 @@ -0,0 +1,74 @@
10.4 +do_libc_get() {
10.5 + CT_GetFile "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src" \
10.6 + http://downloads.sourceforge.net/sourceforge/mingw
10.7 +}
10.8 +
10.9 +do_libc_extract() {
10.10 + CT_Extract "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src"
10.11 +}
10.12 +
10.13 +do_libc_check_config() {
10.14 + :
10.15 +}
10.16 +
10.17 +do_libc_headers() {
10.18 + CT_DoStep INFO "Installing C library headers"
10.19 +
10.20 + CT_DoLog EXTRA "Installing MinGW Runtime headers"
10.21 + mkdir -p "${CT_SYSROOT_DIR}/include"
10.22 + cp -r ${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32/include \
10.23 + ${CT_SYSROOT_DIR}
10.24 +
10.25 + CT_EndStep
10.26 +}
10.27 +
10.28 +do_libc_start_files() {
10.29 + :
10.30 +}
10.31 +
10.32 +do_libc() {
10.33 + CT_DoStep INFO "Building MinGW files"
10.34 +
10.35 + CT_DoLog EXTRA "Configuring W32-API"
10.36 +
10.37 + mkdir -p "${CT_BUILD_DIR}/build-w32api"
10.38 + cd "${CT_BUILD_DIR}/build-w32api"
10.39 +
10.40 + CFLAGS="-I${CT_SYSROOT_DIR}/include" \
10.41 + LDFLAGS="-L${CT_SYSROOT_DIR}/lib" \
10.42 + CT_DoExecLog ALL \
10.43 + "${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32/configure" \
10.44 + --prefix=${CT_SYSROOT_DIR} \
10.45 + --host=${CT_TARGET}
10.46 +
10.47 + CT_DoLog EXTRA "Building W32-API"
10.48 + CT_DoExecLog ALL make ${PARALLELMFLAGS}
10.49 +
10.50 + CT_DoLog EXTRA "Installing W32-API"
10.51 + CT_DoExecLog ALL make install
10.52 +
10.53 + CT_DoLog EXTRA "Configuring MinGW Runtime"
10.54 +
10.55 + mkdir -p "${CT_BUILD_DIR}/build-mingwrt"
10.56 + cd "${CT_BUILD_DIR}/build-mingwrt"
10.57 +
10.58 + CFLAGS="-I${CT_SYSROOT_DIR}/include" \
10.59 + LDFLAGS="-L${CT_SYSROOT_DIR}/lib" \
10.60 + CT_DoExecLog ALL \
10.61 + "${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32/configure" \
10.62 + --prefix=${CT_SYSROOT_DIR}/ \
10.63 + --host=${CT_TARGET}
10.64 +
10.65 + CT_DoLog EXTRA "Building MinGW Runtime"
10.66 + CT_DoExecLog ALL make ${PARALLELMFLAGS}
10.67 +
10.68 + CT_DoLog EXTRA "Installing MinGW Runtime"
10.69 + CT_DoExecLog ALL make install
10.70 +
10.71 + CT_EndStep
10.72 +}
10.73 +
10.74 +do_libc_finish() {
10.75 + :
10.76 +}
10.77 +