diff -r -w --unif=2 calls/Makefile calls-amiga/Makefile --- calls/Makefile Thu May 7 13:42:35 1992 +++ calls-amiga/Makefile Thu Nov 30 14:42:26 1995 @@ -8,7 +8,11 @@ L= -CC=gcc -DMACRO_BSTRING +# Options: +# -DBADCALLOC if calloc doesn't zero mem +# -DOLD_BROKEN_SPRINTF if your sprintf returns char * instead of int, +# eg. on SunOS +CC=gcc INCLUDE= -DEBUG= -O +DEBUG= CDEFS= CFLAGS= ${DEBUG} ${CDEFS} ${INCLUDE} @@ -22,7 +26,7 @@ calls: ${OBJ} - ${CC} -o $@ ${CFLAGS} ${OBJ} + ${CC} -s -o $@ ${CFLAGS} ${OBJ} -clean: FRC +clean: rm -f Makefile.bak calls *.o a.out core errs tags Only in calls: calls diff -r -w --unif=2 calls/main.c calls-amiga/main.c --- calls/main.c Thu May 7 13:39:19 1992 +++ calls-amiga/main.c Thu Nov 30 14:45:45 1995 @@ -10,5 +10,8 @@ #include #include - +#ifdef __amigados__ +#include +#include +#endif #include "scan.h" #include "getopt.h" @@ -33,5 +36,9 @@ *pchProg, /* argv[0] */ cppcommand[1024] = /* cpp command string */ +#ifndef __amigados__ "/lib/cpp -P "; +#else + "/bin/gcc -E -P "; +#endif static HASH *activelist[MAXDEPTH]; /* list of current output names */ @@ -217,4 +224,5 @@ iWidth = PAPERWIDTH; break; +#ifdef OLD_AND_BROKEN_SPRINTF case 'D': strcat(cppcommand, (const char *) @@ -229,4 +237,18 @@ sprintf(sbTemp, "-U%s ", optarg)); break; +#else + case 'D': + sprintf(sbTemp, "-D%s ", optarg); + strcat(cppcommand,sbTemp); + break; + case 'I': + sprintf(sbTemp, "-I%s ", optarg); + strcat(cppcommand,sbTemp); + break; + case 'U': + sprintf(sbTemp, "-U%s ", optarg); + strcat(cppcommand,sbTemp); + break; +#endif /* sprintf */ case '?': case 'h': diff -r -w --unif=2 calls/scan.c calls-amiga/scan.c --- calls/scan.c Thu May 7 13:34:25 1992 +++ calls-amiga/scan.c Tue Nov 28 15:21:14 1995 @@ -10,4 +10,7 @@ #include #include +#ifdef __amigados__ +#include +#endif #define strsave(X) strcpy((char *)malloc(strlen((X))+1), (X)) @@ -20,14 +23,17 @@ {nilHASH, nilHASH}; static char - AUTO[] = "auto", BREAK[] = "break", CASE[] = "case", - CHAR[] = "char", CONTINUE[] = "continue",DEFAULT[] = "default", - DO[] = "do", DOUBLE[] = "double", ELSE[] = "else", - ENUM[] = "enum", EXTERN[] = "extern", FLOAT[] = "float", - FOR[] = "for", FORTRAN[] = "fortran", GOTO[] = "goto", - IF[] = "if", INT[] = "int", LONG[] = "long", + ASM[] = "asm", AUTO[] = "auto", BREAK[] = "break", + CASE[] = "case", CHAR[] = "char", CONST[] = "const", + CONTINUE[] = "continue",DEFAULT[] = "default", DO[] = "do", + DOUBLE[] = "double", ELSE[] = "else", ENUM[] = "enum", + EXTERN[] = "extern", FLOAT[] = "float", FOR[] = "for", + FORTRAN[] = "fortran", GOTO[] = "goto", IF[] = "if", + INT[] = "int", LONG[] = "long", REGISTER[] = "register",RETURN[] = "return", SHORT[] = "short", - SIZEOF[] = "sizeof", STATIC[] = "static", STRUCT[] = "struct", - SWITCH[] = "switch", TYPEDEF[] = "typedef", UNION[] = "union", - UNSIGNED[] = "unsigned",VOID[] = "void", WHILE[] = "while"; + SIGNED[] = "signed", SIZEOF[] = "sizeof", STATIC[] = "static", + STRUCT[] = "struct", SWITCH[] = "switch", + TYPEDEF[] = "typedef", UNION[] = "union", + UNSIGNED[] = "unsigned",VOID[] = "void", + VOLATILE[] = "volatile",WHILE[] = "while"; HASH * @@ -149,9 +155,9 @@ { static char *keywords[] = { - AUTO, BREAK, CASE, CHAR, CONTINUE, DEFAULT, + ASM, AUTO, BREAK, CASE, CHAR, CONST, CONTINUE, DEFAULT, DO, DOUBLE, ELSE, ENUM, EXTERN, FLOAT, FOR, FORTRAN, GOTO, IF, INT, LONG, REGISTER, - RETURN, SHORT, SIZEOF, STATIC, STRUCT, SWITCH, - TYPEDEF, UNION, UNSIGNED, VOID, WHILE, (char *)0 + RETURN, SHORT, SIGNED, SIZEOF, STATIC, STRUCT, SWITCH, + TYPEDEF, UNION, UNSIGNED, VOID, VOLATILE, WHILE, (char *)0 }; register int i = 0; @@ -182,7 +188,7 @@ { static char *which[] = { /* keywords mark a declaration */ - AUTO, CHAR, STATIC, DOUBLE, ENUM, EXTERN, FLOAT, INT, - LONG, REGISTER, SHORT, STATIC, STRUCT, TYPEDEF, UNION, - UNSIGNED, VOID, (char *) 0}; + AUTO, CHAR, CONST, DOUBLE, ENUM, EXTERN, FLOAT, INT, + LONG, REGISTER, SHORT, SIGNED, STATIC, STRUCT, TYPEDEF, UNION, + UNSIGNED, VOID, VOLATILE, (char *) 0}; register char **psb = which;