📄 fixincludes
字号:
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 + -