⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fixincludes

📁 GCC编译器源代码
💻
📖 第 1 页 / 共 5 页
字号:
    rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  fi  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# class in Xm/BaseClassI.hfile=Xm/BaseClassI.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  mkdir ${LIB}/sys 2>/dev/null  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/null  chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  if grep __cplusplus ${LIB}/$file >/dev/null 2>/dev/null; then    true;  else    echo Fixing $file, prototype parameter name    sed -e 's/ class[)]/ c_class)/g' ${LIB}/$file > ${LIB}/${file}.sed    rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  fi  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# NeXT 3.2 adds const prefix to some math functions. These conflict# with the built-in functions.file=ansi/math.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  echo Fixing $file  sed -e '/^extern.*double.*__const__.*sqrt(/s/__const__//' \      -e '/^extern.*double.*__const__.*fabs(/s/__const__//' \      -e '/^extern.*double.*__const__.*cos(/s/__const__//' \      -e '/^extern.*double.*__const__.*sin(/s/__const__//' ${LIB}/$file > ${LIB}/${file}.sed  rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# NeXT 3.2 uses the word "template" as a parameter for some # functions. GCC reports an invalid use of a reserved key word# with the built-in functions. NeXT 3.2 includes the keyword# volatile in the prototype for abort(). This conflicts with# the built-in definition.file=bsd/libc.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  echo Fixing $file  sed -e '/\(.*template\)/s/template//' \      -e '/extern.*volatile.*void.*abort/s/volatile//' ${LIB}/$file > ${LIB}/${file}.sed  rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# NeXT 3.2 includes the keyword volatile in the abort() and # exit() function prototypes. That conflicts with the # built-in functions.file=ansi/stdlib.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  echo Fixing $file  sed -e '/extern.*volatile.*void.*exit/s/volatile//' \      -e '/extern.*volatile.*void.*abort/s/volatile//' ${LIB}/$file > ${LIB}/${file}.sed  rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# sys/wait.h on AIX 3.2.5 puts the declaration of wait3 before the definition# of struct rusage, so the prototype (added by fixproto) causes havoc.file=sys/wait.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ] \  && grep 'bos325,' ${LIB}/$file >/dev/null; then  echo Fixing $file, wait3 declaration  sed -e '/^extern pid_t wait3();$/i\struct rusage;'\    ${LIB}/$file > ${LIB}/${file}.sed  rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# NeXT 2.0 defines 'int wait(union wait*)', which conflicts with Posix.1.# Note that version 3 of the NeXT system has wait.h in a different directory,# so that this code won't do anything.  But wait.h in version 3 has a# conditional, so it doesn't need this fix.  So everything is okay.file=sys/wait.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ] \  && grep 'wait[(]union wait' ${LIB}/$file >/dev/null; then  echo Fixing $file, bad wait formal  sed -e 's@wait(union wait@wait(void@' ${LIB}/$file > ${LIB}/${file}.sed  rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# Don't use or define the name va_list in stdio.h.# This is for ANSI and also to interoperate properly with gcc's varargs.h.file=stdio.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/null  chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  echo Fixing $file, use of va_list  # Arrange for stdio.h to use stdarg.h to define __gnuc_va_list  if egrep "__need___va_list" ${LIB}/$file >/dev/null 2>&1; then    touch ${LIB}/${file}.sed  else    (echo "#define __need___va_list"     echo "#include <stdarg.h>") > ${LIB}/${file}.sed  fi  # Use __gnuc_va_list in arg types in place of va_list.  # On 386BSD use __gnuc_va_list instead of _VA_LIST_. We're hoping the  # trailing parentheses and semicolon save all other systems from this.  # Define __va_list__ (something harmless and unused) instead of va_list.  # Don't claim to have defined va_list.  sed -e 's@ va_list @ __gnuc_va_list @' \      -e 's@ va_list)@ __gnuc_va_list)@' \      -e 's@ _BSD_VA_LIST_));@ __gnuc_va_list));@' \      -e 's@ _VA_LIST_));@ __gnuc_va_list));@' \      -e 's@ va_list@ __va_list__@' \      -e 's@\*va_list@*__va_list__@' \      -e 's@ __va_list)@ __gnuc_va_list)@' \      -e 's@GNUC_VA_LIST@GNUC_Va_LIST@' \      -e 's@_NEED___VA_LIST@_NEED___Va_LIST@' \      -e 's@VA_LIST@DUMMY_VA_LIST@' \      -e 's@_Va_LIST@_VA_LIST@' \    ${LIB}/$file >> ${LIB}/${file}.sed    rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# Cancel out ansi_compat.h on Ultrix.  Replace it with empty file.file=ansi_compat.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  if grep -s ULTRIX $file; then    echo "/* This file intentionally left blank.  */" > $LIB/$file  fifi# parameter to atof not const on DECstation Ultrix V4.0 and NEWS-OS 4.2R.# also get rid of bogus inline definitions in HP-UX 8.0file=math.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/null  chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  echo Fixing $file, non-const arg  sed -e 's@atof(\([ 	]*char[ 	]*\*[^)]*\))@atof(const \1)@' \      -e 's@inline int abs(int [a-z][a-z]*) {.*}@extern "C" int abs(int);@' \      -e 's@inline double abs(double [a-z][a-z]*) {.*}@@' \      -e 's@inline int sqr(int [a-z][a-z]*) {.*}@@' \      -e 's@inline double sqr(double [a-z][a-z]*) {.*}@@' \    ${LIB}/$file > ${LIB}/${file}.sed  rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# fix bogus recursive stdlib.h in NEWS-OS 4.0Cfile=stdlib.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/null  chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  echo Fixing $file, recursive inclusion  sed -e '/^#include <stdlib.h>/i\#if 0' \      -e '/^#include <stdlib.h>/a\#endif' \    ${LIB}/$file > ${LIB}/${file}.sed  rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# Avoid nested comments on Ultrix 4.3.file=rpc/svc.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  mkdir ${LIB}/rpc 2>/dev/null  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/null  chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  echo Fixing $file, nested comment  sed -e 's@^\( \*	int protocol;  \)/\*@\1*/ /*@' \    ${LIB}/$file > ${LIB}/$file.sed  rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# This file in RISC/os uses /**/ to concatenate two tokens.file=bsd43/bsd43_.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/null  chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  sed -e 's|/\*\*/|##|' ${LIB}/$file > ${LIB}/${file}.sed  rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fififile=rpc/rpc.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  mkdir ${LIB}/rpc 2>/dev/null  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/null  chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  echo Fixing $file, nested comment  sed -e 's@^\(/\*.*rpc/auth_des.h>.*\)/\*@\1*/ /*@' \    ${LIB}/$file > ${LIB}/$file.sed  rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file  if cmp $file ${LIB}/$file >/dev/null 2>&1; then    rm -f ${LIB}/$file  else    # Find any include directives that use "file".    for include in `egrep '^[       ]*#[    ]*include[      ]*"[^/]' ${LIB}/$file | sed -e 's/^[    ]*#[    ]*include[      ]*"\([^"]*\)".*$/\1/'`; do      dir=`echo $file | sed -e s'|/[^/]*$||'`      required="$required ${INPUT} $dir/$include ${LIB}/$dir/$include"    done  fifi# rpc/types.h on OSF1/2.0 is not C++ ready, even though NO_IMPLICIT_EXTERN_C# is defined for the alpha.  The problem is the declaration of malloc.file=rpc/types.hif [ -r $file ] && [ ! -r ${LIB}/$file ]; then  mkdir ${LIB}/rpc 2>/dev/null  cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"  chmod +w ${LIB}/$file 2>/dev/null  chmod a+r ${LIB}/$file 2>/dev/nullfiif [ -r ${LIB}/$file ]; then  if egrep '"C"' ${LIB}/$file >/dev/null 2>&1; then    true

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -