mirror of
https://github.com/crosstool-ng/crosstool-ng.git
synced 2025-03-10 22:43:56 +00:00
MinGW: add C++11 posix threads support
This commit is contained in:
parent
d7339f50a2
commit
6e3e735680
@ -35,6 +35,10 @@ config LIBC_SUPPORT_THREADS_LT
|
|||||||
config LIBC_SUPPORT_THREADS_NONE
|
config LIBC_SUPPORT_THREADS_NONE
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config LIBC_SUPPORT_THREADS_POSIX
|
||||||
|
bool
|
||||||
|
select LIBC_SUPPORT_THREADS_ANY
|
||||||
|
|
||||||
config LIBC_PROVIDES_CXA_ATEXIT
|
config LIBC_PROVIDES_CXA_ATEXIT
|
||||||
bool
|
bool
|
||||||
|
|
||||||
@ -52,6 +56,7 @@ choice
|
|||||||
prompt "Threading implementation to use:"
|
prompt "Threading implementation to use:"
|
||||||
default THREADS_NATIVE if LIBC_SUPPORT_THREADS_NATIVE
|
default THREADS_NATIVE if LIBC_SUPPORT_THREADS_NATIVE
|
||||||
default THREADS_THREADS_LT if LIBC_SUPPORT_THREADS_LT && ! LIBC_SUPPORT_THREADS_NATIVE
|
default THREADS_THREADS_LT if LIBC_SUPPORT_THREADS_LT && ! LIBC_SUPPORT_THREADS_NATIVE
|
||||||
|
default THREADS_THREADS_POSIX if LIBC_SUPPORT_THREADS_POSIX && ! LIBC_SUPPORT_THREADS_NATIVE && ! LIBC_SUPPORT_THREADS_LT
|
||||||
default THREADS_NONE if ! LIBC_SUPPORT_THREADS_ANY
|
default THREADS_NONE if ! LIBC_SUPPORT_THREADS_ANY
|
||||||
|
|
||||||
config THREADS_NATIVE
|
config THREADS_NATIVE
|
||||||
@ -70,6 +75,11 @@ config THREADS_LT
|
|||||||
prompt "linuxthreads"
|
prompt "linuxthreads"
|
||||||
depends on LIBC_SUPPORT_THREADS_LT
|
depends on LIBC_SUPPORT_THREADS_LT
|
||||||
|
|
||||||
|
config THREADS_POSIX
|
||||||
|
bool
|
||||||
|
prompt "posix"
|
||||||
|
depends on LIBC_SUPPORT_THREADS_POSIX
|
||||||
|
|
||||||
config THREADS_NONE
|
config THREADS_NONE
|
||||||
bool
|
bool
|
||||||
prompt "none"
|
prompt "none"
|
||||||
|
@ -3,12 +3,14 @@
|
|||||||
## depends on WINDOWS
|
## depends on WINDOWS
|
||||||
##
|
##
|
||||||
## select LIBC_SUPPORT_THREADS_NATIVE
|
## select LIBC_SUPPORT_THREADS_NATIVE
|
||||||
|
## select LIBC_SUPPORT_THREADS_POSIX
|
||||||
## select CC_CORE_PASS_2_NEEDED
|
## select CC_CORE_PASS_2_NEEDED
|
||||||
##
|
##
|
||||||
## help The de-facto standard for Mingw distributions.
|
## help The de-facto standard for Mingw distributions.
|
||||||
|
|
||||||
config THREADS
|
config THREADS
|
||||||
default "win32"
|
default "win32" if THREADS_NATIVE
|
||||||
|
default "posix" if THREADS_POSIX
|
||||||
|
|
||||||
choice
|
choice
|
||||||
bool
|
bool
|
||||||
|
@ -114,8 +114,35 @@ do_libc() {
|
|||||||
CT_DoExecLog ALL ${make} install DESTDIR=${CT_SYSROOT_DIR}
|
CT_DoExecLog ALL ${make} install DESTDIR=${CT_SYSROOT_DIR}
|
||||||
|
|
||||||
CT_EndStep
|
CT_EndStep
|
||||||
|
|
||||||
|
if [ "${CT_THREADS}" = "posix" ]; then
|
||||||
|
do_pthreads
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
do_libc_post_cc() {
|
do_libc_post_cc() {
|
||||||
:
|
:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_pthreads() {
|
||||||
|
CT_DoStep INFO "Building mingw-w64-winpthreads files"
|
||||||
|
|
||||||
|
CT_DoLog EXTRA "Configuring mingw-w64-winpthreads"
|
||||||
|
|
||||||
|
CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-winpthreads"
|
||||||
|
|
||||||
|
CT_DoExecLog CFG \
|
||||||
|
"${CT_SRC_DIR}/mingw-w64-${CT_WINAPI_VERSION_DOWNLOADED}/mingw-w64-libraries/winpthreads/configure" \
|
||||||
|
--with-sysroot=${CT_SYSROOT_DIR} \
|
||||||
|
--prefix=${MINGW_INSTALL_PREFIX} \
|
||||||
|
--build=${CT_BUILD} \
|
||||||
|
--host=${CT_TARGET} \
|
||||||
|
|
||||||
|
CT_DoLog EXTRA "Building mingw-w64-winpthreads"
|
||||||
|
CT_DoExecLog ALL ${make} ${JOBSFLAGS}
|
||||||
|
|
||||||
|
CT_DoLog EXTRA "Installing mingw-w64-winpthreads"
|
||||||
|
CT_DoExecLog ALL ${make} install DESTDIR=${CT_SYSROOT_DIR}
|
||||||
|
|
||||||
|
CT_EndStep
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user