adb: ${OFILES}
${CC} -o adb ${OFILES}
-defs.h: mac.h mode.h
+defs.h: mode.h
mode.h: machine.h
access.o: defs.h access.c
format.o: defs.h format.c
input.o: defs.h input.c
main.o: defs.h main.c
-message.o: mac.h mode.h message.c
+message.o: mode.h message.c
${CC} -c -R message.c
pcs.o: defs.h pcs.c
print.o: defs.h print.c
#define MAXOFF 255
#define MAXPOS 80
#define MAXLIN 128
-#define EOR '\n'
-#define SP ' '
-#define TB '\t'
-#define QUOTE 0200
-#define STRIP 0177
-#define LOBYTE 0377
-#define EVEN -2
/* long to ints and back (puns) */
union {
--- /dev/null
+s/@/ATSIGN/g
+s/^/@/
+s/$/@/
+s/[^A-Za-z0-9_]\+/@&@/g
+
+# mac.h
+s/@TYPE@/@typedef@/g
+s/@STRUCT@/@struct@/g
+s/@UNION@/@union@/g
+s/@REG@/@register@/g
+
+s/@BEGIN@/@{NEWLINE @/g
+s/@END@/@}@/g
+
+s/@IF@/@if (NOWHITE@/g
+s/@THEN@/@NOWHITE) {NEWLINE @/g
+s/@ELSE@/@}NEWLINEelse {NEWLINE @/g
+s/@ELIF@/@}NEWLINEelse if (NOWHITE@/g
+s/@FI@/@}@/g
+
+s/@FOR@/@for (NOWHITE@/g
+s/@WHILE@/@while (NOWHITE@/g
+s/@DO@/@NOWHITE) {NEWLINE @/g
+s/@OD@/@}@/g
+s/@REP@/@do {NEWLINE @/g
+s/@PER@/@} while (NOWHITE@/g
+s/@DONE@/@NOWHITE);@/g
+s/@LOOP@/@for(;;) {NEWLINE @/g
+s/@POOL@/@}@/g
+
+s/@SKIP@/@;@/g
+s/@DIV@/@\/@/g
+s/@REM@/@%@/g
+s/@NEQ@/@^@/g
+s/@ANDF@/@\&\&@/g
+s/@ORF@/@||@/g
+
+s/@TRUE@/@-1@/g
+s/@FALSE@/@0@/g
+s/@LOBYTE@/@0377@/g
+s/@HIBYTE@/@0177400@/g
+s/@STRIP@/@0177@/g
+s/@HEXMSK@/@017@/g
+
+s/@SP@/@' '@/g
+s/@TB@/@'\\t'@/g
+s/@NL@/@'\\n'@/g
+
+# mode.h
+s/@ADDR@/@intptr_t@/g
+s/@INT@/@short@/g
+s/@VOID@/@void@/g
+s/@L_INT@/@long@/g
+s/@REAL@/@float@/g
+s/@L_REAL@/@double@/g
+s/@POS@/@unsigned@/g
+s/@BOOL@/@bool@/g
+s/@CHAR@/@char@/g
+s/@STRING@/@char*CHECKME@/g
+s/@MSG@/@char[]CHECKME@/g
+s/@MAP@/@struct map@/g
+s/@MAPPTR@/@struct map*CHECKME@/g
+s/@BKPT@/@struct bkpt@/g
+s/@BKPTR@/@struct bkpt*CHECKME@/g
+
+s/@REGLIST@/@struct reglist@/g
+s/@REGPTR@/@struct reglist*CHECKME@/g
+
+# defs.h
+s/@EOR@/@'\\n'@/g
+s/@SP@/@' '@/g
+s/@TB@/@'\\t'@/g
+s/@QUOTE@/@0200@/g
+s/@STRIP@/@0177@/g
+s/@LOBYTE@/@0377@/g
+s/@EVEN@/@-2@/g
+
+s/@//g
+s/ATSIGN/@/g
+
+s/{NEWLINE[ ]*\([^{}]*}\)/{ \1/g
+s/^\([ ]*\)\([^ {}][^{}]*\)\?\([{}]\)NEWLINE/\1\2\3\n\1/g
+s/\n\([ ]*\)\([^ {}][^{}]*\)\?\([{}]\)NEWLINE/\n\1\2\3\n\1/g
+s/\[\]CHECKME\([ ]*[A-Za-z_][0-9A-Za-z_]*\)\([ ]*;\)/\1[]\2/g
+s/\*CHECKME\([ ]*\)\([A-Za-z_][0-9A-Za-z_]*[ ]*;\)/\1*\2/g
+
+# nonessential normalization of whitespace:
+s/^\([ ]*\) /\1 /
+s/\n\([ ]*\) /\n\1 /
+s/^\([ ]*\) /\1 /
+s/\n\([ ]*\) /\n\1 /
+s/ / /g
+s/ / /g
+s/ / /g
+s/ / /g
+s/ / /g
+s/ / /g
+s/ / /g
--- /dev/null
+#!/bin/sh
+for i in *.c *.h
+do
+ sed -f demac.sed $i |\
+ sed -e 's/@/ATSIGN/g' |\
+ tr '\n' '@' |\
+ sed -e 's/[ @]*NOWHITE[ @]*//g' |\
+ tr '@' '\n' |\
+ sed -e 's/ATSIGN/@/g' >a
+ mv a $i
+done
+++ /dev/null
-/* mac.h 4.2 85/09/09 */
-
-/*
- * UNIX debugger
- */
-
-#define TYPE typedef
-#define STRUCT struct
-#define UNION union
-#define REG register
-
-#define BEGIN {
-#define END }
-
-#define IF if(
-#define THEN ){
-#define ELSE } else {
-#define ELIF } else if (
-#define FI }
-
-#define FOR for(
-#define WHILE while(
-#define DO ){
-#define OD }
-#define REP do{
-#define PER }while(
-#define DONE );
-#define LOOP for(;;){
-#define POOL }
-
-#define SKIP ;
-#define DIV /
-#define REM %
-#define NEQ ^
-#define ANDF &&
-#define ORF ||
-
-#define TRUE (-1)
-#define FALSE 0
-#define LOBYTE 0377
-#define HIBYTE 0177400
-#define STRIP 0177
-#define HEXMSK 017
-
-#define SP ' '
-#define TB '\t'
-#define NL '\n'
#define MAXCOM 64
#define MAXARG 32
#define LINSIZ 512
-TYPE long ADDR;
-TYPE short INT;
-TYPE int VOID;
-TYPE long int L_INT;
-TYPE float REAL;
-TYPE double L_REAL;
-TYPE unsigned POS;
-TYPE char BOOL;
-TYPE char CHAR;
-TYPE char *STRING;
-TYPE char MSG[];
-TYPE struct map MAP;
-TYPE MAP *MAPPTR;
-TYPE struct bkpt BKPT;
-TYPE BKPT *BKPTR;
+#ifdef __STDC__
+#include <stdint.h>
+#else
+typedef long intptr_t
+#endif
+typedef char bool;
/* file address maps */
struct map {
BKPT *nxtbkpt;
};
-TYPE struct reglist REGLIST;
-TYPE REGLIST *REGPTR;
struct reglist {
STRING rname;
INT roffs;
--- /dev/null
+s/@/ATSIGN/g
+s/^/@/
+s/$/@/
+s/[^A-Za-z0-9_]\+/@&@/g
+
+s/@printf@/@_printf@/g
+s/@access@/@_access@/g
+s/@ISP@/@_ISP@/g
+s/@KSP@/@_KSP@/g
+s/@ESP@/@_ESP@/g
+s/@SSP@/@_SSP@/g
+s/@USP@/@_USP@/g
+s/@R0@/@_R0@/g
+s/@R1@/@_R1@/g
+s/@R2@/@_R2@/g
+s/@R3@/@_R3@/g
+s/@R4@/@_R4@/g
+s/@R5@/@_R5@/g
+s/@R6@/@_R6@/g
+s/@R7@/@_R7@/g
+s/@R8@/@_R8@/g
+s/@R9@/@_R9@/g
+s/@R10@/@_R10@/g
+s/@R11@/@_R11@/g
+s/@AP@/@_AP@/g
+s/@FP@/@_FP@/g
+s/@PC@/@_PC@/g
+s/@PSL@/@_PSL@/g
+s/@P0BR@/@_P0BR@/g
+s/@P0LR@/@_P0LR@/g
+s/@P1BR@/@_P1BR@/g
+s/@P1LR@/@_P1LR@/g
+
+s/@//g
+s/ATSIGN/@/g
--- /dev/null
+diff --git a/cproto-4.6/lex.l b/cproto-4.6/lex.l
+index eee99ab..ec019bf 100644
+--- a/cproto-4.6/lex.l
++++ b/cproto-4.6/lex.l
+@@ -315,25 +315,28 @@ QUOTE [\"\']
+ <INITIAL>"{" {
+ save_text();
+ curly = 1;
++ fprintf(stderr, "\n\n\n{curly=1");
+ return_val =
+ returned_at = FALSE;
+ BEGIN CURLY;
+ return T_LBRACE;
+ }
+-<CURLY>"{" { save_text(); ++curly; }
++<CURLY>"{" { save_text(); ++curly; fprintf(stderr, "\n{curly=%d", curly); }
+ <CURLY>"}" {
+ save_text();
+ if (--curly == 0) {
++ fprintf(stderr, "\n}curly=0", curly);
+ BEGIN INITIAL;
+ return T_MATCHRBRACE;
+ }
++ fprintf(stderr, "\n}curly=%d", curly);
+ }
+ <CURLY>{QUOTE} get_quoted();
+ <CURLY>"return" { save_text(); returned_at = TRUE; }
+ <CURLY>";" { save_text(); returned_at = FALSE; }
+ <CURLY>#{WS}* { save_text(); startCpp(1); }
+ <CURLY>"??="{WS}* { save_text(); startCpp(1); }
+-<CURLY>. { save_text(); return_val |= returned_at; }
++<CURLY>. { save_text(); return_val |= returned_at; fputc(yytext[0], stderr); }
+
+ [ \r\t\f]+ save_text();
+ . {
+/* Nick */
+%define parse.error verbose
+%define parse.lac full
+
/* $Id: grammar.y,v 4.7 1998/01/21 00:55:55 cthuang Exp $
*
* yacc grammar for C function prototype generator
put_string(stdout, cur_file_name());
put_string(stdout, " */\n");
}
- yyparse();
+ if (yyparse())
+ fprintf(stderr, "warning: yyparse() aborted\n");
free_symbol_table(define_names);
free_symbol_table(typedef_names);
free_symbol_table(included_files);
char *stack[MAX_TEXT_SIZE/2];
int level = 0;
char *p = path, *q = path;
+ if (*p == '/')
+ *q++ = *p++;
stack[level++] = q;
while ((*q++ = *p++) != 0)
if (q[-1] == '/') {
--- /dev/null
+export ROOT=`pwd`
+export INCLUDE=$ROOT/cross/usr/include
+export SCRIPTS=$ROOT/scripts
+export PATH=$SCRIPTS:$PATH
#ROOT=`dirname $0`/..
ROOT=../..
+ROOT=`cd $ROOT && pwd`
+INCLUDE=$ROOT/cross/usr/include
#all_c=`echo *.c`
#if test "$all_c" = "*.c"
rm -f `find . -name '*.[ch].uses' -print`
rm -rf `find . -name .xify -print`
- rm -f `find $ROOT/cross/usr/include -name '*.h.allprotos' -print`
- rm -f `find $ROOT/cross/usr/include -name '*.h.nocomm' -print`
- rm -f `find $ROOT/cross/usr/include -name '*.h.oldprotos' -print`
- rm -f `find $ROOT/cross/usr/include -name '*.h.protos' -print`
- rm -f `find $ROOT/cross/usr/include -name '*.h.protos.nocomm' -print`
- rm -f `find $ROOT/cross/usr/include -name '*.h.usedby' -print`
- rm -f `find $ROOT/cross/usr/include -name '*.h.uses' -print`
- rm -rf `find $ROOT/cross/usr/include -name .xify -print`
+ rm -f `find $INCLUDE/g -name '*.h.allprotos' -print`
+ rm -f `find $INCLUDE/g -name '*.h.nocomm' -print`
+ rm -f `find $INCLUDE/g -name '*.h.oldprotos' -print`
+ rm -f `find $INCLUDE/g -name '*.h.protos' -print`
+ rm -f `find $INCLUDE/g -name '*.h.protos.nocomm' -print`
+ rm -f `find $INCLUDE/g -name '*.h.usedby' -print`
+ rm -f `find $INCLUDE/g -name '*.h.uses' -print`
+ rm -rf `find $INCLUDE/g -name .xify -print`
rm -f a b conflicts.temp oldprotos.txt oldprotos.temp xx*
#git checkout *.c *.h
rm -rf $ROOT/include $ROOT/sys
git checkout $ROOT/include $ROOT/sys $all_c
- rm -rf $ROOT/cross/usr/include
- mkdir -p $ROOT/cross/usr/include
+ rm -rf $INCLUDE/g
+ mkdir -p $INCLUDE/g
(cd $ROOT/include && ../scripts/make.sh SHARED=copies install)
fi
fi
# all_h=
#fi
#all_h=`find . -type f -name '*.h' -print |sed -e 's:^\./::' |LC_ALL=C sort`
-all_h=`find $ROOT/cross/usr/include -type f -name '*.h' -print |LC_ALL=C sort`
+all_h=`find $INCLUDE/g -type f -name '*.h' -print |LC_ALL=C sort`
-#std_h=`find $ROOT/cross/usr/include -type f -name '*.h' -print |grep -v "^$ROOT/cross/usr/include/stand/" |LC_ALL=C sort`
+#std_h=`find $INCLUDE/g -type f -name '*.h' -print |grep -v "^$ROOT/cross/usr/include/\(stand\|vaxif\|vaxmba\|vaxuba\)/" |LC_ALL=C sort`
std_h=
if test -z "$1" || test $1 -eq 1
grep '\.h:' oldprotos.txt >oldprotos.temp
sed -e 's/^[A-Za-z_].*__P.*;$/\/\*AAA&\*\//' -i $std_h
- mv $ROOT/cross/usr/include/varargs.h $ROOT/cross/usr/include/varargs.h.save
- echo "#define va_list char *" >$ROOT/cross/usr/include/varargs.h
- echo "#define va_list char *" >$ROOT/cross/usr/include/stdarg.h
+ mv $INCLUDE/g/varargs.h $ROOT/cross/usr/include/varargs.h.save
+ echo "#define va_list char *" >$INCLUDE/g/varargs.h
+ echo "#define va_list char *" >$INCLUDE/g/stdarg.h
for i in $all_c
do
echo "i=$i"
#group=
- group=$ROOT/cross/usr/include/`dirname $i`.h
+ group=$INCLUDE/g/`dirname $i`.h
touch $group
if test -f groups.txt
then
j=`sed -ne "s:^$i \\(.*\\):\\1:p" groups.txt`
if test -n "$j"
then
- j=$ROOT/cross/usr/include/$j
+ j=$INCLUDE/g/$j
echo $j >>$group.uses
group=$j
touch $group
fi
echo "group=$group"
- $ROOT/cproto-4.6/cproto -i$ROOT/cross/usr/include -Dvax -t -H -s $i |sed -ne '2,$p' >$i.allprotos
+ $ROOT/cproto-4.6/cproto -i$INCLUDE/g -Dvax -t -H -s $i |sed -ne '2,$p' >$i.allprotos
if ! grep -qv '^int main __P((' $i.allprotos
then
echo -n >$i.allprotos
fi
fi
done
- rm $ROOT/cross/usr/include/stdarg.h
- mv $ROOT/cross/usr/include/varargs.h.save $ROOT/cross/usr/include/varargs.h
+ rm $INCLUDE/g/stdarg.h
+ mv $INCLUDE/g/varargs.h.save $ROOT/cross/usr/include/varargs.h
sed -e 's/^\/\*AAA\(.*\)\*\/$/\1/' -i $std_h
fi
# all_h=
#fi
#all_h=`find . -type f -name '*.h' -print |sed -e 's:^\./::' |LC_ALL=C sort`
-all_h=`find $ROOT/cross/usr/include -type f -name '*.h' -print |LC_ALL=C sort`
+all_h=`find $INCLUDE/g -type f -name '*.h' -print |LC_ALL=C sort`
if test -z "$1" || test $1 -eq 2
then
for i in $all_h $std_h
do
echo "i=$i"
- h=`echo $i |sed -e "s:^$ROOT/cross/usr/include/::"`
+ h=`echo $i |sed -e "s:^$INCLUDE/g/::"`
echo "h=$h"
macros="`sed -ne 's/^#[ ]*define[ ]\+\([A-Za-z_][0-9A-Za-z_]*\).*/\1/p' $i.nocomm |grep -v '^\(NULL\|__P\)$'`"
for j in `sed -e 's/\.protos\.nocomm:.*//; s/\.nocomm:.*//' <a |sort |uniq`
do
echo "j=$j"
- k=`echo $j |sed -e "s:^$ROOT/cross/usr/include/::"`
+ k=`echo $j |sed -e "s:^$INCLUDE/g/::"`
echo "k=$k"
if ! grep -q ":$h:.*:$k\\|:$k:.*:$h:" conflicts.temp
then
for j in `sed -e 's/\.nocomm:.*//' <a |sort |uniq`
do
echo "j=$j"
- k=`echo $j |sed -e "s:^$ROOT/cross/usr/include/::"`
+ k=`echo $j |sed -e "s:^$INCLUDE/g/::"`
echo "k=$k"
if ! grep -q ":$h:.*:$k\\|:$k:.*:$h:" conflicts.temp
then
pattern=
prefix=
- for j in `sed -e "s:^$ROOT/cross/usr/include/::" a`
+ for j in `sed -e "s:^$INCLUDE/g/::" a`
do
pattern="$pattern$prefix$j"
prefix='\|'
(
if test -s a
then
- sed -e "s:.*:#include \"&\":; s:\"$ROOT/cross/usr/include/\\(.*\\)\":<\\1>:; s:^#include <varargs.h>$:#ifdef __STDC__\\n#include <stdarg.h>\\n#define _va_start(argp, arg) va_start(argp, arg)\\n#else\\n#include <varargs.h>\\n#define _va_start(argp, arg) va_start(argp)\\n#endif:" a
+ sed -e "s:.*:#include \"&\":; s:\"$INCLUDE/g/\\(.*\\)\":<\\1>:; s:^#include <varargs.h>$:#ifdef __STDC__\\n#include <stdarg.h>\\n#define _va_start(argp, arg) va_start(argp, arg)\\n#else\\n#include <varargs.h>\\n#define _va_start(argp, arg) va_start(argp)\\n#endif:" a
echo
fi
sed -e 's/\([^0-9A-Za-z_]\)va_start(argp);/\1_va_start(argp, fmt);/' $i
for i in $all_h
do
echo "i=$i"
- h=`echo $i |sed -e "s:^$ROOT/cross/usr/include/::"`
+ h=`echo $i |sed -e "s:^$INCLUDE/g/::"`
echo "h=$h"
rm -f a
pattern=
prefix=
- for j in `sed -e "s:^$ROOT/cross/usr/include/::" a`
+ for j in `sed -e "s:^$INCLUDE/g/::" a`
do
pattern="$pattern$prefix$j"
prefix='\|'
EOF
if test -s a
then
- sed -e "s:.*:#include \"&\":; s:\"$ROOT/cross/usr/include/\\(.*\\)\":<\\1>:; s:^#include <varargs.h>$:#ifdef __STDC__\\n#include <stdarg.h>\\n#endif:" a
+ sed -e "s:.*:#include \"&\":; s:\"$INCLUDE/g/\\(.*\\)\":<\\1>:; s:^#include <varargs.h>$:#ifdef __STDC__\\n#include <stdarg.h>\\n#endif:" a
echo
fi
cat $i
fi
# removing useless extra header inclusions that are pulled in anyway
- touch $ROOT/cross/usr/include/stdarg.h
+ touch $INCLUDE/g/stdarg.h
rm -f a
for i in $all_h $std_h
do
echo "i=$i"
- h=`echo $i |sed -e "s:^$ROOT/cross/usr/include/::"`
+ h=`echo $i |sed -e "s:^$INCLUDE/g/::"`
echo "h=$h"
pattern=
prefix=
cp $i temp.c
- for j in `cpp -nostdinc -I$ROOT/cross/usr/include -Dvax -DNCMD=1 -DNRSP=1 -M temp.c`
+ for j in `cpp -nostdinc -I$INCLUDE/g -Dvax -DNCMD=1 -DNRSP=1 -M temp.c`
do
echo "j=$j"
case $j in
- $ROOT/cross/usr/include/stdarg.h)
+ $INCLUDE/g/stdarg.h)
# system header files are not supposed to define stdarg.h, even if
# (like vfprintf etc) they have va_list paramters, it is silly and
# we ignore this restriction, but clients shouldn't rely on this
# up any dependency on varargs.h, hence let's keep it symmetrical)
;;
*.h)
- k=`echo $j |sed -e "s:^$ROOT/cross/usr/include/::"`
+ k=`echo $j |sed -e "s:^$INCLUDE/g/::"`
echo "k=$k"
echo "$h $k" >>a
pattern="$pattern$prefix$k"
sed -e "s:^#include <\\($pattern\\)>$:/\\*& $h\\*/:" -i `grep -H "^#include <$h>$" $all_c $all_h |sed -e 's/:.*//'`
fi
done
- rm -f $ROOT/cross/usr/include/stdarg.h temp.c
+ rm -f $INCLUDE/g/stdarg.h temp.c
tsort <a >b
fi
for j in $ROOT/include/$i/*.h
do
echo "j=$j"
- cp $ROOT/cross/usr/include/$i/`basename $j` $ROOT/include/$i
+ cp $INCLUDE/g/$i/`basename $j` $ROOT/include/$i
done
done
for i in compat-4.1 compat-sys5 gen inet net ns stdio sys
do
echo "i=$i"
- cp $ROOT/cross/usr/include/$i.h $ROOT/include
+ cp $INCLUDE/g/$i.h $ROOT/include
done
for i in net netimp netinet netns vax vaxif vaxmba vaxuba
do
for j in $ROOT/sys/$i/*.h
do
echo "j=$j"
- cp $ROOT/cross/usr/include/$i/`basename $j` $ROOT/sys/$i
+ cp $INCLUDE/g/$i/`basename $j` $ROOT/sys/$i
done
done
for i in $ROOT/sys/h/*.h
do
echo "i=$i"
- cp $ROOT/cross/usr/include/sys/`basename $i` $ROOT/sys/h
+ cp $INCLUDE/g/sys/`basename $i` $ROOT/sys/h
done
fi
#!/bin/sh -e
ROOT=`pwd`
-MAKE=$ROOT/scripts/make.sh
+PATH=$ROOT/scripts:$PATH
rm -rf cross
mkdir -p cross/bin
mkdir -p cross/usr/lib
(cd xify && make clean && make && make install)
-(cd include && $MAKE SHARED=copies install)
+(cd include && make.sh SHARED=copies install)
mkdir -p lib/libc/compat-4.1/profiled
mkdir -p lib/libc/compat-sys5/profiled
mkdir -p lib/libc/ns/profiled
mkdir -p lib/libc/stdio/profiled
mkdir -p lib/libc/sys/profiled
-(cd lib/libc && $MAKE clean && $MAKE && $MAKE install)
-(cd bin && $MAKE clean && $MAKE SUBDIR= NSTD= KMEM= && $MAKE SUBDIR= NSTD= KMEM= install)
+(cd lib/libc && make.sh clean && make.sh && make.sh install)
+(cd bin && make.sh clean && make.sh SUBDIR= NSTD= KMEM= && make.sh SUBDIR= NSTD= KMEM= install)
#(cd test && make clean && make)
--- /dev/null
+#!/bin/sh
+cat *.uses |sort |uniq
ROOT=`dirname $0`/..
#ROOT=../..
+ROOT=`cd $ROOT && pwd`
+INCLUDE=$ROOT/cross/usr/include
all_c=`echo *.c`
if test "$all_c" = "*.c"
#rm -f `find . -name '*.[ch].uses' -print`
#rm -rf `find . -name .xify -print`
- #rm -f `find $ROOT/cross/usr/include -name '*.h.allprotos' -print`
- rm -f `find $ROOT/cross/usr/include -name '*.h.nocomm' -print`
- #rm -f `find $ROOT/cross/usr/include -name '*.h.oldprotos' -print`
- #rm -f `find $ROOT/cross/usr/include -name '*.h.protos' -print`
- #rm -f `find $ROOT/cross/usr/include -name '*.h.protos.nocomm' -print`
- rm -f `find $ROOT/cross/usr/include -name '*.h.usedby' -print`
- #rm -f `find $ROOT/cross/usr/include -name '*.h.uses' -print`
- rm -rf `find $ROOT/cross/usr/include -name .xify -print`
+ #rm -f `find $INCLUDE -name '*.h.allprotos' -print`
+ rm -f `find $INCLUDE -name '*.h.nocomm' -print`
+ #rm -f `find $INCLUDE -name '*.h.oldprotos' -print`
+ #rm -f `find $INCLUDE -name '*.h.protos' -print`
+ #rm -f `find $INCLUDE -name '*.h.protos.nocomm' -print`
+ rm -f `find $INCLUDE -name '*.h.usedby' -print`
+ #rm -f `find $INCLUDE -name '*.h.uses' -print`
+ rm -rf `find $INCLUDE -name .xify -print`
rm -f a b conflicts.temp oldprotos.txt oldprotos.temp xx*
git checkout *.c *.h
#rm -rf $ROOT/include $ROOT/sys
#git checkout $ROOT/include $ROOT/sys $all_c
- #rm -rf $ROOT/cross/usr/include
- #mkdir -p $ROOT/cross/usr/include
+ #rm -rf $INCLUDE
+ #mkdir -p $INCLUDE
#(cd $ROOT/include && ../scripts/make.sh SHARED=copies install)
fi
fi
all_h=
fi
#all_h=`find . -type f -name '*.h' -print |sed -e 's:^\./::' |LC_ALL=C sort`
-#all_h=`find $ROOT/cross/usr/include -type f -name '*.h' -print |LC_ALL=C sort`
+#all_h=`find $INCLUDE -type f -name '*.h' -print |LC_ALL=C sort`
-std_h=`find $ROOT/cross/usr/include -type f -name '*.h' -print |grep -v "^$ROOT/cross/usr/include/stand/" |LC_ALL=C sort`
+std_h=`find $INCLUDE -type f -name '*.h' -print |grep -v "^$INCLUDE/\(stand\|vaxif\|vaxmba\|vaxuba\)/" |LC_ALL=C sort`
#std_h=
if test -z "$1" || test $1 -eq 1
rm -f xx*
csplit -b '%05d' -q $i '/^[ ]*{[ ]*$/' '{*}'
+ prev=
for j in xx*
do
- :
- done
- for k in xx*
- do
- if test $k != xx00000
- then
- sed -ne '2,$p' -i $k
- fi
- if test $k != $j
+ if test -n "$prev" && ! sed -ne '$p' $prev |grep -q '^#'
then
- sed -e '$s/$/ {/' -i $k
+ sed -e '$s/$/ {/' -i $prev
+ sed -ne '2,$p' -i $j
fi
+ prev=$j
done
cat xx* >$i
done
grep '\.h:' oldprotos.txt >oldprotos.temp
sed -e 's/^[A-Za-z_].*__P.*;$/\/\*AAA&\*\//' -i $std_h
- mv $ROOT/cross/usr/include/varargs.h $ROOT/cross/usr/include/varargs.h.save
- echo "#define va_list char *" >$ROOT/cross/usr/include/varargs.h
- echo "#define va_list char *" >$ROOT/cross/usr/include/stdarg.h
+ mv $INCLUDE/varargs.h $INCLUDE/varargs.h.save
+ echo "#define va_list char *" >$INCLUDE/varargs.h
+ echo "#define va_list char *" >$INCLUDE/stdarg.h
+ touch $INCLUDE/stdint.h
for i in $all_c
do
echo "i=$i"
group=
- #group=$ROOT/cross/usr/include/`dirname $i`.h
+ #group=$INCLUDE/`dirname $i`.h
#touch $group
if test -f groups.txt
then
j=`sed -ne "s:^$i \\(.*\\):\\1:p" groups.txt`
if test -n "$j"
then
- #j=$ROOT/cross/usr/include/$j
+ #j=$INCLUDE/$j
#echo $j >>$group.uses
group=$j
touch $group
fi
echo "group=$group"
- $ROOT/cproto-4.6/cproto -i$ROOT/cross/usr/include -Dvax -t -H -s $i |sed -ne '2,$p' >$i.allprotos
+ $ROOT/cproto-4.6/cproto -i$INCLUDE -Dvax -t -H -s $i |sed -ne '2,$p' >$i.allprotos
if ! grep -qv '^int main __P((' $i.allprotos
then
echo -n >$i.allprotos
fi
fi
done
- rm $ROOT/cross/usr/include/stdarg.h
- mv $ROOT/cross/usr/include/varargs.h.save $ROOT/cross/usr/include/varargs.h
+ rm $INCLUDE/stdint.h $INCLUDE/stdarg.h
+ mv $INCLUDE/varargs.h.save $INCLUDE/varargs.h
sed -e 's/^\/\*AAA\(.*\)\*\/$/\1/' -i $std_h
fi
all_h=
fi
#all_h=`find . -type f -name '*.h' -print |sed -e 's:^\./::' |LC_ALL=C sort`
-#all_h=`find $ROOT/cross/usr/include -type f -name '*.h' -print |LC_ALL=C sort`
+#all_h=`find $INCLUDE -type f -name '*.h' -print |LC_ALL=C sort`
if test -z "$1" || test $1 -eq 2
then
for i in $all_h $std_h
do
echo "i=$i"
- h=`echo $i |sed -e "s:^$ROOT/cross/usr/include/::"`
+ h=`echo $i |sed -e "s:^$INCLUDE/::"`
echo "h=$h"
macros="`sed -ne 's/^#[ ]*define[ ]\+\([A-Za-z_][0-9A-Za-z_]*\).*/\1/p' $i.nocomm |grep -v '^\(NULL\|__P\)$'`"
for j in `sed -e 's/\.protos\.nocomm:.*//; s/\.nocomm:.*//' <a |sort |uniq`
do
echo "j=$j"
- k=`echo $j |sed -e "s:^$ROOT/cross/usr/include/::"`
+ k=`echo $j |sed -e "s:^$INCLUDE/::"`
echo "k=$k"
if ! grep -q ":$h:.*:$k\\|:$k:.*:$h:" conflicts.temp
then
for j in `sed -e 's/\.nocomm:.*//' <a |sort |uniq`
do
echo "j=$j"
- k=`echo $j |sed -e "s:^$ROOT/cross/usr/include/::"`
+ k=`echo $j |sed -e "s:^$INCLUDE/::"`
echo "k=$k"
if ! grep -q ":$h:.*:$k\\|:$k:.*:$h:" conflicts.temp
then
pattern=
prefix=
- for j in `sed -e "s:^$ROOT/cross/usr/include/::" a`
+ for j in `sed -e "s:^$INCLUDE/::" a`
do
pattern="$pattern$prefix$j"
prefix='\|'
(
if test -s a
then
- sed -e "s:.*:#include \"&\":; s:\"$ROOT/cross/usr/include/\\(.*\\)\":<\\1>:; s:^#include <varargs.h>$:#ifdef __STDC__\\n#include <stdarg.h>\\n#define _va_start(argp, arg) va_start(argp, arg)\\n#else\\n#include <varargs.h>\\n#define _va_start(argp, arg) va_start(argp)\\n#endif:" a
+ sed -e "s:.*:#include \"&\":; s:\"$INCLUDE/\\(.*\\)\":<\\1>:; s:^#include <varargs.h>$:#ifdef __STDC__\\n#include <stdarg.h>\\n#define _va_start(argp, arg) va_start(argp, arg)\\n#else\\n#include <varargs.h>\\n#define _va_start(argp, arg) va_start(argp)\\n#endif:" a
echo
fi
sed -e 's/\([^0-9A-Za-z_]\)va_start(argp);/\1_va_start(argp, fmt);/' $i
for i in $all_h
do
echo "i=$i"
- h=`echo $i |sed -e "s:^$ROOT/cross/usr/include/::"`
+ h=`echo $i |sed -e "s:^$INCLUDE/::"`
echo "h=$h"
rm -f a
pattern=
prefix=
- for j in `sed -e "s:^$ROOT/cross/usr/include/::" a`
+ for j in `sed -e "s:^$INCLUDE/::" a`
do
pattern="$pattern$prefix$j"
prefix='\|'
EOF
if test -s a
then
- sed -e "s:.*:#include \"&\":; s:\"$ROOT/cross/usr/include/\\(.*\\)\":<\\1>:; s:^#include <varargs.h>$:#ifdef __STDC__\\n#include <stdarg.h>\\n#endif:" a
+ sed -e "s:.*:#include \"&\":; s:\"$INCLUDE/\\(.*\\)\":<\\1>:; s:^#include <varargs.h>$:#ifdef __STDC__\\n#include <stdarg.h>\\n#endif:" a
echo
fi
cat $i
fi
# removing useless extra header inclusions that are pulled in anyway
- touch $ROOT/cross/usr/include/stdarg.h
+ touch $INCLUDE/stdarg.h
rm -f a
for i in $all_h $std_h
do
echo "i=$i"
- h=`echo $i |sed -e "s:^$ROOT/cross/usr/include/::"`
+ h=`echo $i |sed -e "s:^$INCLUDE/::"`
echo "h=$h"
pattern=
prefix=
cp $i temp.c
- for j in `cpp -nostdinc -I$ROOT/cross/usr/include -Dvax -DNCMD=1 -DNRSP=1 -M temp.c`
+ for j in `cpp -nostdinc -I$INCLUDE -Dvax -DNCMD=1 -DNRSP=1 -M temp.c`
do
echo "j=$j"
case $j in
- $ROOT/cross/usr/include/stdarg.h)
+ $INCLUDE/stdarg.h)
# system header files are not supposed to define stdarg.h, even if
# (like vfprintf etc) they have va_list paramters, it is silly and
# we ignore this restriction, but clients shouldn't rely on this
# up any dependency on varargs.h, hence let's keep it symmetrical)
;;
*.h)
- k=`echo $j |sed -e "s:^$ROOT/cross/usr/include/::"`
+ k=`echo $j |sed -e "s:^$INCLUDE/::"`
echo "k=$k"
echo "$h $k" >>a
pattern="$pattern$prefix$k"
#sed -e "s:^#include <\\($pattern\\)>$:/\\*& $h\\*/:" -i `grep -H "^#include <$h>$" $all_c $all_h |sed -e 's/:.*//'`
fi
done
- rm -f $ROOT/cross/usr/include/stdarg.h temp.c
+ rm -f $INCLUDE/stdarg.h temp.c
tsort <a >b
fi
# for j in $ROOT/include/$i/*.h
# do
# echo "j=$j"
-# cp $ROOT/cross/usr/include/$i/`basename $j` $ROOT/include/$i
+# cp $INCLUDE/$i/`basename $j` $ROOT/include/$i
# done
# done
# for i in compat-4.1 compat-sys5 gen inet net ns stdio sys
# do
# echo "i=$i"
-# cp $ROOT/cross/usr/include/$i.h $ROOT/include
+# cp $INCLUDE/$i.h $ROOT/include
# done
# for i in net netimp netinet netns vax vaxif vaxmba vaxuba
# do
# for j in $ROOT/sys/$i/*.h
# do
# echo "j=$j"
-# cp $ROOT/cross/usr/include/$i/`basename $j` $ROOT/sys/$i
+# cp $INCLUDE/$i/`basename $j` $ROOT/sys/$i
# done
# done
# for i in $ROOT/sys/h/*.h
# do
# echo "i=$i"
-# cp $ROOT/cross/usr/include/sys/`basename $i` $ROOT/sys/h
+# cp $INCLUDE/sys/`basename $i` $ROOT/sys/h
# done
#fi
#!/bin/sh
ROOT=`dirname $0`/..
-if false # check whether ROOT is relative somehow
-then
- ROOT=`pwd`/$ROOT
-fi
+ROOT=`cd $ROOT && pwd`
make CC="$ROOT/cross/bin/hostcc -Dvax" LD="$ROOT/cross/bin/hostld" DESTDIR="$ROOT/cross" $@
--- /dev/null
+#!/bin/sh
+ROOT=`dirname $0`/..
+ROOT=`cd $ROOT && pwd`
+INCLUDE=$ROOT/cross/usr/include
+grep -H "^$INCLUDE/$1$" *.uses |sed -e "s:\.uses\:.*: $1:" >>conflicts.txt
+LC_ALL=C sort <conflicts.txt |uniq >a
+mv a conflicts.txt
#endif
EOF
- "`dirname "$0"`/xifyfilt" <$1 2>$3 |sed -e 's/\(extern\|register\|static\) x_int x_\(caddr_t\|datum\|off_t\|time_t\|u_int\|u_short\|u_long\)/\1 x_\2/g; s/va_arg(x_argp, x_\(unsigned_\)\?\(short\|int\|long\))/_va_arg_\1\2(x_argp)/g'
+ "`dirname "$0"`/xifyfilt" <$1 2>$3 |sed -e 's/\(extern\|register\|static\) x_int\([ ]\+x_\)\(Bignum\|bool\|caddr_t\|datum\|off_t\|time_t\|u_char\|u_int\|u_short\|u_long\)/\1\2\3/g; s/va_arg(x_argp, x_\(unsigned_\)\?\(short\|int\|long\))/_va_arg_\1\2(x_argp)/g'
) >$2