From 8231cb7414865db636b225045323e06dc1c103ae Mon Sep 17 00:00:00 2001 From: hjl Date: Tue, 23 Mar 2010 13:24:37 +0000 Subject: [PATCH] Fix stdlib.h for mingw. 2010-03-23 H.J. Lu PR target/40722 * mkfixinc.sh: Fix stdlib.h for mingw. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157665 138bc75d-0d04-0410-961f-82ee72b054a4 --- fixincludes/ChangeLog | 5 +++++ fixincludes/mkfixinc.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index fc917b0c6fa..513cfdd1ae4 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,8 @@ +2010-03-23 H.J. Lu + + PR target/40722 + * mkfixinc.sh: Fix stdlib.h for mingw. + 2010-02-19 Bruce Korb * inclhack.def: remove vestiges of inadvertently committed changes diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh index b45f1795dcc..c353d89be50 100755 --- a/fixincludes/mkfixinc.sh +++ b/fixincludes/mkfixinc.sh @@ -15,8 +15,6 @@ case $machine in i?86-moss-msdos* | \ i?86-*-pe | \ i?86-*-cygwin* | \ - i?86-*-mingw32* | \ - x86_64-*-mingw32* | \ i?86-*-interix* | \ *-*-vxworks* | \ powerpc-*-eabisim* | \ @@ -29,6 +27,51 @@ case $machine in (echo "#! /bin/sh" ; echo "exit 0" ) > ${target} ;; + i?86-*-mingw32* | \ + x86_64-*-mingw32*) + # We only want to fix stdlib.h in mingw. + # FIXME: Is SED available on mingw? + (cat > ${target} << EOF +#! /bin/sh + +OUTPUT_DIR=\$1 +if [ "x\$OUTPUT_DIR" = "x" ]; then + echo fixincludes: no output directory specified + exit 1 +fi + +if [ ! -d \$OUTPUT_DIR ]; then + echo fixincludes: output dir \"\$OUTPUT_DIR\" is an invalid directory + exit 1 +fi + +INPUT_DIR=\$2 +if [ "x\$INPUT_DIR" = "x" ]; then + echo fixincludes: no input directory specified + exit 1 +fi + +if [ ! -d \$INPUT_DIR ]; then + echo fixincludes: input dir \"\$INPUT_DIR\" is an invalid directory + exit 1 +fi + +INPUT_STDLIB_H=\$INPUT_DIR/stdlib.h +if [ ! -f \$INPUT_STDLIB_H ]; then + echo fixincludes: \"stdlib.h\" is an invalid file + exit 1 +fi + +OUTPUT_STDLIB_H=\$OUTPUT_DIR/stdlib.h +sed -e "s/\(.*_rotl.*\)/#if __GNUC__ < 4 || (__GNUC__ == 4 \&\& __GNUC_MINOR__ < 5)\n\1/" \ + -e "s/\(.*_lrotr.*\)/\1\n#else\n\#include \n#endif/" \ + \$INPUT_STDLIB_H > \$OUTPUT_STDLIB_H + +exit 0 +EOF +) + ;; + *) cat < ${srcdir}/fixinc.in > ${target} || exit 1 ;; -- 2.11.0