diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2010-07-11 21:36:20 +0200 |
---|---|---|
committer | Bart vdr Meulen <bartvdrmeulen@gmail.com> | 2010-07-11 21:36:20 +0200 |
commit | b81d232a9bae21ef1bc896f106a926b66dcae869 (patch) | |
tree | f7d5dc20946087204ba17bde901acc70911bbd70 /config | |
parent | 7707f0fb542406fbfe8b1cf6f80ba488a135314a (diff) | |
download | crosstool-ng-b81d232a9bae21ef1bc896f106a926b66dcae869.tar.gz crosstool-ng-b81d232a9bae21ef1bc896f106a926b66dcae869.tar.bz2 crosstool-ng-b81d232a9bae21ef1bc896f106a926b66dcae869.zip |
kernel: add mingw
Add the option to build a cross-compiler for kernel type 'mingw'.
The resulting cross-compiler can be used to build applications on a Linux host
that can be run on a Windows target.
Compiler is build using the mingwrt and w32-api packages aviable from the
MinGW project (http://sourceforge.net/projects/mingw).
The windows headers (w32-api package) are extracting with the kernel_headers
step The libraries and other headers from both packages are build and
installed in the various steps of libc
Signed-off-by: Bart vdr Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: fix kernel headers comment, don't "return 0"]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Diffstat (limited to 'config')
-rw-r--r-- | config/kernel.in | 4 | ||||
-rw-r--r-- | config/kernel/mingw32.in | 32 | ||||
-rw-r--r-- | config/libc.in | 12 | ||||
-rw-r--r-- | config/libc/eglibc.in | 2 | ||||
-rw-r--r-- | config/libc/glibc.in | 2 | ||||
-rw-r--r-- | config/libc/mingw.in | 34 | ||||
-rw-r--r-- | config/libc/uClibc.in | 2 |
7 files changed, 85 insertions, 3 deletions
diff --git a/config/kernel.in b/config/kernel.in index 630eae64..446bd6bf 100644 --- a/config/kernel.in +++ b/config/kernel.in @@ -8,6 +8,10 @@ config BARE_METAL bool default n +config MINGW32 + bool + default n + # Each target OS (aka kernel) that support shared libraries can select # this, so the user can decide whether or not to build a shared library # enabled toolchain diff --git a/config/kernel/mingw32.in b/config/kernel/mingw32.in new file mode 100644 index 00000000..1496d052 --- /dev/null +++ b/config/kernel/mingw32.in @@ -0,0 +1,32 @@ +# mingw32 config options + +config KERNEL_mingw32 + 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/libc.in b/config/libc.in index 58bc320b..2ee46ba3 100644 --- a/config/libc.in +++ b/config/libc.in @@ -35,10 +35,16 @@ config LIBC_SUPPORT_LINUXTHREADS default n select LIBC_SUPPORT_THREADS_ANY +config LIBC_SUPPORT_WIN32THREADS + bool + default n + select LIBC_SUPPORT_THREADS_ANY + config THREADS string default "nptl" if THREADS_NPTL default "linuxthreads" if THREADS_LINUXTHREADS + default "win32" if THREADS_WIN32THREADS default "none" if THREADS_NONE || LIBC_none # No C library, no threads! @@ -51,6 +57,7 @@ choice prompt "Threading implementation to use:" default THREADS_NPTL if LIBC_SUPPORT_NPTL default THREADS_LINUXTHREADS if LIBC_SUPPORT_LINUXTHREADS && ! LIBC_SUPPORT_NPTL + default THREADS_WIN32 if LIBC_SUPPORT_WIN32THREADS default THREADS_NONE if ! LIBC_SUPPORT_THREADS_ANY config THREADS_NPTL @@ -63,6 +70,11 @@ config THREADS_LINUXTHREADS prompt "linuxthreads" depends on LIBC_SUPPORT_LINUXTHREADS +config THREADS_WIN32THREADS + bool + prompt "win32" + depends on LIBC_SUPPORT_WIN32THREADS + config THREADS_NONE bool prompt "none" diff --git a/config/libc/eglibc.in b/config/libc/eglibc.in index 0dc6848f..b13571b6 100644 --- a/config/libc/eglibc.in +++ b/config/libc/eglibc.in @@ -1,5 +1,5 @@ # eglibc options -# depends on ! BARE_METAL && ARCH_USE_MMU +# depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU config LIBC_eglibc select LIBC_SUPPORT_NPTL diff --git a/config/libc/glibc.in b/config/libc/glibc.in index b2fc88cf..3c904bc5 100644 --- a/config/libc/glibc.in +++ b/config/libc/glibc.in @@ -1,5 +1,5 @@ # glibc options -# depends on ! BARE_METAL && ARCH_USE_MMU +# depends on ! MINGW32 && ! BARE_METAL && ARCH_USE_MMU config LIBC_glibc select LIBC_SUPPORT_NPTL diff --git a/config/libc/mingw.in b/config/libc/mingw.in new file mode 100644 index 00000000..2c7bb0f9 --- /dev/null +++ b/config/libc/mingw.in @@ -0,0 +1,34 @@ +# mingw options +# depends on MINGW32 + +config LIBC_mingw + bool + select LIBC_SUPPORT_WIN32THREADS + help + The de-facto standard for Mingw distributions. + +choice + bool + prompt "Mingw runtime version" + +# Don't remove next line +# CT_INSERT_VERSION_BELOW +config MINGWRT_V_3_18 + bool + prompt "3.18" + +config MINGWRT_V_select + bool + prompt "Other version" + +endchoice + +config MINGWRT_VERSION + string + prompt "Mingw runtime version" if MINGWRT_V_select +# Don't remove next line +# CT_INSERT_VERSION_STRING_BELOW + default "3.18" if MINGWRT_V_3_18 + help + Enter the version number of the mingw runtime files to use + diff --git a/config/libc/uClibc.in b/config/libc/uClibc.in index b63239d1..aba8674d 100644 --- a/config/libc/uClibc.in +++ b/config/libc/uClibc.in @@ -1,5 +1,5 @@ # uClibc options -# depends on ! BARE_METAL +# depends on ! MINGW32 && ! BARE_METAL config LIBC_uClibc select LIBC_SUPPORT_LINUXTHREADS |