summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/companion_libs/isl.in5
-rw-r--r--docs/B - Known issues.txt8
-rw-r--r--patches/binutils/2.25/300-012_check_ldrunpath_length.patch2
-rw-r--r--scripts/build/libc/glibc.sh4
-rw-r--r--scripts/build/libc/mingw.sh31
5 files changed, 42 insertions, 8 deletions
diff --git a/config/companion_libs/isl.in b/config/companion_libs/isl.in
index a6b53fb..92e659b 100644
--- a/config/companion_libs/isl.in
+++ b/config/companion_libs/isl.in
@@ -6,6 +6,10 @@ choice
# Don't remove next line
# CT_INSERT_VERSION_BELOW
+config ISL_V_0_14
+ bool
+ prompt "0.14"
+
config ISL_V_0_12_2
bool
prompt "0.12.2"
@@ -20,5 +24,6 @@ config ISL_VERSION
string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
+ default "0.14" if ISL_V_0_14
default "0.12.2" if ISL_V_0_12_2
default "0.11.1" if ISL_V_0_11_1
diff --git a/docs/B - Known issues.txt b/docs/B - Known issues.txt
index 656ac34..1d2db19 100644
--- a/docs/B - Known issues.txt
+++ b/docs/B - Known issues.txt
@@ -79,15 +79,15 @@ Symptoms:
Explanations:
This is not related to crosstool-NG. Mounts under Cygwin are by default not
- case-sensitive. You have to use so-called "managed" mounts. See:
- http://cygwin.com/faq.html section 4, question 32.
+ case-sensitive. You have to change a registry setting to disable
+ case-insensitivity. See:
+ http://cygwin.com/faq.html section 4, question 30.
Status:
DEPRECATED
Fix:
- Use "managed" mounts for the directories where you build *and* install your
- toolchains.
+ Change the registry value as per the instructions on the Cygwin website.
Workaround:
None.
diff --git a/patches/binutils/2.25/300-012_check_ldrunpath_length.patch b/patches/binutils/2.25/300-012_check_ldrunpath_length.patch
index 16365b9..f1f31af 100644
--- a/patches/binutils/2.25/300-012_check_ldrunpath_length.patch
+++ b/patches/binutils/2.25/300-012_check_ldrunpath_length.patch
@@ -15,7 +15,7 @@ index 137446f..bb8391a 100644
rpath = command_line.rpath;
if (rpath == NULL)
rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
++ if ((rpath) && (*rpath == '\0'))
+ rpath = NULL;
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
diff --git a/scripts/build/libc/glibc.sh b/scripts/build/libc/glibc.sh
index 50adf95..672e672 100644
--- a/scripts/build/libc/glibc.sh
+++ b/scripts/build/libc/glibc.sh
@@ -371,6 +371,10 @@ do_libc_backend_once() {
;;
esac
+ CT_CFLAGS_FOR_BUILD+=" ${CT_EXTRA_CFLAGS_FOR_BUILD}"
+ CT_LDFLAGS_FOR_BUILD+=" ${CT_EXTRA_LDFLAGS_FOR_BUILD}"
+ extra_make_args+=( "BUILD_CFLAGS=${CT_CFLAGS_FOR_BUILD}" "BUILD_LDFLAGS=${CT_LDFLAGS_FOR_BUILD}" )
+
if [ "${libc_headers}" = "y" ]; then
CT_DoLog EXTRA "Installing C library headers"
diff --git a/scripts/build/libc/mingw.sh b/scripts/build/libc/mingw.sh
index 9a89df7..94b7705 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,33 @@ 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 \
+ --with-sysroot=${CT_SYSROOT_DIR} \
+ --prefix=${MINGW_INSTALL_PREFIX} \
--build=${CT_BUILD} \
--host=${CT_TARGET} \