diff mbox

cthon: remove extraneous files

Message ID 20110207190513.GA4036@merit.edu (mailing list archive)
State RFC, archived
Headers show

Commit Message

Jim Rees Feb. 7, 2011, 7:05 p.m. UTC
None
diff mbox

Patch

diff --git a/general/large1.c b/general/large1.c
deleted file mode 100644
index 5dd2950..0000000
--- a/general/large1.c
+++ /dev/null
@@ -1,443 +0,0 @@ 
-/*	@(#)large.c	1.3 2002/12/13 Connectathon Testsuite	*/
-/*
- * cc - front end for C compiler
- */
-#include <sys/param.h>
-#ifndef major
-#include <sys/types.h>
-#endif
-#include <stdio.h>
-#include <ctype.h>
-#include <signal.h>
-#ifdef SVR4
-#include <dirent.h>
-#else
-#include <sys/dir.h>
-#endif
-
-#undef  MAXNAMLEN
-#define MAXNAMLEN	256
-
-/* return type for signal handlers */
-#if defined(SVR4) || defined (TRU64)
-#define SIGHAND_T	void
-#else
-#define	SIGHAND_T	int
-#endif
-
-char	*cpp = "/lib/cpp";
-char	*ccom = "/lib/ccom";
-char	*c2 = "/lib/c2";
-char	*as = "/bin/as";
-char	*ld = "/bin/ld";
-char	*crt0 = "/lib/crt0.o";
-
-char	tmp0[30];		/* big enough for /tmp/ctm%05.5d */
-char	*tmp1, *tmp2, *tmp3, *tmp4, *tmp5;
-char	*outfile;
-char	*savestr(), *strspl(), *setsuf();
-SIGHAND_T	idexit();
-char	**av, **clist, **llist, **plist;
-int	cflag, eflag, oflag, pflag, sflag, wflag, Rflag, exflag, proflag;
-int	gflag, Gflag;
-char	*dflag;
-int	exfail;
-char	*passes;
-char	*npassname;
-
-int	nc, nl, np, nxo, na;
-
-#define	cunlink(s)	if (s) unlink(s)
-
-main(argc, argv)
-	char **argv;
-{
-	char *t;
-	char *assource;
-	int i, j, c;
-
-	/* ld currently adds upto 5 args; 10 is room to spare */
-	av = (char **)calloc(argc+10, sizeof (char **));
-	clist = (char **)calloc(argc, sizeof (char **));
-	llist = (char **)calloc(argc, sizeof (char **));
-	plist = (char **)calloc(argc, sizeof (char **));
-	for (i = 1; i < argc; i++) {
-		if (*argv[i] == '-') switch (argv[i][1]) {
-
-		case 'S':
-			sflag++;
-			cflag++;
-			continue;
-		case 'o':
-			if (++i < argc) {
-				outfile = argv[i];
-				switch (getsuf(outfile)) {
-
-				case 'c':
-				case 'o':
-					error("-o would overwrite %s",
-					    outfile);
-					exit(8);
-				}
-			}
-			continue;
-		case 'R':
-			Rflag++;
-			continue;
-		case 'O':
-			oflag++;
-			continue;
-		case 'p':
-			proflag++;
-			crt0 = "/lib/mcrt0.o";
-			if (argv[i][2] == 'g')
-				crt0 = "/usr/lib/gcrt0.o";
-			continue;
-		case 'g':
-			if (argv[i][2] == 'o') {
-			    Gflag++;	/* old format for -go */
-			} else {
-			    gflag++;	/* new format for -g */
-			}
-			continue;
-		case 'w':
-			wflag++;
-			continue;
-		case 'E':
-			exflag++;
-		case 'P':
-			pflag++;
-			if (argv[i][1]=='P')
-				fprintf(stderr,
-	"cc: warning: -P option obsolete; you should use -E instead\n");
-			plist[np++] = argv[i];
-		case 'c':
-			cflag++;
-			continue;
-		case 'D':
-		case 'I':
-		case 'U':
-		case 'C':
-			plist[np++] = argv[i];
-			continue;
-		case 't':
-			if (passes)
-				error("-t overwrites earlier option", 0);
-			passes = argv[i]+2;
-			if (passes[0]==0)
-				passes = "012p";
-			continue;
-		case 'f':
-			fprintf(stderr,
-	"cc: warning: -f option obsolete (unnecessary)\n");
-			continue;
-		case 'B':
-			if (npassname)
-				error("-B overwrites earlier option", 0);
-			npassname = argv[i]+2;
-			if (npassname[0]==0)
-				npassname = "/usr/c/o";
-			continue;
-		case 'd':
-			dflag = argv[i];
-			continue;
-		}
-		t = argv[i];
-		c = getsuf(t);
-		if (c=='c' || c=='s' || exflag) {
-			clist[nc++] = t;
-			t = setsuf(t, 'o');
-		}
-		if (nodup(llist, t)) {
-			llist[nl++] = t;
-			if (getsuf(t)=='o')
-				nxo++;
-		}
-	}
-	if (gflag || Gflag) {
-		if (oflag)
-			fprintf(stderr, "cc: warning: -g disables -O\n");
-		oflag = 0;
-	}
-	if (npassname && passes ==0)
-		passes = "012p";
-	if (passes && npassname==0)
-		npassname = "/usr/new";
-	if (passes)
-	for (t=passes; *t; t++) {
-		switch (*t) {
-
-		case '0':
-			ccom = strspl(npassname, "ccom");
-			continue;
-		case '2':
-			c2 = strspl(npassname, "c2");
-			continue;
-		case 'p':
-			cpp = strspl(npassname, "cpp");
-			continue;
-		}
-	}
-	if (nc==0)
-		goto nocom;
-	if (signal(SIGINT, SIG_IGN) != SIG_IGN)
-		signal(SIGINT, idexit);
-	if (signal(SIGTERM, SIG_IGN) != SIG_IGN)
-		signal(SIGTERM, idexit);
-	if (pflag==0)
-		sprintf(tmp0, "/tmp/ctm%05.5d", getpid());
-	tmp1 = strspl(tmp0, "1");
-	tmp2 = strspl(tmp0, "2");
-	tmp3 = strspl(tmp0, "3");
-	if (pflag==0)
-		tmp4 = strspl(tmp0, "4");
-	if (oflag)
-		tmp5 = strspl(tmp0, "5");
-	for (i=0; i<nc; i++) {
-		if (nc > 1) {
-			printf("%s:\n", clist[i]);
-			fflush(stdout);
-		}
-		if (getsuf(clist[i]) == 's') {
-			assource = clist[i];
-			goto assemble;
-		} else
-			assource = tmp3;
-		if (pflag)
-			tmp4 = setsuf(clist[i], 'i');
-		av[0] = "cpp"; av[1] = clist[i]; av[2] = exflag ? "-" : tmp4;
-		na = 3;
-		for (j = 0; j < np; j++)
-			av[na++] = plist[j];
-		av[na++] = 0;
-		if (callsys(cpp, av)) {
-			exfail++;
-			eflag++;
-		}
-		if (pflag || exfail) {
-			cflag++;
-			continue;
-		}
-		if (sflag)
-			assource = tmp3 = setsuf(clist[i], 's');
-		av[0] = "ccom"; av[1] = tmp4; av[2] = oflag?tmp5:tmp3; na = 3;
-		if (proflag)
-			av[na++] = "-XP";
-		if (gflag) {
-			av[na++] = "-Xg";
-		} else if (Gflag) {
-			av[na++] = "-XG";
-		}
-		if (wflag)
-			av[na++] = "-w";
-		av[na] = 0;
-		if (callsys(ccom, av)) {
-			cflag++;
-			eflag++;
-			continue;
-		}
-		if (oflag) {
-			av[0] = "c2"; av[1] = tmp5; av[2] = tmp3; av[3] = 0;
-			if (callsys(c2, av)) {
-				unlink(tmp3);
-				tmp3 = assource = tmp5;
-			} else
-				unlink(tmp5);
-		}
-		if (sflag)
-			continue;
-	assemble:
-		cunlink(tmp1); cunlink(tmp2); cunlink(tmp4);
-		av[0] = "as"; av[1] = "-o"; av[2] = setsuf(clist[i], 'o');
-		na = 3;
-		if (Rflag)
-			av[na++] = "-R";
-		if (dflag)
-			av[na++] = dflag;
-		av[na++] = assource;
-		av[na] = 0;
-		if (callsys(as, av) > 1) {
-			cflag++;
-			eflag++;
-			continue;
-		}
-	}
-nocom:
-	if (cflag==0 && nl!=0) {
-		i = 0;
-		av[0] = "ld"; av[1] = "-X"; av[2] = crt0; na = 3;
-		if (outfile) {
-			av[na++] = "-o";
-			av[na++] = outfile;
-		}
-		while (i < nl)
-			av[na++] = llist[i++];
-		if (gflag || Gflag)
-			av[na++] = "-lg";
-		if (proflag)
-			av[na++] = "-lc_p";
-		else
-			av[na++] = "-lc";
-		av[na++] = 0;
-		eflag |= callsys(ld, av);
-		if (nc==1 && nxo==1 && eflag==0)
-			unlink(setsuf(clist[0], 'o'));
-	}
-	dexit();
-}
-
-SIGHAND_T
-idexit()
-{
-
-	eflag = 100;
-	dexit();
-}
-
-dexit()
-{
-
-	if (!pflag) {
-		cunlink(tmp1);
-		cunlink(tmp2);
-		if (sflag==0)
-			cunlink(tmp3);
-		cunlink(tmp4);
-		cunlink(tmp5);
-	}
-	exit(eflag);
-}
-
-error(s, x)
-	char *s, *x;
-{
-	FILE *diag = exflag ? stderr : stdout;
-
-	fprintf(diag, "cc: ");
-	fprintf(diag, s, x);
-	putc('\n', diag);
-	exfail++;
-	cflag++;
-	eflag++;
-}
-
-getsuf(as)
-char as[];
-{
-	register int c;
-	register char *s;
-	register int t;
-
-	s = as;
-	c = 0;
-	while (t = *s++)
-		if (t=='/')
-			c = 0;
-		else
-			c++;
-	s -= 3;
-	if (c <= MAXNAMLEN && c > 2 && *s++ == '.')
-		return (*s);
-	return (0);
-}
-
-char *
-setsuf(as, ch)
-	char *as;
-{
-	register char *s, *s1;
-
-	s = s1 = savestr(as);
-	while (*s)
-		if (*s++ == '/')
-			s1 = s;
-	s[-1] = ch;
-	return (s1);
-}
-
-callsys(f, v)
-	char *f, **v;
-{
-	int t, status;
-
-	t = fork();
-	if (t == -1) {
-		printf("No more processes\n");
-		return (100);
-	}
-	if (t == 0) {
-		execv(f, v);
-		printf("Can't find %s\n", f);
-		fflush(stdout);
-		_exit(100);
-	}
-	while (t != wait(&status))
-		;
-	if ((t=(status&0377)) != 0 && t!=14) {
-		if (t!=2) {
-			printf("Fatal error in %s\n", f);
-			eflag = 8;
-		}
-		dexit();
-	}
-	return ((status>>8) & 0377);
-}
-
-nodup(l, os)
-	char **l, *os;
-{
-	register char *t, *s;
-	register int c;
-
-	s = os;
-	if (getsuf(s) != 'o')
-		return (1);
-	while (t = *l++) {
-		while (c = *s++)
-			if (c != *t++)
-				break;
-		if (*t==0 && c==0)
-			return (0);
-		s = os;
-	}
-	return (1);
-}
-
-#define	NSAVETAB	1024
-char	*savetab;
-int	saveleft;
-
-char *
-savestr(cp)
-	register char *cp;
-{
-	register int len;
-
-	len = strlen(cp) + 1;
-	if (len > saveleft) {
-		saveleft = NSAVETAB;
-		if (len > saveleft)
-			saveleft = len;
-		savetab = (char *)malloc(saveleft);
-		if (savetab == 0) {
-			fprintf(stderr, "ran out of memory (savestr)\n");
-			exit(1);
-		}
-	}
-	strncpy(savetab, cp, len);
-	cp = savetab;
-	savetab += len;
-	saveleft -= len;
-	return (cp);
-}
-
-char *
-strspl(left, right)
-	char *left, *right;
-{
-	char buf[BUFSIZ];
-
-	strcpy(buf, left);
-	strcat(buf, right);
-	return (savestr(buf));
-}
diff --git a/general/large2.c b/general/large2.c
deleted file mode 100644
index 5dd2950..0000000
--- a/general/large2.c
+++ /dev/null
@@ -1,443 +0,0 @@ 
-/*	@(#)large.c	1.3 2002/12/13 Connectathon Testsuite	*/
-/*
- * cc - front end for C compiler
- */
-#include <sys/param.h>
-#ifndef major
-#include <sys/types.h>
-#endif
-#include <stdio.h>
-#include <ctype.h>
-#include <signal.h>
-#ifdef SVR4
-#include <dirent.h>
-#else
-#include <sys/dir.h>
-#endif
-
-#undef  MAXNAMLEN
-#define MAXNAMLEN	256
-
-/* return type for signal handlers */
-#if defined(SVR4) || defined (TRU64)
-#define SIGHAND_T	void
-#else
-#define	SIGHAND_T	int
-#endif
-
-char	*cpp = "/lib/cpp";
-char	*ccom = "/lib/ccom";
-char	*c2 = "/lib/c2";
-char	*as = "/bin/as";
-char	*ld = "/bin/ld";
-char	*crt0 = "/lib/crt0.o";
-
-char	tmp0[30];		/* big enough for /tmp/ctm%05.5d */
-char	*tmp1, *tmp2, *tmp3, *tmp4, *tmp5;
-char	*outfile;
-char	*savestr(), *strspl(), *setsuf();
-SIGHAND_T	idexit();
-char	**av, **clist, **llist, **plist;
-int	cflag, eflag, oflag, pflag, sflag, wflag, Rflag, exflag, proflag;
-int	gflag, Gflag;
-char	*dflag;
-int	exfail;
-char	*passes;
-char	*npassname;
-
-int	nc, nl, np, nxo, na;
-
-#define	cunlink(s)	if (s) unlink(s)
-
-main(argc, argv)
-	char **argv;
-{
-	char *t;
-	char *assource;
-	int i, j, c;
-
-	/* ld currently adds upto 5 args; 10 is room to spare */
-	av = (char **)calloc(argc+10, sizeof (char **));
-	clist = (char **)calloc(argc, sizeof (char **));
-	llist = (char **)calloc(argc, sizeof (char **));
-	plist = (char **)calloc(argc, sizeof (char **));
-	for (i = 1; i < argc; i++) {
-		if (*argv[i] == '-') switch (argv[i][1]) {
-
-		case 'S':
-			sflag++;
-			cflag++;
-			continue;
-		case 'o':
-			if (++i < argc) {
-				outfile = argv[i];
-				switch (getsuf(outfile)) {
-
-				case 'c':
-				case 'o':
-					error("-o would overwrite %s",
-					    outfile);
-					exit(8);
-				}
-			}
-			continue;
-		case 'R':
-			Rflag++;
-			continue;
-		case 'O':
-			oflag++;
-			continue;
-		case 'p':
-			proflag++;
-			crt0 = "/lib/mcrt0.o";
-			if (argv[i][2] == 'g')
-				crt0 = "/usr/lib/gcrt0.o";
-			continue;
-		case 'g':
-			if (argv[i][2] == 'o') {
-			    Gflag++;	/* old format for -go */
-			} else {
-			    gflag++;	/* new format for -g */
-			}
-			continue;
-		case 'w':
-			wflag++;
-			continue;
-		case 'E':
-			exflag++;
-		case 'P':
-			pflag++;
-			if (argv[i][1]=='P')
-				fprintf(stderr,
-	"cc: warning: -P option obsolete; you should use -E instead\n");
-			plist[np++] = argv[i];
-		case 'c':
-			cflag++;
-			continue;
-		case 'D':
-		case 'I':
-		case 'U':
-		case 'C':
-			plist[np++] = argv[i];
-			continue;
-		case 't':
-			if (passes)
-				error("-t overwrites earlier option", 0);
-			passes = argv[i]+2;
-			if (passes[0]==0)
-				passes = "012p";
-			continue;
-		case 'f':
-			fprintf(stderr,
-	"cc: warning: -f option obsolete (unnecessary)\n");
-			continue;
-		case 'B':
-			if (npassname)
-				error("-B overwrites earlier option", 0);
-			npassname = argv[i]+2;
-			if (npassname[0]==0)
-				npassname = "/usr/c/o";
-			continue;
-		case 'd':
-			dflag = argv[i];
-			continue;
-		}
-		t = argv[i];
-		c = getsuf(t);
-		if (c=='c' || c=='s' || exflag) {
-			clist[nc++] = t;
-			t = setsuf(t, 'o');
-		}
-		if (nodup(llist, t)) {
-			llist[nl++] = t;
-			if (getsuf(t)=='o')
-				nxo++;
-		}
-	}
-	if (gflag || Gflag) {
-		if (oflag)
-			fprintf(stderr, "cc: warning: -g disables -O\n");
-		oflag = 0;
-	}
-	if (npassname && passes ==0)
-		passes = "012p";
-	if (passes && npassname==0)
-		npassname = "/usr/new";
-	if (passes)
-	for (t=passes; *t; t++) {
-		switch (*t) {
-
-		case '0':
-			ccom = strspl(npassname, "ccom");
-			continue;
-		case '2':
-			c2 = strspl(npassname, "c2");
-			continue;
-		case 'p':
-			cpp = strspl(npassname, "cpp");
-			continue;
-		}
-	}
-	if (nc==0)
-		goto nocom;
-	if (signal(SIGINT, SIG_IGN) != SIG_IGN)
-		signal(SIGINT, idexit);
-	if (signal(SIGTERM, SIG_IGN) != SIG_IGN)
-		signal(SIGTERM, idexit);
-	if (pflag==0)
-		sprintf(tmp0, "/tmp/ctm%05.5d", getpid());
-	tmp1 = strspl(tmp0, "1");
-	tmp2 = strspl(tmp0, "2");
-	tmp3 = strspl(tmp0, "3");
-	if (pflag==0)
-		tmp4 = strspl(tmp0, "4");
-	if (oflag)
-		tmp5 = strspl(tmp0, "5");
-	for (i=0; i<nc; i++) {
-		if (nc > 1) {
-			printf("%s:\n", clist[i]);
-			fflush(stdout);
-		}
-		if (getsuf(clist[i]) == 's') {
-			assource = clist[i];
-			goto assemble;
-		} else
-			assource = tmp3;
-		if (pflag)
-			tmp4 = setsuf(clist[i], 'i');
-		av[0] = "cpp"; av[1] = clist[i]; av[2] = exflag ? "-" : tmp4;
-		na = 3;
-		for (j = 0; j < np; j++)
-			av[na++] = plist[j];
-		av[na++] = 0;
-		if (callsys(cpp, av)) {
-			exfail++;
-			eflag++;
-		}
-		if (pflag || exfail) {
-			cflag++;
-			continue;
-		}
-		if (sflag)
-			assource = tmp3 = setsuf(clist[i], 's');
-		av[0] = "ccom"; av[1] = tmp4; av[2] = oflag?tmp5:tmp3; na = 3;
-		if (proflag)
-			av[na++] = "-XP";
-		if (gflag) {
-			av[na++] = "-Xg";
-		} else if (Gflag) {
-			av[na++] = "-XG";
-		}
-		if (wflag)
-			av[na++] = "-w";
-		av[na] = 0;
-		if (callsys(ccom, av)) {
-			cflag++;
-			eflag++;
-			continue;
-		}
-		if (oflag) {
-			av[0] = "c2"; av[1] = tmp5; av[2] = tmp3; av[3] = 0;
-			if (callsys(c2, av)) {
-				unlink(tmp3);
-				tmp3 = assource = tmp5;
-			} else
-				unlink(tmp5);
-		}
-		if (sflag)
-			continue;
-	assemble:
-		cunlink(tmp1); cunlink(tmp2); cunlink(tmp4);
-		av[0] = "as"; av[1] = "-o"; av[2] = setsuf(clist[i], 'o');
-		na = 3;
-		if (Rflag)
-			av[na++] = "-R";
-		if (dflag)
-			av[na++] = dflag;
-		av[na++] = assource;
-		av[na] = 0;
-		if (callsys(as, av) > 1) {
-			cflag++;
-			eflag++;
-			continue;
-		}
-	}
-nocom:
-	if (cflag==0 && nl!=0) {
-		i = 0;
-		av[0] = "ld"; av[1] = "-X"; av[2] = crt0; na = 3;
-		if (outfile) {
-			av[na++] = "-o";
-			av[na++] = outfile;
-		}
-		while (i < nl)
-			av[na++] = llist[i++];
-		if (gflag || Gflag)
-			av[na++] = "-lg";
-		if (proflag)
-			av[na++] = "-lc_p";
-		else
-			av[na++] = "-lc";
-		av[na++] = 0;
-		eflag |= callsys(ld, av);
-		if (nc==1 && nxo==1 && eflag==0)
-			unlink(setsuf(clist[0], 'o'));
-	}
-	dexit();
-}
-
-SIGHAND_T
-idexit()
-{
-
-	eflag = 100;
-	dexit();
-}
-
-dexit()
-{
-
-	if (!pflag) {
-		cunlink(tmp1);
-		cunlink(tmp2);
-		if (sflag==0)
-			cunlink(tmp3);
-		cunlink(tmp4);
-		cunlink(tmp5);
-	}
-	exit(eflag);
-}
-
-error(s, x)
-	char *s, *x;
-{
-	FILE *diag = exflag ? stderr : stdout;
-
-	fprintf(diag, "cc: ");
-	fprintf(diag, s, x);
-	putc('\n', diag);
-	exfail++;
-	cflag++;
-	eflag++;
-}
-
-getsuf(as)
-char as[];
-{
-	register int c;
-	register char *s;
-	register int t;
-
-	s = as;
-	c = 0;
-	while (t = *s++)
-		if (t=='/')
-			c = 0;
-		else
-			c++;
-	s -= 3;
-	if (c <= MAXNAMLEN && c > 2 && *s++ == '.')
-		return (*s);
-	return (0);
-}
-
-char *
-setsuf(as, ch)
-	char *as;
-{
-	register char *s, *s1;
-
-	s = s1 = savestr(as);
-	while (*s)
-		if (*s++ == '/')
-			s1 = s;
-	s[-1] = ch;
-	return (s1);
-}
-
-callsys(f, v)
-	char *f, **v;
-{
-	int t, status;
-
-	t = fork();
-	if (t == -1) {
-		printf("No more processes\n");
-		return (100);
-	}
-	if (t == 0) {
-		execv(f, v);
-		printf("Can't find %s\n", f);
-		fflush(stdout);
-		_exit(100);
-	}
-	while (t != wait(&status))
-		;
-	if ((t=(status&0377)) != 0 && t!=14) {
-		if (t!=2) {
-			printf("Fatal error in %s\n", f);
-			eflag = 8;
-		}
-		dexit();
-	}
-	return ((status>>8) & 0377);
-}
-
-nodup(l, os)
-	char **l, *os;
-{
-	register char *t, *s;
-	register int c;
-
-	s = os;
-	if (getsuf(s) != 'o')
-		return (1);
-	while (t = *l++) {
-		while (c = *s++)
-			if (c != *t++)
-				break;
-		if (*t==0 && c==0)
-			return (0);
-		s = os;
-	}
-	return (1);
-}
-
-#define	NSAVETAB	1024
-char	*savetab;
-int	saveleft;
-
-char *
-savestr(cp)
-	register char *cp;
-{
-	register int len;
-
-	len = strlen(cp) + 1;
-	if (len > saveleft) {
-		saveleft = NSAVETAB;
-		if (len > saveleft)
-			saveleft = len;
-		savetab = (char *)malloc(saveleft);
-		if (savetab == 0) {
-			fprintf(stderr, "ran out of memory (savestr)\n");
-			exit(1);
-		}
-	}
-	strncpy(savetab, cp, len);
-	cp = savetab;
-	savetab += len;
-	saveleft -= len;
-	return (cp);
-}
-
-char *
-strspl(left, right)
-	char *left, *right;
-{
-	char buf[BUFSIZ];
-
-	strcpy(buf, left);
-	strcat(buf, right);
-	return (savestr(buf));
-}
diff --git a/general/large3.c b/general/large3.c
deleted file mode 100644
index 5dd2950..0000000
--- a/general/large3.c
+++ /dev/null
@@ -1,443 +0,0 @@ 
-/*	@(#)large.c	1.3 2002/12/13 Connectathon Testsuite	*/
-/*
- * cc - front end for C compiler
- */
-#include <sys/param.h>
-#ifndef major
-#include <sys/types.h>
-#endif
-#include <stdio.h>
-#include <ctype.h>
-#include <signal.h>
-#ifdef SVR4
-#include <dirent.h>
-#else
-#include <sys/dir.h>
-#endif
-
-#undef  MAXNAMLEN
-#define MAXNAMLEN	256
-
-/* return type for signal handlers */
-#if defined(SVR4) || defined (TRU64)
-#define SIGHAND_T	void
-#else
-#define	SIGHAND_T	int
-#endif
-
-char	*cpp = "/lib/cpp";
-char	*ccom = "/lib/ccom";
-char	*c2 = "/lib/c2";
-char	*as = "/bin/as";
-char	*ld = "/bin/ld";
-char	*crt0 = "/lib/crt0.o";
-
-char	tmp0[30];		/* big enough for /tmp/ctm%05.5d */
-char	*tmp1, *tmp2, *tmp3, *tmp4, *tmp5;
-char	*outfile;
-char	*savestr(), *strspl(), *setsuf();
-SIGHAND_T	idexit();
-char	**av, **clist, **llist, **plist;
-int	cflag, eflag, oflag, pflag, sflag, wflag, Rflag, exflag, proflag;
-int	gflag, Gflag;
-char	*dflag;
-int	exfail;
-char	*passes;
-char	*npassname;
-
-int	nc, nl, np, nxo, na;
-
-#define	cunlink(s)	if (s) unlink(s)
-
-main(argc, argv)
-	char **argv;
-{
-	char *t;
-	char *assource;
-	int i, j, c;
-
-	/* ld currently adds upto 5 args; 10 is room to spare */
-	av = (char **)calloc(argc+10, sizeof (char **));
-	clist = (char **)calloc(argc, sizeof (char **));
-	llist = (char **)calloc(argc, sizeof (char **));
-	plist = (char **)calloc(argc, sizeof (char **));
-	for (i = 1; i < argc; i++) {
-		if (*argv[i] == '-') switch (argv[i][1]) {
-
-		case 'S':
-			sflag++;
-			cflag++;
-			continue;
-		case 'o':
-			if (++i < argc) {
-				outfile = argv[i];
-				switch (getsuf(outfile)) {
-
-				case 'c':
-				case 'o':
-					error("-o would overwrite %s",
-					    outfile);
-					exit(8);
-				}
-			}
-			continue;
-		case 'R':
-			Rflag++;
-			continue;
-		case 'O':
-			oflag++;
-			continue;
-		case 'p':
-			proflag++;
-			crt0 = "/lib/mcrt0.o";
-			if (argv[i][2] == 'g')
-				crt0 = "/usr/lib/gcrt0.o";
-			continue;
-		case 'g':
-			if (argv[i][2] == 'o') {
-			    Gflag++;	/* old format for -go */
-			} else {
-			    gflag++;	/* new format for -g */
-			}
-			continue;
-		case 'w':
-			wflag++;
-			continue;
-		case 'E':
-			exflag++;
-		case 'P':
-			pflag++;
-			if (argv[i][1]=='P')
-				fprintf(stderr,
-	"cc: warning: -P option obsolete; you should use -E instead\n");
-			plist[np++] = argv[i];
-		case 'c':
-			cflag++;
-			continue;
-		case 'D':
-		case 'I':
-		case 'U':
-		case 'C':
-			plist[np++] = argv[i];
-			continue;
-		case 't':
-			if (passes)
-				error("-t overwrites earlier option", 0);
-			passes = argv[i]+2;
-			if (passes[0]==0)
-				passes = "012p";
-			continue;
-		case 'f':
-			fprintf(stderr,
-	"cc: warning: -f option obsolete (unnecessary)\n");
-			continue;
-		case 'B':
-			if (npassname)
-				error("-B overwrites earlier option", 0);
-			npassname = argv[i]+2;
-			if (npassname[0]==0)
-				npassname = "/usr/c/o";
-			continue;
-		case 'd':
-			dflag = argv[i];
-			continue;
-		}
-		t = argv[i];
-		c = getsuf(t);
-		if (c=='c' || c=='s' || exflag) {
-			clist[nc++] = t;
-			t = setsuf(t, 'o');
-		}
-		if (nodup(llist, t)) {
-			llist[nl++] = t;
-			if (getsuf(t)=='o')
-				nxo++;
-		}
-	}
-	if (gflag || Gflag) {
-		if (oflag)
-			fprintf(stderr, "cc: warning: -g disables -O\n");
-		oflag = 0;
-	}
-	if (npassname && passes ==0)
-		passes = "012p";
-	if (passes && npassname==0)
-		npassname = "/usr/new";
-	if (passes)
-	for (t=passes; *t; t++) {
-		switch (*t) {
-
-		case '0':
-			ccom = strspl(npassname, "ccom");
-			continue;
-		case '2':
-			c2 = strspl(npassname, "c2");
-			continue;
-		case 'p':
-			cpp = strspl(npassname, "cpp");
-			continue;
-		}
-	}
-	if (nc==0)
-		goto nocom;
-	if (signal(SIGINT, SIG_IGN) != SIG_IGN)
-		signal(SIGINT, idexit);
-	if (signal(SIGTERM, SIG_IGN) != SIG_IGN)
-		signal(SIGTERM, idexit);
-	if (pflag==0)
-		sprintf(tmp0, "/tmp/ctm%05.5d", getpid());
-	tmp1 = strspl(tmp0, "1");
-	tmp2 = strspl(tmp0, "2");
-	tmp3 = strspl(tmp0, "3");
-	if (pflag==0)
-		tmp4 = strspl(tmp0, "4");
-	if (oflag)
-		tmp5 = strspl(tmp0, "5");
-	for (i=0; i<nc; i++) {
-		if (nc > 1) {
-			printf("%s:\n", clist[i]);
-			fflush(stdout);
-		}
-		if (getsuf(clist[i]) == 's') {
-			assource = clist[i];
-			goto assemble;
-		} else
-			assource = tmp3;
-		if (pflag)
-			tmp4 = setsuf(clist[i], 'i');
-		av[0] = "cpp"; av[1] = clist[i]; av[2] = exflag ? "-" : tmp4;
-		na = 3;
-		for (j = 0; j < np; j++)
-			av[na++] = plist[j];
-		av[na++] = 0;
-		if (callsys(cpp, av)) {
-			exfail++;
-			eflag++;
-		}
-		if (pflag || exfail) {
-			cflag++;
-			continue;
-		}
-		if (sflag)
-			assource = tmp3 = setsuf(clist[i], 's');
-		av[0] = "ccom"; av[1] = tmp4; av[2] = oflag?tmp5:tmp3; na = 3;
-		if (proflag)
-			av[na++] = "-XP";
-		if (gflag) {
-			av[na++] = "-Xg";
-		} else if (Gflag) {
-			av[na++] = "-XG";
-		}
-		if (wflag)
-			av[na++] = "-w";
-		av[na] = 0;
-		if (callsys(ccom, av)) {
-			cflag++;
-			eflag++;
-			continue;
-		}
-		if (oflag) {
-			av[0] = "c2"; av[1] = tmp5; av[2] = tmp3; av[3] = 0;
-			if (callsys(c2, av)) {
-				unlink(tmp3);
-				tmp3 = assource = tmp5;
-			} else
-				unlink(tmp5);
-		}
-		if (sflag)
-			continue;
-	assemble:
-		cunlink(tmp1); cunlink(tmp2); cunlink(tmp4);
-		av[0] = "as"; av[1] = "-o"; av[2] = setsuf(clist[i], 'o');
-		na = 3;
-		if (Rflag)
-			av[na++] = "-R";
-		if (dflag)
-			av[na++] = dflag;
-		av[na++] = assource;
-		av[na] = 0;
-		if (callsys(as, av) > 1) {
-			cflag++;
-			eflag++;
-			continue;
-		}
-	}
-nocom:
-	if (cflag==0 && nl!=0) {
-		i = 0;
-		av[0] = "ld"; av[1] = "-X"; av[2] = crt0; na = 3;
-		if (outfile) {
-			av[na++] = "-o";
-			av[na++] = outfile;
-		}
-		while (i < nl)
-			av[na++] = llist[i++];
-		if (gflag || Gflag)
-			av[na++] = "-lg";
-		if (proflag)
-			av[na++] = "-lc_p";
-		else
-			av[na++] = "-lc";
-		av[na++] = 0;
-		eflag |= callsys(ld, av);
-		if (nc==1 && nxo==1 && eflag==0)
-			unlink(setsuf(clist[0], 'o'));
-	}
-	dexit();
-}
-
-SIGHAND_T
-idexit()
-{
-
-	eflag = 100;
-	dexit();
-}
-
-dexit()
-{
-
-	if (!pflag) {
-		cunlink(tmp1);
-		cunlink(tmp2);
-		if (sflag==0)
-			cunlink(tmp3);
-		cunlink(tmp4);
-		cunlink(tmp5);
-	}
-	exit(eflag);
-}
-
-error(s, x)
-	char *s, *x;
-{
-	FILE *diag = exflag ? stderr : stdout;
-
-	fprintf(diag, "cc: ");
-	fprintf(diag, s, x);
-	putc('\n', diag);
-	exfail++;
-	cflag++;
-	eflag++;
-}
-
-getsuf(as)
-char as[];
-{
-	register int c;
-	register char *s;
-	register int t;
-
-	s = as;
-	c = 0;
-	while (t = *s++)
-		if (t=='/')
-			c = 0;
-		else
-			c++;
-	s -= 3;
-	if (c <= MAXNAMLEN && c > 2 && *s++ == '.')
-		return (*s);
-	return (0);
-}
-
-char *
-setsuf(as, ch)
-	char *as;
-{
-	register char *s, *s1;
-
-	s = s1 = savestr(as);
-	while (*s)
-		if (*s++ == '/')
-			s1 = s;
-	s[-1] = ch;
-	return (s1);
-}
-
-callsys(f, v)
-	char *f, **v;
-{
-	int t, status;
-
-	t = fork();
-	if (t == -1) {
-		printf("No more processes\n");
-		return (100);
-	}
-	if (t == 0) {
-		execv(f, v);
-		printf("Can't find %s\n", f);
-		fflush(stdout);
-		_exit(100);
-	}
-	while (t != wait(&status))
-		;
-	if ((t=(status&0377)) != 0 && t!=14) {
-		if (t!=2) {
-			printf("Fatal error in %s\n", f);
-			eflag = 8;
-		}
-		dexit();
-	}
-	return ((status>>8) & 0377);
-}
-
-nodup(l, os)
-	char **l, *os;
-{
-	register char *t, *s;
-	register int c;
-
-	s = os;
-	if (getsuf(s) != 'o')
-		return (1);
-	while (t = *l++) {
-		while (c = *s++)
-			if (c != *t++)
-				break;
-		if (*t==0 && c==0)
-			return (0);
-		s = os;
-	}
-	return (1);
-}
-
-#define	NSAVETAB	1024
-char	*savetab;
-int	saveleft;
-
-char *
-savestr(cp)
-	register char *cp;
-{
-	register int len;
-
-	len = strlen(cp) + 1;
-	if (len > saveleft) {
-		saveleft = NSAVETAB;
-		if (len > saveleft)
-			saveleft = len;
-		savetab = (char *)malloc(saveleft);
-		if (savetab == 0) {
-			fprintf(stderr, "ran out of memory (savestr)\n");
-			exit(1);
-		}
-	}
-	strncpy(savetab, cp, len);
-	cp = savetab;
-	savetab += len;
-	saveleft -= len;
-	return (cp);
-}
-
-char *
-strspl(left, right)
-	char *left, *right;
-{
-	char buf[BUFSIZ];
-
-	strcpy(buf, left);
-	strcat(buf, right);
-	return (savestr(buf));
-}