summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/build/cc/gcc.sh9
-rw-r--r--scripts/build/kernel/mingw32.sh27
-rw-r--r--scripts/build/libc/mingw.sh74
3 files changed, 109 insertions, 1 deletions
diff --git a/scripts/build/cc/gcc.sh b/scripts/build/cc/gcc.sh
index c4373c1..3fb6ca0 100644
--- a/scripts/build/cc/gcc.sh
+++ b/scripts/build/cc/gcc.sh
@@ -68,6 +68,8 @@ do_cc_core_pass_2() {
,,nptl)
do_cc_core mode=shared build_libgcc=yes
;;
+ ,,win32) do_cc_core mode=static build_libgcc=yes
+ ;;
*) if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
do_cc_core mode=static build_libgcc=yes
else
@@ -361,7 +363,12 @@ do_cc() {
extra_config+=("--disable-libgomp")
fi
else
- extra_config+=("--enable-threads=posix")
+ if [ "${CT_THREADS}" = "win32" ]; then
+ extra_config+=("--enable-threads=win32")
+ extra_config+=("--disable-win32-registry")
+ else
+ extra_config+=("--enable-threads=posix")
+ fi
fi
if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then
diff --git a/scripts/build/kernel/mingw32.sh b/scripts/build/kernel/mingw32.sh
new file mode 100644
index 0000000..d10442b
--- /dev/null
+++ b/scripts/build/kernel/mingw32.sh
@@ -0,0 +1,27 @@
+# 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_SYSROOT_DIR}/include"
+ cp -r ${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32/include \
+ ${CT_SYSROOT_DIR}
+
+ CT_EndStep
+}
diff --git a/scripts/build/libc/mingw.sh b/scripts/build/libc/mingw.sh
new file mode 100644
index 0000000..28d74d6
--- /dev/null
+++ b/scripts/build/libc/mingw.sh
@@ -0,0 +1,74 @@
+do_libc_get() {
+ CT_GetFile "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src" \
+ http://downloads.sourceforge.net/sourceforge/mingw
+}
+
+do_libc_extract() {
+ CT_Extract "mingwrt-${CT_MINGWRT_VERSION}-mingw32-src"
+}
+
+do_libc_check_config() {
+ :
+}
+
+do_libc_headers() {
+ CT_DoStep INFO "Installing C library headers"
+
+ CT_DoLog EXTRA "Installing MinGW Runtime headers"
+ mkdir -p "${CT_SYSROOT_DIR}/include"
+ cp -r ${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32/include \
+ ${CT_SYSROOT_DIR}
+
+ CT_EndStep
+}
+
+do_libc_start_files() {
+ :
+}
+
+do_libc() {
+ CT_DoStep INFO "Building MinGW files"
+
+ CT_DoLog EXTRA "Configuring W32-API"
+
+ mkdir -p "${CT_BUILD_DIR}/build-w32api"
+ cd "${CT_BUILD_DIR}/build-w32api"
+
+ CFLAGS="-I${CT_SYSROOT_DIR}/include" \
+ LDFLAGS="-L${CT_SYSROOT_DIR}/lib" \
+ CT_DoExecLog ALL \
+ "${CT_SRC_DIR}/w32api-${CT_W32API_VERSION}-mingw32/configure" \
+ --prefix=${CT_SYSROOT_DIR} \
+ --host=${CT_TARGET}
+
+ CT_DoLog EXTRA "Building W32-API"
+ CT_DoExecLog ALL make ${PARALLELMFLAGS}
+
+ 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"
+
+ CFLAGS="-I${CT_SYSROOT_DIR}/include" \
+ LDFLAGS="-L${CT_SYSROOT_DIR}/lib" \
+ CT_DoExecLog ALL \
+ "${CT_SRC_DIR}/mingwrt-${CT_MINGWRT_VERSION}-mingw32/configure" \
+ --prefix=${CT_SYSROOT_DIR}/ \
+ --host=${CT_TARGET}
+
+ CT_DoLog EXTRA "Building MinGW Runtime"
+ CT_DoExecLog ALL make ${PARALLELMFLAGS}
+
+ CT_DoLog EXTRA "Installing MinGW Runtime"
+ CT_DoExecLog ALL make install
+
+ CT_EndStep
+}
+
+do_libc_finish() {
+ :
+}
+