summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2016-12-05 08:05:56 (GMT)
committerAlexey Neyman <stilor@att.net>2016-12-06 18:33:20 (GMT)
commit7e44983388a85ba2ef721b302f97b8accad23ba6 (patch)
tree4ad81b0fed8e92dc49061d11d1f67ff7be0b1b2d /scripts
parent25f5b82d2e76971aa1c679c347fb3d3493f426b8 (diff)
Work around Cygwin idiosyncrasy.
Cygwin doesn't like directory names ending with a dot, e.g. "multilib_." Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/functions8
1 files changed, 7 insertions, 1 deletions
diff --git a/scripts/functions b/scripts/functions
index efdf304..6fc1793 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -1574,6 +1574,7 @@ CT_IterateMultilibs() {
local -a multilibs
local multi_dir multi_os_dir multi_root multi_flags multi_index multi_target
local root_suffix
+ local dir_postfix
# Name used internally below
if [ "${prefix}" = "sysroot-check" ]; then
@@ -1655,7 +1656,12 @@ CT_IterateMultilibs() {
multi_os_dir=.
fi
- CT_mkdir_pushd "${prefix}_${multi_dir//\//_}"
+ # Brain-dead Cygwin hack: Cygwin cannot run a binary if there is a directory
+ # component in the path that ends with a dot. Unfortunately, that's the case
+ # for the default library name with GCC.
+ dir_postfix=_${multi_dir//\//_}
+ dir_postfix=${dir_postfix%_.}
+ CT_mkdir_pushd "${prefix}${dir_postfix}"
$func multi_dir="${multi_dir}" \
multi_os_dir="${multi_os_dir}" \
multi_flags="${multi_flags}" \