--- gcc/fixincludes 2018/04/24 16:41:19 1.1.1.2 +++ gcc/fixincludes 2018/04/24 16:51:58 1.1.1.10 @@ -5,40 +5,105 @@ # This works properly on a Sun in system version 3.4; # for other versions, you had better check. -mkdir /usr/local/lib/gcc-include -for dir in sys sun sundev sunwindow; do - if [ -d /usr/include/$dir ]; then - mkdir /usr/local/lib/gcc-include/$dir - fi +# Directory in which to store the results. +LIB=/usr/local/lib/gcc-include + +# Determine whether this system has symbolic links. +if ln -s X $LIB/ShouldNotExist 2>/dev/null; then + rm -f $LIB/ShouldNotExist + LINKS=true +else + LINKS=false +fi + +echo 'Making directories:' +cd /usr/include +mkdir $LIB > /dev/null 2>&1 +if $LINKS; then + files=`ls -LR | sed -n s/:$//p` +else + files=`find . -type d -print` +fi +for file in $files; do + mkdir $LIB/$file > /dev/null 2>&1 done -cp /usr/include/sys/ioctl.h /usr/local/lib/gcc-include/sys/ioctl.h -chmod +w /usr/local/lib/gcc-include/sys/ioctl.h -ex /usr/local/lib/gcc-include/sys/ioctl.h < //p'` + if [ "$dest" ]; then + if expr $dest : '[^/].*' > /dev/null; then + rmdir ${LIB}/$file > /dev/null 2>&1 + rm -f ${LIB}/$file > /dev/null 2>&1 + ln -s $dest ${LIB}/$file > /dev/null 2>&1 + else # dont make links outside /usr/include + treetops="$treetops $dest ${LIB}/$file" + fi + fi + done +fi -for file in sys/mtio.h sys/vcmd.h sys/des.h \ - vaxuba/qvioctl.h \ - sun/dkio.h sun/fbio.h sun/gpio.h sun/ndio.h \ - sundev/kbio.h sundev/msio.h sundev/fpareg.h sundev/mcpcmd.h \ - sundev/msreg.h sundev/vuid_event.h sunwindow/win_ioctl.h; do - if [ -r /usr/include/$file ]; then - cp /usr/include/$file /usr/local/lib/gcc-include/$file - chmod +w /usr/local/lib/gcc-include/$file - ex /usr/local/lib/gcc-include/$file </dev/null 2>&1 \ + || echo "Can't copy $file" + chmod +w $2/$file + ex $2/$file </dev/null 2>&1; then + echo Deleting $2/$file\; no fixes were needed. + rm $2/$file + fi + fi + fi + done + shift; shift done -cp /usr/include/sys/ttychars.h /usr/local/lib/gcc-include/sys/ttychars.h -chmod +w /usr/local/lib/gcc-include/sys/ttychars.h -ex /usr/local/lib/gcc-include/sys/ttychars.h << EOF -g/CTRL/s/(\(.\))/('\1')/ -g/#define.CTRL/s/'c'/c/g -wq +# Fix one other error in this file: a mismatched quote not inside a C comment. +file=sundev/vuid_event.h +if [ -r $file ]; then + if [ ! -r ${LIB}/$file ]; then + cp $file ${LIB}/$file >/dev/null 2>&1 \ + || echo "Can't copy $file" + chmod +w ${LIB}/$file + fi +fi + +if [ -r ${LIB}/sundev/vuid_event.h ]; then + echo Fixing sundev/vuid_event.h comment + ex ${LIB}/sundev/vuid_event.h < /dev/null 2>&1 +done +