X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=fixincludes%2Fmkfixinc.sh;h=c353d89be50c945f8c1c83b317446729ad6fc0ee;hp=b45f1795dcc10b40701802830ecd1a12d21e65fe;hb=36361c1a58cdd7237f8b7a00ff4422ce6b7734fb;hpb=c82cccdaff312f700bb0c7fd3490daafd8edc9a2 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 ;;