diff options
author | Nils Petter Eftedal <npe@icd.no> | 2015-03-24 15:07:51 +0100 |
---|---|---|
committer | Nils Petter Eftedal <npe@icd.no> | 2015-04-08 09:28:16 +0200 |
commit | 2392a3909d59fdbc20e1f5919b58cf1566bab281 (patch) | |
tree | 7658a5cfed5506f215a9359bdca92ef68c69a978 | |
parent | d74f1cc2561bf6ae6b0f21743402415408087654 (diff) | |
download | crosstool-ng-2392a3909d59fdbc20e1f5919b58cf1566bab281.tar.gz crosstool-ng-2392a3909d59fdbc20e1f5919b58cf1566bab281.tar.bz2 crosstool-ng-2392a3909d59fdbc20e1f5919b58cf1566bab281.zip |
mingw.sh: updated script to support mingw versions above major 2
Added new functions to support changes in prefix and required vendor tuple for new versions of mingw.
Tested and verified with mingw version 2.0.7, 3.3.0 and 4.0-rc3.
Signed-off-by: Nils Petter Eftedal <nilspetter@eftedal.org>
-rw-r--r-- | scripts/build/libc/mingw.sh | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/scripts/build/libc/mingw.sh b/scripts/build/libc/mingw.sh index 9a89df71..2d364cb8 100644 --- a/scripts/build/libc/mingw.sh +++ b/scripts/build/libc/mingw.sh @@ -17,6 +17,13 @@ do_libc_check_config() { : } +do_set_mingw_install_prefix(){ + MINGW_INSTALL_PREFIX=/usr/${CT_TARGET} + if [[ ${CT_WINAPI_VERSION} == 2* ]]; then + MINGW_INSTALL_PREFIX=/usr + fi +} + do_libc_start_files() { local -a sdk_opts @@ -33,11 +40,12 @@ do_libc_start_files() { CT_DoLog EXTRA "Configuring Headers" + do_set_mingw_install_prefix CT_DoExecLog CFG \ "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/mingw-w64-headers/configure" \ --build=${CT_BUILD} \ --host=${CT_TARGET} \ - --prefix=/usr \ + --prefix=${MINGW_INSTALL_PREFIX} \ "${sdk_opts[@]}" CT_DoLog EXTRA "Compile Headers" @@ -45,7 +53,7 @@ do_libc_start_files() { 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 @@ -56,16 +64,32 @@ do_libc_start_files() { CT_EndStep } +do_check_mingw_vendor_tuple() +{ + if [[ ${CT_WINAPI_VERSION} == 4* ]]; then + CT_DoStep INFO "Checking vendor tuple configured in crosstool-ng .config" + if [[ ${CT_TARGET_VENDOR} == w64 ]]; then + CT_DoLog EXTRA "The tuple is set to '${CT_TARGET_VENDOR}', as recommended by mingw-64 team." + else + CT_DoLog WARN "WARNING! The tuple '${CT_TARGET_VENDOR}', is not equal to w64 and might break the toolchain! WARNING!" + fi + CT_EndStep + fi +} + do_libc() { + do_check_mingw_vendor_tuple + CT_DoStep INFO "Building mingw-w64 files" CT_DoLog EXTRA "Configuring mingw-w64-crt" CT_mkdir_pushd "${CT_BUILD_DIR}/build-mingw-w64-crt" + do_set_mingw_install_prefix CT_DoExecLog CFG \ "${CT_SRC_DIR}/mingw-w64-v${CT_WINAPI_VERSION}/mingw-w64-crt/configure" \ - --prefix=/usr \ + --prefix=${MINGW_INSTALL_PREFIX} \ --build=${CT_BUILD} \ --host=${CT_TARGET} \ |