This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch to remove obsolete files


This patch removes a number of obsolete files.  OK to commit to
mainline and 3.0 branch?

2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>

	* dostage2, dostage3, listing, make-l2.com, makefile.vms,
	patch-apollo-includes, vmsconfig.com: Remove obsolete files.

diff -ruN gcc.orig/dostage2 gcc/dostage2
--- gcc.orig/dostage2	Wed Dec 16 20:54:57 1998
+++ gcc/dostage2	Thu Jan  1 00:00:00 1970
@@ -1,2 +0,0 @@
-#!/bin/sh
-make -k LANGUAGES=c $1 CC=stage1/xgcc XCFLAGS=-Bstage1/ CFLAGS="-g $2" >log2 2>&1
diff -ruN gcc.orig/dostage3 gcc/dostage3
--- gcc.orig/dostage3	Wed Dec 16 20:54:58 1998
+++ gcc/dostage3	Thu Jan  1 00:00:00 1970
@@ -1,3 +0,0 @@
-#!/bin/sh
-make -k LANGUAGES=c $1 CC=stage2/xgcc XCFLAGS=-Bstage2/ CFLAGS="-g $2" >log3 2>&1
-
diff -ruN gcc.orig/listing gcc/listing
--- gcc.orig/listing	Wed Dec 16 20:57:08 1998
+++ gcc/listing	Thu Jan  1 00:00:00 1970
@@ -1,227 +0,0 @@
-#!/bin/sh -f
-# Generate a source code listing for C or C++ code with assembler code. The
-# listing is always written to stdout.
-# Author: Igor Metz <metz@iam.unibe.ch>
-
-# Revision 1.4  94/08/26  13:58:27  coxs <coxs@dg-rtp.dg.com>
-# lister now guesses how to should be configured. Added elf and coff support.
-#
-# Revision 1.3  89/12/18  13:58:27  metz
-# lister must now be configured before it can be used. This is done in the
-# /bin/sh part of the code.
-# 
-# 
-# Revision 1.2  89/08/16  17:35:02  metz
-# Support for SPARC added.
-# 
-# Revision 1.1  89/08/16  16:49:22  metz
-# Initial revision
-# 
-
-# Requires: gawk (may be it works also with nawk)
-
-# usage:  lister filename [compiler-options]
-
-# Method:
-# compile the source with -g option to assembler code, then merge the
-# generated assembler code with the source code. Compiler options
-# can be supplied on the command line (for example -O)
-
-# To install lister, assign one of the supported values to the variable MYSYS:
-# mc68020  for Motorola 68020 (Sun-3, ..)
-# mc68030  for Motorola 68030 (Sun-3, ..)
-# sparc    for SPARC (SUN-4, ..)
-# i386     for i386 (Sun i386, ...)
-# i386-gnu-linux for i386 (GNU/Linux, ...)
-
-# Guess what kind of objects we are creating and thus what type of assembler
-# symbols to look for
-
-ex /tmp/$$.c <<END >/dev/null
-a
-main (){}
-.
-w
-q
-END
-WD=`pwd`
-cd /tmp
-gcc -c $$.c
-case "`file $$.o`" in 
-*ELF*) MYSYS=elf ;;
-*COFF*|*BCS*) MYSYS=coff ;;
-*mc68k*|*M68000*) MYSYS=mc68030 ;;
-*SPARC*) MYSYS=sparc ;;
-*386*) MYSYS=i386 ;;
-esac
-rm $$.c $$.o
-cd $WD
-
-# uncomment the line you need if the above guesses incorrectly:
-# MYSYS=mc68020
-# MYSYS=mc68030
-# MYSYS=sparc
-# MYSYS=i386
-# MYSYS=i386-gnu-linux
-# MYSYS=`mach`  # this will work on Suns with SunOS > 4.0.0
-# MYSYS=elf
-# MYSYS=coff
-
-WHOAMI=$0
-if [ $# -gt 0 ] ; then
-FILENAME=$1
-shift
-fi
-
-exec gawk -v whoami=$WHOAMI -vsys=$MYSYS -voptions="$*" '
-# commandline arguments:
-#  ARGV[0] = "gawk"
-#  ARGV[1] = processid
-#  ARGV[2] = filename
-BEGIN {
-  if (ARGC != 3) {
-    usage()
-    exit 1
-  }
-
-  # Declaration of global variables
-  c_filename = ""
-  asm_filename = ""
-  cmdline = ""
-  asm_code = ""
-  c_code = ""
-  c_lineno = 0
-  oldlineno = 0
-  newlineno = 0
-  ignore_stabd = 0
-  num_of_fields = 0
-
-  # check processor architecture and set sourcecode line_hint accordingly
-  if (sys == "sparc" || sys == "i386") {
-    line_hint = "^[ \t]*\.stabn.*"
-    line_field = 3;
-    line_delimiter = ",";
-    line_offset = 0;
-  }
-  else if (sys == "mc68020" || sys == "mc68030" || sys == "i386-gnu-linux") {
-    line_hint = "^[ \t]*\.stabd.*"
-    line_field = 3;
-    line_delimiter = ",";
-    line_offset = 0;
-  }
-  else if (sys == "elf") {
-    line_hint = "section.*\.line"
-    line_field = 3;
-    line_delimiter = "\t";
-    line_offset = 0;
-  }
-  else if (sys == "coff") {
-    line_hint = "^[ \t]*ln"
-    line_field = 3;
-    line_delimiter = "\t";
-  }
-  else {
-    error("Processor type " sys " is not supported yet, sorry")
-  }
-
-  parse_cmdline()
-
-  printf("compiling %s to asm code\n", c_filename ) > "/dev/stderr"
-
-  if (system(cmdline) != 0 ) {
-    error("Compilation of " c_filename " failed")
-  }
-
-  printf("generating listing\n") > "/dev/stderr"
-
-
-  while ( getline asm_code < asm_filename > 0 ) {
-    if ( (ignore_stabd==0) && (asm_code ~ line_hint)) {
-      while ( sys == "elf" && (asm_code !~ "word" && asm_code !~ "byte") && 
-        getline asm_code < asm_filename > 0);
-      # source line hint found. Split the line into fields separated by commas.
-      # num_of_fields is 4 for sparc, 3 for m68k
-      num_of_fields = split(asm_code, fields, line_delimiter)
-      newlineno = fields[line_field] + line_offset;
-
-      if (newlineno > oldlineno) {
-        while ( newlineno > c_lineno && getline c_code < c_filename > 0) {
-	  c_lineno++
-	  printf("%4d %s\n", c_lineno, c_code)
-	}
-	oldlineno = newlineno
-      }
-    }
-    else if ( asm_code ~ ".*Ltext[ \t]*$" ) {
-      # filename hint found
-      if ( match(asm_code, c_filename)) {
-        ignore_stabd = 0
-      }
-      else {
-        ignore_stabd = 1
-      }
-    }
-    else if ( sys == "elf" && asm_code ~ "section.*\.debug" ) {
-      while ( asm_code !~ "^[ \t]*[.]*previous" &&
-	      asm_code !~ "\.popsection" && 
-              getline asm_code < asm_filename > 0 );
-      if ( ! (getline asm_code < asm_filename > 0)) break;
-    }
-    else if ( sys == "coff" && asm_code ~ "^[ \t]*sdef" ) {
-      if ( asm_code ~ "\.bf" ) {
-         while ( asm_code !~ "^[ \t]*line" && 
-                 getline asm_code < asm_filename > 0 ) {
-           num_of_fields = split(asm_code, fields, "\t")
-           line_offset = fields[line_field] - 1;
-         }
-      }
-      while ( asm_code !~ "^[ \t]*endef" && 
-              getline asm_code < asm_filename > 0 ) {
-      }
-      if ( ! (getline asm_code < asm_filename > 0)) break;
-    }
-    printf("\t\t\t%s\n", asm_code)
-  }
-
-  # general cleanup
-  system("/bin/rm " asm_filename)
-}
-
-function usage() {
-    printf("usage: %s filename compiler-options\n", whoami) > "/dev/stderr"
-}
-
-function error(s) {
-    printf("error: %s\n", s) > "/dev/stderr"
-    exit 1
-}
-
-function parse_cmdline(    i) {
-  # construct filenames to use
-  asm_filename = "/tmp/lister" ARGV[1] ".s"
-  ARGV[1] = ""
-  c_filename = ARGV[2]
-  ARGV[2] = ""
-
-  # construct commandline to use
-  if ( match(c_filename, ".C") || match(c_filename, ".cc") ) {
-    cmdline = "g++"
-  }
-  else if (match(c_filename, ".c") || match(c_filename, ".i")) {
-    cmdline = "gcc"
-  }
-  else {
-    error("unknown extension for file " c_filename)
-  }
-
-  cmdline = cmdline " -g -S -o " asm_filename
-
-  # now we append the compiler options specified by the user
-  cmdline = cmdline " " options
-
-  # last but not least: the name of the file to compile
-  cmdline = cmdline " " c_filename
-}
-
-' $$ $FILENAME
-
diff -ruN gcc.orig/make-l2.com gcc/make-l2.com
--- gcc.orig/make-l2.com	Wed Dec 16 20:57:17 1998
+++ gcc/make-l2.com	Thu Jan  1 00:00:00 1970
@@ -1,149 +0,0 @@
-$! make-l2.com -- VMS build procedure for libgcc2.
-$
-$! Change working directory to the location of this command procedure.
-$ flnm = f$enviroment("PROCEDURE")	!get current procedure name
-$ set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")'
-$!
-$! Command file to build libgcc2.olb.  You should only run this once you
-$! have the current compiler installed, otherwise some of the builtins will
-$! not be recognized.  Once you have built libgcc2.olb, you can merge this
-$! with gnu_cc:[000000]gcclib.olb
-$!
-$! All of the C source code is assumed to be in libgcc2.c, and a list of the
-$! modules that we need from there is in libgcc2.list (which is generated
-$! when vmsconfig.com is run).  The C++ source is found in the [.cp.inc]
-$! directory and managed via libgcc2-cxx.list.
-$!
-$ if f$search("gcc-cc1.exe").eqs.""
-$ then
-$    gcc_cc1:=$gnu_cc:[000000]gcc-cc1
-$    if f$extract(0,1,f$trnlnm("GNU_CC_VERSION")).eqs."1" then goto nocompile
-$ else
-$    gcc_cc1:=$sys$disk:[]gcc-cc1
-$ endif
-$!
-$ if f$search("gcc-cpp.exe").eqs.""
-$ then
-$    gcc_cpp:=$gnu_cc:[000000]gcc-cpp
-$    if f$extract(0,1,f$trnlnm("GNU_CC_VERSION")).eqs."1" then goto nocompile
-$    Version:='f$trnlnm("GNU_CC_VERSION")'
-$ else
-$    gcc_cpp:=$sys$disk:[]gcc-cpp
-$    open ifile$ version.opt
-$    read ifile$ line
-$    close ifile$
-$    Version=line - "ident=""" - """
-$ endif
-$!
-$ if f$search("gcc-cc1plus.exe").eqs.""
-$ then	gcc_cxx = "$gnu_cc:[000000]gcc-cc1plus"
-$ else	gcc_cxx = "$sys$disk:[]gcc-cc1plus"
-$ endif
-$!
-$gcc_as:=$gnu_cc:[000000]gcc-as
-$cpp_file:=sys$scratch:gcc_'f$getjpi(0,"pid")'.cpp
-$ s_file:=sys$scratch:gcc_'f$getjpi(0,"pid")'.s
-$!
-$set symbol/scope=(nolocal,noglobal)
-$!
-$lib/create libgcc2.olb
-$on error then goto c_err
-$on control_y then goto c_err
-$
-$if f$trnlnm("IFILE$").nes."" then  close/noLog ifile$
-$open ifile$ libgcc2.list
-$loop:
-$!
-$read ifile$ line/end=c_done
-$i=0
-$loop1:
-$flnm=f$element(i," ",line)
-$i=i+1
-$if flnm.eqs."" then goto loop
-$if flnm.eqs." " then goto loop
-$!
-$flnm = "L"+flnm
-$if flnm.eqs."L_exit" then goto loop1
-$write sys$output "$ gcc/debug/define=""''flnm'"" LIBGCC2.C"
-$!
-$objname = flnm
-$if flnm.eqs."L_builtin_New" then objname = "L_builtin_nnew"
-$!
-$! We do this by hand, since the VMS compiler driver does not have a way
-$! of specifying an alternate location for the compiler executables.
-$!
-$ if arch .eqs. "alpha"
-$ then
-$   gcc_cpp "-D__IEEE_FLOAT" "-I[]" "-I[.config]" "-I[.ginclude]" "-D''flnm'"  libgcc2.c 'cpp_file'
-$   gcc_cc1 'cpp_file' -dumpbase 'objname' -
-	-quiet -mgas "-O1" -mfloat-ieee -o 's_file'
-$ else
-$   gcc_cpp "-I[]" "-I[.config]" "-I[.ginclude]" "-D''flnm'"  libgcc2.c 'cpp_file'
-$   gcc_cc1 'cpp_file' -dumpbase 'objname' -
-	-quiet -mgnu -g "-O1" -mvaxc-alignment   -o 's_file'
-$ endif
-$ delete/nolog 'cpp_file';
-$   gcc_as 's_file'  -o 'objname'.OBJ
-$ if arch .eqs. "vax"
-$ then
-$! Assemble again, preserving lowercase symbol names this time.
-$   gcc_as -h3 's_file'  -o 'objname'-c.OBJ
-$   library libgcc2.olb 'objname'.obj,'objname'-c.obj
-$   delete/nolog 'objname'.obj;,'objname'-c.obj;
-$ else
-$   library libgcc2.olb 'objname'.obj
-$   delete/nolog 'objname'.obj;
-$ endif
-$ delete/nolog 's_file';
-$!
-$!
-$goto loop1
-$!
-$! In case of error or abort, go here (In order to close file).
-$!
-$c_err:	!'f$verify(0)
-$close ifile$
-$ exit %x2c
-$!
-$c_done:
-$close ifile$
-$
-$
-$ EXIT
-$	!gcc-2.8.0: C++ libgcc2 code disabled since it's not adequately tested
-$
-$!
-$ p1 = p1+" "+p2+" "+p3+" "+p4+" "+p5+" "+p6+" "+p7+" "+p8
-$ p1 = " " + f$edit(p1,"COMPRESS,TRIM,UPCASE") + " "
-$! (note: substring locations can only be equal when neither string is present)
-$ if f$locate(" CC1PLUS ",p1).eq.f$locate(" CXX ",p1) then  goto cxx_done
-$ if f$search("libgcc2-cxx.list").eqs."" then  goto cxx_done
-$!
-$ open/read ifile$ libgcc2-cxx.list
-$cxx_line_loop:
-$ read ifile$ line/end=cxx_done
-$ i = 0
-$cxx_file_loop:
-$ flnm = f$element(i,",",line)
-$ i = i + 1
-$ if flnm.eqs."" .or. flnm.eqs."," then goto cxx_line_loop
-$ write sys$output "$ gcc/plus/debug ''flnm'.cc"
-$ objname = flnm
-$!
-$ gcc_cpp -+ "-I[]" "-I[.ginclude]" "-I[.cp.inc]" [.cp]'flnm'.cc 'cpp_file'
-$ gcc_cxx 'cpp_file' -dumpbase 'objname' -fexceptions -
-	-quiet -mgnu -g "-O1" -mvaxc-alignment	 -o 's_file'
-$ delete/nolog 'cpp_file';
-$ gcc_as "-vGNU CC  V''Version'" 's_file'  -o 'objname'.OBJ
-$! Assemble again, preserving lowercase symbol names this time.
-$ gcc_as "-vGNU CC  V''Version'" -h3 's_file'  -o 'objname'-c.OBJ
-$ delete/nolog 's_file';
-$
-$ library libgcc2.olb 'objname'.obj,'objname'-c.obj
-$ delete/nolog 'objname'.obj;,'objname'-c.obj;
-$!
-$ goto cxx_file_loop
-$!
-$cxx_done:
-$ close ifile$
-$ exit
diff -ruN gcc.orig/makefile.vms gcc/makefile.vms
--- gcc.orig/makefile.vms	Sun Nov 26 19:14:23 2000
+++ gcc/makefile.vms	Thu Jan  1 00:00:00 1970
@@ -1,413 +0,0 @@
-#
-# makefile for GCC
-#
-# Created by Klaus K"ampf, kkaempf@progis.de
-#
-
-# choose gcc or dec c
-#CC = gcc
-CC = cc
-
-# With or withou haifa scheduler ?
-#HAIFA=,"HAIFA"
-HAIFA=
-
-PWD=sys$$disk:[]
-RM=delete/nolog
-
-ifeq ($(CC),gcc)
-ifeq ($(ARCH),ALPHA)
-CFLAGS=/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA))
-LIBS=,gnu_cc_library:libgcc.olb/lib,sys$$library:vaxcrtl.olb/lib,gnu_cc_library:crt0.obj
-else
-CFLAGS=/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA))
-LIBS=,gnu_cc_library:libgcc.olb/lib,sys$$library:vaxcrtl.olb/lib
-endif
-LFLAGS=/map/full
-#LFLAGS=
-else
-ifeq ($(ARCH),ALPHA)
-CFLAGS=/names=as_is/float=ieee/noopt/debug/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA))\
-/warning=disable=(missingreturn,implicitfunc,ptrmismatch,undefescap,longextern,duptypespec)
-else
-CFLAGS=/noopt/debug/define=("HAVE_CONFIG_H=1","USE_COLLECT2" $(HAIFA))
-endif
-LFLAGS=/nomap
-LIBS=,sys$$library:vaxcrtl.olb/lib
-endif
-
-BISON = bison
-BISON_FLAGS=  /Yacc/Define/Verbose
-RENAME=	rename/New_Version
-LINK  =	link		#/noshare/nosysshr
-EDIT  =	edit
-SEARCH=	search
-ABORT =	exit %x002C
-echo  =	write sys$$output
-
-CINCL1	=	/Incl=([],[.config])
-CINCL2	=	/Incl=([],[.ginclude],[.config])
-CINCL_SUB =	/Incl=([],[-],[-.ginclude],[-.config])
-CINCL_CP=	/Incl=([],[.config],[.cp],[.cp.inc])
-
-MDFILE = [.config.$(ARCH)]$(ARCH).md
-
-ifeq ($(HAIFA),)
-SCHED=sched
-else
-SCHED=haifa-sched
-endif
-
-GENOBJS=[]rtl.obj,obstack.obj
-
-INDEPOBJS= []toplev.obj,version.obj,tree.obj,print-tree.obj,stor-layout.obj,\
-fold-const.obj,function.obj,stmt.obj,except.obj,expr.obj,calls.obj,expmed.obj,\
-explow.obj,optabs.obj,varasm.obj,rtl.obj,print-rtl.obj,rtlanal.obj,\
-emit-rtl.obj,genrtl.obj,real.obj,regmove.obj,dbxout.obj,sdbout.obj,dwarfout.obj,\
-dwarf2out.obj,xcoffout.obj,bitmap.obj,alias.obj,\
-integrate.obj,jump.obj,cse.obj,loop.obj,unroll.obj,flow.obj,stupid.obj,\
-combine.obj,regclass.obj,local-alloc.obj,global.obj,reload.obj,\
-reload1.obj,caller-save.obj,insn-peep.obj,reorg.obj,$(SCHED).obj,\
-final.obj,recog.obj,reg-stack.obj,insn-opinit.obj,insn-recog.obj,\
-insn-extract.obj,insn-output.obj,insn-emit.obj,\
-profile.obj,insn-attrtab.obj,\
-aux-output.obj,getpwd.obj,convert.obj
-
-CC1OBJS=[]c-parse.obj,c-lang.obj,c-lex.obj,c-pragma.obj,c-decl.obj,\
-c-typeck.obj,c-convert.obj,c-aux-info.obj,c-common.obj,c-iterate.obj,\
-obstack.obj
-
-OBJCOBJS=
-
-# list copied from cc1plus-objs.opt
-
-CC1PLUSOBJS=[.cp]call.obj,[.cp]decl2.obj,\
-[.cp]except.obj,[.cp]pt.obj,\
-[.cp]spew.obj,[.cp]xref.obj,[.cp]class.obj,\
-[.cp]expr.obj,[.cp]lex.obj,\
-[.cp]ptree.obj,[.cp]tree.obj,[.cp]cvt.obj,\
-[.cp]errfn.obj,[.cp]rtti.obj,[.cp]method.obj,\
-[.cp]search.obj,[.cp]typeck.obj,[.cp]decl.obj,\
-[.cp]error.obj,[.cp]friend.obj,[.cp]init.obj,[.cp]parse.obj,\
-[.cp]sig.obj,[.cp]typeck2.obj,[.cp]repo.obj,\
-[.cp]input.obj,\
-[]obstack.obj,\
-[]c-common.obj,[]c-pragma.obj
-
-CCCPOBJS=[]cccp.obj,cexp.obj,version.obj,prefix.obj
-
-ALLOCA=,[]alloca.obj
-
-LIBIBERTY = [-.libiberty]libiberty.olb
-
-CXX_LIB2FUNCS = [.cp]tinfo.obj,[.cp]tinfo2.obj,\
-[.cp]new.obj,[.cp]new1.obj,[.cp]new2.obj,[.cp]exception.obj
-
-.c.obj:
-	$(CC) $(CFLAGS) $(CINCL1) $</obj=$@
-
-.cc.obj:
-	$(CC)/plus/CPP="-nostdinc++" $(CFLAGS) $(CINCL_CP) $</obj=$@
-
-INSN_INCLUDES=insn-attr.h insn-codes.h insn-config.h insn-flags.h
-
-#
-#
-#
-
-all: cpp.exe cc1.exe float.h limits.h libgcc2.olb
-
-allplus: cc1plus.exe libgccplus.olb
-
-libplus: libgccplus.olb
-
-cc1.exe: $(CC1OBJS) $(ALLOCA) $(INDEPOBJS)
-	$(LINK)$(LFLAGS)/exe=$@ version.opt/opt,cc1-objs.opt/Opt,independent.opt/Opt$(ALLOCA)$(LIBS)
-
-cpp.exe: $(CCCPOBJS) $(ALLOCA)
-	$(LINK)$(LFLAGS)/exe=$@ $(CCCPOBJS),version.opt/opt$(ALLOCA)$(LIBS)
-
-cc1plus.exe: $(CC1PLUSOBJS) $(ALLOCA) $(INDEPOBJS)
-	$(LINK)$(LFLAGS)/exe=$@ version.opt/opt,cc1plus-objs.opt/Opt,independent.opt/Opt$(ALLOCA)$(LIBS)
-
-gcc.exe: gcc.obj version.obj choose-temp.obj pexecute.obj prefix.obj obstack.obj
-	$(LINK)$(LFLAGS)/exe=$@ $^$(ALLOCA)$(LIBS)
-        
-install: cpp.exe cc1.exe gcc.exe libgcc2.olb
-	$(CP) $^ GNU_CC_LIBRARY
-
-installplus: cc1plus.exe libgccplus.olb
-	$(CP) $^ GNU_CC_LIBRARY
-
-float.h: enquire.exe
-	mcr $(PWD)enquire.exe -f > $@
-
-limits.h: enquire.exe
-	mcr $(PWD)enquire.exe -l > $@
-
-enquire.exe: enquire.obj
-	$(LINK)$(LFLAGS)/exe=$@ enquire.obj$(ALLOCA)$(LIBS)
-
-libgcc2.olb:
-	$$ @make-l2
-
-libgccplus.olb: $(CXX_LIB2FUNCS)
-	lib/create libgccplus $(CXX_LIB2FUNCS)
-
-genattr.exe: genattr.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-attr.h: genattr.exe $(MDFILE)
-	mcr $(PWD)genattr.exe $(MDFILE) > $@
-
-genflags.exe: genflags.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-flags.h: genflags.exe $(MDFILE)
-	mcr $(PWD)genflags.exe $(MDFILE) > $@
-
-gencodes.exe: gencodes.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-codes.h: gencodes.exe $(MDFILE)
-	mcr $(PWD)gencodes.exe $(MDFILE) > $@
-
-genconfig.exe: genconfig.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-config.h: genconfig.exe $(MDFILE)
-	mcr $(PWD)genconfig.exe $(MDFILE) > $@
-
-genpeep.exe: genpeep.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-peep.c: genpeep.exe $(MDFILE)
-	mcr $(PWD)genpeep.exe $(MDFILE) > $@
-
-genopinit.exe: genopinit.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-opinit.c: genopinit.exe $(MDFILE)
-	mcr $(PWD)genopinit.exe $(MDFILE) > $@
-
-genrecog.exe: genrecog.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-recog.c: genrecog.exe $(MDFILE)
-	mcr $(PWD)genrecog.exe $(MDFILE) > $@
-
-genextract.exe: genextract.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-extract.c: genextract.exe $(MDFILE)
-	mcr $(PWD)genextract.exe $(MDFILE) > $@
-
-genoutput.exe: genoutput.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-output.c: genoutput.exe $(MDFILE)
-	mcr $(PWD)genoutput.exe $(MDFILE) > $@
-
-genemit.exe: genemit.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-emit.c: genemit.exe $(MDFILE)
-	mcr $(PWD)genemit.exe $(MDFILE) > $@
-
-genattrtab.exe: genattrtab.obj,rtlanal.obj,$(GENOBJS)$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-insn-attrtab.c: genattrtab.exe $(MDFILE)
-	mcr $(PWD)genattrtab.exe $(MDFILE) > $@
-
-gengenrtl.exe: gengenrtl.obj,obstack.obj,$(ALLOCA)
-	$(LINK) $(LFLAGS)/exe=$@ $^$(LIBS)
-
-genrtl.h genrtl.c: gengenrtl.exe
-	mcr $(PWD)gengenrtl.exe	genrtl.h genrtl.c
-
-cccp.obj: cccp.c config.h
-aux-output.obj: aux-output.c insn-attr.h insn-flags.h insn-config.h
-caller-save.obj: caller-save.c insn-config.h
-calls.obj: calls.c insn-flags.h
-combine.obj: combine.c insn-attr.h insn-flags.h insn-codes.h insn-config.h
-cse.obj: cse.c insn-config.h
-c-decl.obj: c-decl.c expr.h integrate.h insn-codes.h insn-config.h
-c-lex.obj: c-lex.c genrtl.h
-c-typeck.obj: c-typeck.c
-dbxout.obj: dbxout.c insn-config.h
-dwarfout.obj: dwarfout.c insn-config.h
-dwarf2out.obj: dwarf2out.c insn-config.h
-emit-rtl.obj: emit-rtl.c insn-config.h
-except.obj: except.c insn-flags.h insn-codes.h insn-config.h
-explow.obj: explow.c insn-flags.h insn-codes.h insn-config.h
-expmed.obj: expmed.c insn-flags.h insn-codes.h insn-config.h
-expr.obj: expr.c insn-flags.h insn-config.h
-final.obj: final.c tm.h insn-attr.h insn-flags.h insn-codes.h insn-config.h
-flow.obj: flow.c insn-config.h
-function.obj: function.c insn-flags.h insn-codes.h insn-config.h insn-codes.h insn-config.h
-genattrtab.obj: genattrtab.c insn-config.h
-genextract.obj: genextract.c insn-config.h
-global.obj: global.c insn-config.h
-integrate.obj: integrate.c integrate.h insn-flags.h insn-config.h
-jump.obj: jump.c insn-flags.h insn-config.h
-local-alloc.obj: local-alloc.c insn-config.h
-loop.obj: loop.c insn-flags.h insn-config.h
-optabs.obj: optabs.c insn-flags.h insn-codes.h insn-config.h
-print-rtl.obj: print-rtl.c
-profile.obj: profile.c insn-flags.h insn-config.h
-recog.obj: recog.c insn-attr.h insn-flags.h insn-codes.h insn-config.h
-regclass.obj: regclass.c insn-config.h
-reg-stack.obj: reg-stack.c insn-config.h
-reload.obj: reload.c insn-codes.h insn-config.h
-reload1.obj: reload1.c insn-flags.h insn-codes.h insn-config.h
-reorg.obj: reorg.c insn-attr.h insn-flags.h insn-config.h
-sched.obj: sched.c insn-attr.h insn-config.h
-haifa-sched.obj: haifa-sched.c insn-attr.h insn-config.h
-stmt.obj: stmt.c insn-flags.h insn-codes.h insn-config.h
-stor-layout.obj: stor-layout.c
-stupid.obj: stupid.c
-toplev.obj: toplev.c insn-attr.h insn-config.h
-unroll.obj: unroll.c insn-config.h
-
-insn-attrtab.obj: insn-attrtab.c insn-attr.h insn-config.h
-insn-output.obj: insn-output.c insn-attr.h insn-flags.h insn-codes.h
-insn-emit.obj: insn-emit.c insn-flags.h insn-codes.h insn-config.h
-insn-opinit.obj: insn-opinit.c insn-flags.h insn-codes.h insn-config.h
-insn-output.obj: insn-config.h
-insn-recog.obj: insn-config.h
-
-varasm.obj: varasm.c tm.h
-toplev.obj: toplev.c tm.h
-
-cexp.c: cexp.y
-	$(BISON) $(BISON_FLAGS)/output=$@ $<
-c-parse.c: c-parse.y
-	$(BISON) $(BISON_FLAGS)/output=$@ $<
-[.cp]parse.c: [.cp]parse.y
-	$(BISON) $(BISON_FLAGS)/output=$@ $<
-[.cp]parse.h: [.cp]parse.c
-	@$(ECHO) "Must copy YYEMPTY from [.cp]parse.c to [.cp]parse.h"
-	$$ stop
-aux-output.c: [.config.$(ARCH)]$(ARCH).c
-	copy $< $@
-
-expr.h: insn-codes.h
-reload.h: insn-config.h
-integrate.h: insn-config.h
-
-config.h:
-	$$ @vmsconfig
-
-cleancccp:
-	$$ purge
-	$(RM) cccp.obj;,cexp.obj;
-	$(RM) cpp.exe;
-
-cleanlib:
-	$$ purge
-	$(RM) libgcc2.olb;
-
-cleanlibplus:
-	$$ purge
-	$(RM) [.cp]tinfo.obj;
-	$(RM) [.cp]tinfo2.obj;
-	$(RM) [.cp]new.obj;
-	$(RM) [.cp]new1.obj;
-	$(RM) [.cp]new2.obj;
-	$(RM) [.cp]exception.obj;
-	$(RM) libgccplus.olb;
-
-clean:
-	$$ purge
-	$$ purge [.cp]
-	$(RM) *.obj;*
-	$(RM) [.cp]*.obj;*
-	$(RM) [.cp]parse.output;*
-	$(RM) *.cpp;*
-	$(RM) *.s;*
-	$(RM) *.rtl;*
-	$(RM) a.out;
-	$(RM) *.combine;
-	$(RM) *.cpp;
-	$(RM) *.cse;
-	$(RM) *.cse2;
-	$(RM) *.dbr;
-	$(RM) *.flow;
-	$(RM) *.greg;
-	$(RM) *.jump;
-	$(RM) *.jump2;
-	$(RM) *.loop;
-	$(RM) *.lreg;
-	$(RM) *.rtl;
-	$(RM) *.sched;
-	$(RM) *.sched2;
-	$(RM) *.map;
-	$(RM) genattr.exe;,insn-attr.h;
-	$(RM) genflags.exe;,insn-flags.h;
-	$(RM) gencodes.exe;,insn-codes.h;
-	$(RM) genconfig.exe;,insn-config.h;
-	$(RM) genpeep.exe;,insn-peep.c;
-	$(RM) genopinit.exe;,insn-opinit.c;
-	$(RM) genrecog.exe;,insn-recog.c;
-	$(RM) genextract.exe;,insn-extract.c;
-	$(RM) genoutput.exe;,insn-output.c;
-	$(RM) genemit.exe;,insn-emit.c;
-	$(RM) genattrtab.exe;,insn-attrtab.c;
-	$(RM) gengenrtl.exe;,genrtl.c;,genrtl.h;
-	$(RM) cc1.exe;
-	$(RM) cpp.exe;
-	$(RM) cc1plus.exe;
-	$(RM) libgcc2.olb;
-	$(RM) libgccplus.olb;
-	$(RM) enquire.exe;,float.h;,limits.h;
-#
-# clean everything axpconfig.com creates
-#
-distclean: clean cleancccp
-	purge [...]
-	$(RM) config.h;
-	$(RM) tconfig.h;
-	$(RM) hconfig.h;
-	$(RM) tm.h;
-	$(RM) options.h;
-	$(RM) specs.h;
-	$(RM) aux-output.c;
-
-[.cp]call.obj: [.cp]call.c
-[.cp]decl2.obj: [.cp]decl2.c
-[.cp]except.obj: [.cp]except.c insn-codes.h insn-flags.h
-[.cp]pt.obj: [.cp]pt.c
-[.cp]spew.obj: [.cp]spew.c
-[.cp]xref.obj: [.cp]xref.c
-[.cp]class.obj: [.cp]class.c
-[.cp]expr.obj: [.cp]expr.c insn-codes.h
-[.cp]lex.obj: [.cp]lex.c [.cp]parse.h
-[.cp]ptree.obj: [.cp]ptree.c
-[.cp]tree.obj: [.cp]tree.c
-[.cp]cvt.obj: [.cp]cvt.c
-[.cp]errfn.obj: [.cp]errfn.c
-[.cp]rtti.obj: [.cp]rtti.c
-[.cp]method.obj: [.cp]method.c insn-codes.h
-[.cp]search.obj: [.cp]search.c
-[.cp]typeck.obj: [.cp]typeck.c
-[.cp]decl.obj: [.cp]decl.c
-[.cp]error.obj: [.cp]error.c
-[.cp]friend.obj: [.cp]friend.c
-[.cp]init.obj: [.cp]init.c
-[.cp]parse.obj: [.cp]parse.c
-	$(CC) $(CFLAGS) $(CINCL_CP) $^/obj=$@
-[.cp]sig.obj: [.cp]sig.c
-[.cp]typeck2.obj: [.cp]typeck2.c
-[.cp]repo.obj: [.cp]repo.c
-[.cp]input.obj: [.cp]input.c
-	$(TOUCH) $@
-# g++ library
-[.cp]tinfo.obj: [.cp]tinfo.cc
-[.cp]tinfo2.obj: [.cp]tinfo2.cc
-[.cp]new.obj: [.cp]new.cc
-[.cp]new1.obj: [.cp]new1.cc
-[.cp]new2.obj: [.cp]new2.cc
-[.cp]exception.obj: [.cp]exception.cc
-
-#EOF
diff -ruN gcc.orig/patch-apollo-includes gcc/patch-apollo-includes
--- gcc.orig/patch-apollo-includes	Wed Dec 16 20:57:30 1998
+++ gcc/patch-apollo-includes	Thu Jan  1 00:00:00 1970
@@ -1,69 +0,0 @@
-#!/bin/sh
-# patch-apollo-includes -- fix some (but not all!) Apollo brain damage.
-
-FILES_TO_PATCH='sys/types.h setjmp.h'
-
-mkdir sys
-
-for i in $FILES_TO_PATCH;
-do
-  cp /bsd4.3/usr/include/$i ./$i
-done
-
-patch -b -apollo <<'EOP'
-*** /bsd4.3/usr/include/sys/types.h	Fri Apr  8 20:29:06 1988
---- sys/types.h	Wed Feb 26 21:17:57 1992
-***************
-*** 38,44 ****
---- 38,47 ----
-  typedef	char *	caddr_t;
-  typedef	u_long	ino_t;
-  typedef	long	swblk_t;
-+ #ifndef _SIZE_T
-+ #define _SIZE_T
-  typedef	long	size_t;
-+ #endif
-  typedef	long	time_t;
-  typedef	long	dev_t;
-  typedef	long	off_t;
-*** /bsd4.3/usr/include/setjmp.h	Fri Feb  3 21:40:21 1989
---- setjmp.h	Sun Feb 23 19:06:55 1992
-***************
-*** 24,30 ****
---- 24,39 ----
-  #endif
-  
-  
-+ #ifdef __GNUC__
-  #ifdef _PROTOTYPES
-+ extern int sigsetjmp (sigjmp_buf env, int savemask);
-+ extern void siglongjmp (sigjmp_buf env, int val);
-+ #else
-+ extern int sigsetjmp();
-+ extern void siglongjmp();
-+ #endif /* _PROTOTYPES */
-+ #else /* not __GNUC__ */
-+ #ifdef _PROTOTYPES
-  extern int sigsetjmp(
-          sigjmp_buf env,
-          int savemask
-***************
-*** 37,43 ****
-  extern int sigsetjmp() #options(abnormal);
-  extern void siglongjmp() #options(noreturn);
-  #endif /* _PROTOTYPES */
-! 
-  #undef _PROTOTYPES
-  
-  #ifdef __cplusplus
---- 46,52 ----
-  extern int sigsetjmp() #options(abnormal);
-  extern void siglongjmp() #options(noreturn);
-  #endif /* _PROTOTYPES */
-! #endif /* not __GNUC__ */
-  #undef _PROTOTYPES
-  
-  #ifdef __cplusplus
-EOP
-
-exit 0
diff -ruN gcc.orig/vmsconfig.com gcc/vmsconfig.com
--- gcc.orig/vmsconfig.com	Wed Dec 16 20:58:49 1998
+++ gcc/vmsconfig.com	Thu Jan  1 00:00:00 1970
@@ -1,500 +0,0 @@
-$ !
-$ !	Set up to compile GCC on VMS.
-$ !
-$ ! Set the def dir to proper place for use in batch. Works for interactive too.
-$flnm = f$enviroment("PROCEDURE")     ! get current procedure name
-$set default 'f$parse(flnm,,,"DEVICE")''f$parse(flnm,,,"DIRECTORY")'
-$ !
-$set symbol/scope=(nolocal,noglobal)
-$if f$trnlnm("IFILE$").nes."" then close/noLog ifile$
-$ !
-$ echo = "write sys$output"
-$ !
-$ arch_indx = 1 + ((f$getsyi("CPU").ge.128).and.1)	! vax==1, alpha==2
-$ arch = f$element(arch_indx,"|","|vax|alpha|")
-$ !
-$ if f$search("config.h") .nes. "" then delete config.h.*
-$ if arch .eqs. "vax"
-$ then
-$   copy [.config.'arch']xm-vms.h []config.h
-$   echo "Linked `config.h' to `[.config.''arch']xm-vms.h'."
-$else
-$   open/write cfile []config.h
-$   write cfile "#include "+"""config/"+arch+"/xm-"+arch+".h"+"""
-$   write cfile "#include "+"""config/"+arch+"/xm-vms.h"+"""
-$   close cfile
-$   echo "Created `config.h'."
-$ endif
-$ !
-$ if f$search("tconfig.h") .nes. "" then delete tconfig.h.*
-$ create []tconfig.h
-$DECK
-/* tconfig.h == config.h :: target and host configurations are the same */
-#include "config.h"
-$EOD
-$ echo "Created `tconfig.h'.
-$ !
-$ if f$search("hconfig.h") .nes. "" then delete hconfig.h.*
-$ create []hconfig.h
-$DECK
-/* hconfig.h == config.h :: host and target configurations are the same */
-#include "config.h"
-$EOD
-$ echo "Created `hconfig.h'.
-$ !
-$ if f$search("tm.h") .nes. "" then delete tm.h.*
-$ !
-$ edit/tpu/nojournal/nosection/nodisplay/command=sys$input -
-        [.config.'arch']vms.h /output=[]tm.h
-$DECK
-!
-!  Copy file, changing lines of the form
-!	#include "vax/*"
-!  or
-!	#include "alpha/*"
-!  into
-!	#include "config-*"
-!
-   file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name"));
-   targ := LINE_BEGIN & '#include' & SPAN(ASCII(32)+ASCII(9))
-	   & '"' & ('vax' | 'alpha') & '/';
-   rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file));
-   LOOP
-      incl := SEARCH_QUIETLY(targ, FORWARD, EXACT, rang);
-      EXITIF incl = 0;
-      POSITION(BEGINNING_OF(incl));
-      ERASE(incl);
-      COPY_TEXT('#include "config-');
-      rang := CREATE_RANGE(END_OF(incl), END_OF(file));
-   ENDLOOP;
-   WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file"));
-   QUIT
-$  EOD
-$ echo "Generated `tm.h' from `[.config.''arch']vms.h'."
-$ !
-$	!crude hack to allow compiling from [.cp] subdirectory
-$ if f$search("config-''arch'.h") .nes. "" then delete config-'arch'.h;*
-$ copy [.config.'arch']'arch'.h []config-'arch'.h
-$ echo "Linked `config-''arch'.h' to `[.config.''arch']''arch'.h' for `tm.h'."
-$ !
-$ call make_lang_incl "options.h"
-$ !
-$ call make_lang_incl "specs.h"
-$ !
-$ if arch .eqs. "vax"
-$ then
-$   if f$search("''arch'.md") .nes. "" then delete 'arch'.md;*
-$   copy [.config.'arch']'arch'.md []'arch'.md
-$   echo "Copied `''arch'.md' from `[.config.''arch']''arch'.md'."
-$ endif
-$ !
-$ if f$search("aux-output.c") .nes. "" then delete aux-output.c.*
-$ copy [.config.'arch']'arch'.c []aux-output.c
-$ echo "Linked `aux-output.c' to `[.config.''arch']''arch'.c'.
-$ !
-$ !
-$ !
-$ ! Create the file version.opt, which helps identify the executable.
-$ !
-$search version.c version_string,"="/match=and/output=t.tmp
-$open ifile$ t.tmp
-$read ifile$ line
-$close ifile$
-$delete t.tmp;
-$line=f$element(1,"""",line)	!extract the portion between 1st & 2nd quotes
-$! Format of 'line' is "name-nn.nn.nn[.nn] [date text]" (without the quotes).
-$! We want "name-nn.nn.nn[.nn][-date]"; "-date" suffix is optional.
-$id = f$element(1,"-",line)		!strip "name-" prefix
-$if id.eqs."-" then  id = line		!no prefix found?
-$id = f$element(0," ",id) + "-" + f$element(1," ",id)	!first two tokens
-$id = id - "- "		!in case 2nd token was empty
-$if f$length(id).gt.15 then  id = f$extract(0,15,id)	!length limitation
-$!
-$open/write ifile$ version.opt
-$write ifile$ "ident="+""""+id+""""
-$close ifile$
-$purge version.opt
-$!
-$!
-$! create linker options files that lists all of the components for all
-$! possible compilers.  We do this by editing the file Makefile.in, and 
-$! generating the relevant files from it.
-$!
-$!
-$! Make a copy of the makefile if the sources are on a disk that is NFS 
-$!    mounted on a unix machine.
-$if f$search("Makefile.in").eqs."" .and. f$search("$M$akefile.in").nes."" -
-	then copy $M$akefile.in Makefile.in
-$! This should be automated across all front-end subdirectories.
-$!    For now, it's hardcoded.
-$if f$search("[.cp]Makefile.in").eqs."" .and. f$search("[.cp]$M$akefile.in").nes."" -
-	then copy [.cp]$M$akefile.in [.cp]Makefile.in
-$!
-$!
-$echo "Now processing Makefile.in to generate linker option files."
-$edit/TPU/noJournal/noSection/noDisplay/Command=sys$input: Makefile.in -
-	/Start_Position=('arch_indx')		! 1 for vax, 2 for alpha
-!!
-VARIABLE makefile_buf, opt_file_buf, complist_buf, extra_compilers; ! Globals.
-VARIABLE arch;		! String 'vax' or 'alpha', set in configure_makefile().
-
-!!
-PROCEDURE process_makefile( )
-  !
-  ! Interpret Makefile.in and subsidiary Make-lang.in templates.
-  !
-  LOCAL range1, cmark, makefilename;
-
-  makefilename	  := GET_INFO (COMMAND_LINE, 'FILE_NAME'); ! "Makefile.in"
-  makefile_buf	  := CREATE_BUFFER ("makefile", makefilename);
-  opt_file_buf	  := CREATE_BUFFER ("opt_file");
-  complist_buf	  := CREATE_BUFFER ("complist");
-  extra_compilers := CREATE_ARRAY;
-  !
-  SET (NO_WRITE, makefile_buf, ON);	! Used as workspace; don't save it.
-  SET (OUTPUT_FILE, complist_buf, "compilers.list");
-  !
-  ! Make some textual substitutions.
-  !
-  configure_makefile ();
-  !
-  ! Collect a list of supported compilers (``COMPILERS=xxx'' macro).
-  !
-  identify_compilers ();
-  !
-  ! Plus other known compilers described by Make-lang.in makefile fragments.
-  ! Add new entries as needed; args are (target name, subdirectory name).
-  !
-  additional_compiler ("cc1plus", "cp");
-  !
-  WRITE_FILE (complist_buf);		! Now save "compilers.list".
-  !
-  ! Add to this list, as required.  The file "Makefile.in" is searched for
-  ! a tag that looks like "LINE_BEGIN + 'tag + (optional space) + "="".
-  ! The contents are assumed to be a list of object files, and from this
-  ! list a VMS linker options file is generated.
-  !
-  generate_option_file ("OBJS",		 "=", "independent.opt");
-  generate_option_file ("LIB2FUNCS",	 "=", "libgcc2.list");
-  generate_option_file ("CXX_LIB2FUNCS", "=", "libgcc2-cxx.list");
-  !
-  ! Now change OBJS in the Makefile, so each language specific options file
-  ! does not pick up all of the language independent files.
-  !
-  POSITION (BEGINNING_OF (makefile_buf));
-  COPY_TEXT ("OBJS=");	! New copy with empty value, seen before real OBJS.
-  SPLIT_LINE;
-  !
-  ! Lastly, process each compiler-specific object dependency list.
-  !
-  POSITION (BEGINNING_OF (complist_buf));
-  LOOP
-    cmark := MARK (NONE);
-    EXITIF (cmark = END_OF (complist_buf));
-    ! The current line contains the name of a compiler target, such as "cc1".
-    MESSAGE (CURRENT_LINE);	! Give some interactive feedback.
-    generate_option_file (CURRENT_LINE, ":", CURRENT_LINE + "-objs.opt");
-    POSITION (cmark);
-    MOVE_VERTICAL (1);		! Go to the next line.
-  ENDLOOP;
-ENDPROCEDURE; !process_makefile
-!!
-
-PROCEDURE process_objc_lib( )
-  !
-  ! Interpret objc/Makefile, after finishing the top makefile.
-  !
-  ON_ERROR
-    [TPU$_OPENIN]:
-      MESSAGE ("Cannot load objc/Makefile for ""ObjClib""; skipping it.");
-      RETURN;
-  ENDON_ERROR;
-
-  ERASE (makefile_buf);			!discard top Makefile
-  POSITION (END_OF (makefile_buf));
-  READ_FILE ("[.objc]Make-lang.in");	!load objc one
-  MESSAGE ("objclib");
-  pat_replace (ASCII(9), " ");		!change any <tab> to <space>
-  generate_option_file ("OBJC_O", "=", "objc-objs.opt");
-  POSITION (BEGINNING_OF (makefile_buf));
-  ! Join any continuation lines; we want the header list to be one line.
-  pat_replace ("\" & LINE_END, );
-  generate_option_file ("OBJC_H", "=", "objc-hdrs.list");
-ENDPROCEDURE; !process_objc_lib
-!!
-
-PROCEDURE configure_makefile( )
-  !
-  ! Plug in some values normally handled by `configure'.  Rather than
-  ! replacing the dummy entries, insert the real entries before them.
-  !
-  IF (GET_INFO (COMMAND_LINE, 'START_RECORD') <> 2) THEN
-    arch := 'vax';
-  ELSE
-    arch := 'alpha';
-  ENDIF;
-  POSITION (BEGINNING_OF (makefile_buf));
-  COPY_TEXT ("target=" + arch + "-vms");	SPLIT_LINE;
-  COPY_TEXT ("out_file=aux-output.c");		SPLIT_LINE;	! 'arch'/'arch'.c
-  COPY_TEXT ("out_object_file=aux-output.o");	SPLIT_LINE;	! aux-output.obj
-  COPY_TEXT ("md_file=" + arch + ".md");	SPLIT_LINE;	! 'arch'/'arch'.md
-  COPY_TEXT ("tm_file=tm.h");			SPLIT_LINE;	! 'arch'/tm-vms.h
-  pat_replace ("@" &
-    SPAN("abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ#~0123456789")
-		   & "@", );		! strip `configure' dummy values
-ENDPROCEDURE; !configure_makefile
-!!
-
-PROCEDURE identify_compilers( )
-  !
-  ! Retrieve the list of supported compilers from Makefile.in, and put them
-  ! into file "compilers.list", one per line, for subsequent access from DCL.
-  !
-  LOCAL range1;
-
-  ! Strip most comments from the makefile, to speed up subsequent processing.
-  POSITION (BEGINNING_OF (makefile_buf));
-  pat_replace (LINE_BEGIN & "#" & REMAIN & LINE_END, );
-  pat_replace ("$(exeext)", );
-  pat_replace ("@all_compilers@", );
-!#  ! Convert directory references to VMS syntax (actually, just strip it).
-!#  pat_replace (" $(srcdir)/", " ");
-  ! Look up the ``COMPILERS=cc1 xyzzy'' Makefile macro and put
-  ! its ``cc1 xyzzy'' value into the compilers buffer.
-  POSITION (BEGINNING_OF (complist_buf));
-!#--at some point we may want to add this--
-!#  recursive_fetch_tag ("CCCP", "=");	  ! Include the preprocessor.
-!#  POSITION (END_OF (complist_buf));
-  recursive_fetch_tag ("COMPILERS", "=");
-  ! Convert all spaces into newlines, then remove any blank lines.
-  pat_replace (SPAN(" "), LINE_END);
-  pat_replace (LINE_BEGIN & LINE_END, );
-ENDPROCEDURE; !identify_compilers
-!!
-
-PROCEDURE additional_compiler( cname, subdir )
-  !
-  ! Load Make-lang.in for compiler CNAME from SUBDIR and append it to the
-  ! end of Makefile.in's buffer.  Add CNAME to the "compilers.list" buffer.
-  !
-  ON_ERROR
-    ! Don't abort if user removes the supporting subdirectory for a
-    ! language she's not interested in.
-    [TPU$_OPENIN]:
-      MESSAGE ("Cannot load " + subdir + "/Make-lang.in for "
-	       + '"' + cname + '"' + "; skipping it.");
-      RETURN;
-  ENDON_ERROR;
-
-  POSITION (END_OF (makefile_buf));
-  SPLIT_LINE;	! Separate with a blank line.
-  READ_FILE ("[." + subdir + "]Make-lang.in");	! Load Makefile fragment.
-  ! Make sure that $(xxx_OTH_SRCS) expands to empty string by renaming $(it)
-  pat_replace ("_OTH_SRCS)", "_OTH_SRCS_dummy_)");
-  ! Convert subdirectory references into VMS syntax.
-  pat_replace ("$(srcdir)/" + subdir + "/", "[." + subdir + "]");
-
-    ! Temporary? hack for cp/Make-lang.in's mishandling of "input.c".
-    IF (subdir = 'cp') THEN
-      pat_replace ("[.cp]input.c", );	! Discard this text.
-    ENDIF;
-
-  ! Add this name to compilers.list.
-  POSITION (END_OF (complist_buf));
-  COPY_TEXT (cname);
-  ! Make array entry indexed by compiler's file name; its value is arbitrary.
-  extra_compilers{cname} := subdir;
-ENDPROCEDURE; !additional_compiler
-!!
-
-PROCEDURE generate_option_file( tag_name, punct, outfile_name )
-  !
-  ! Produce a file listing the names of particular object files, for use
-  ! as input to the linker and also for use in finding source names by
-  ! make-cc1.com.  Generally, any name suffix will be suppressed.
-  !
-  LOCAL range1, range2;
-
-  POSITION (BEGINNING_OF (opt_file_buf));
-  recursive_fetch_tag (tag_name, punct);
-  ! First fix up for subdirectory/Make-lang.in.
-  IF (pat_replace ("stamp-objlist" & (SPAN(" ")|LINE_END), " ") > 0) THEN
-    recursive_fetch_tag ("stamp-objlist", ":");
-  ENDIF;
-  ! Now fix up a few things in the output buffer.
-  pat_replace ("Makefile" & (SPAN(" ")|LINE_END), " ");
-!#  FILL (CURRENT_BUFFER, " ", 1, 80, 0);	! Condense things a bit.
-  pat_replace ("." & ("o"|"c"|"y") & ((SPAN(" ")&LINE_END)|LINE_END), LINE_END);
-  pat_replace ("." & ("o"|"c"|"y") & SPAN(" "), ",");
-  pat_replace (".h" & (SPAN(" ")|LINE_END), ".h,");
-  ! Remove trailing commas, if present.
-  pat_replace ("," & ((SPAN(" ")&LINE_END)|LINE_END), LINE_END);
-  ! Get rid of spaces and blank lines.
-  pat_replace (SPAN(" "), LINE_END);
-  pat_replace (LINE_BEGIN & LINE_END, );
-  ! Second fix up for subdirectory/Make-lang.in;
-  ! avoid "sticky defaults" when linker processes the resulting options file.
-  IF (extra_compilers{outfile_name - "-objs.opt"} <> TPU$K_UNSPECIFIED) THEN
-    POSITION (BEGINNING_OF (opt_file_buf));
-    range1 := CREATE_RANGE (MARK (NONE), END_OF (CURRENT_BUFFER), NONE);
-    LOOP
-      range2 := SEARCH_QUIETLY (LINE_BEGIN | ",", FORWARD, EXACT, range1);
-      EXITIF (range2 = 0);
-      POSITION (BEGINNING_OF (range2));
-      IF (CURRENT_CHARACTER = ",") THEN  MOVE_HORIZONTAL (1); ENDIF;
-      ! If it's not already "[.subdir]name", explicitly make it "[]name".
-      IF (CURRENT_CHARACTER <> "[") THEN  COPY_TEXT ("[]"); ENDIF;
-      MOVE_HORIZONTAL (1);
-      MODIFY_RANGE (range1, MARK (NONE), END_OF (range1));
-    ENDLOOP;
-  ENDIF;
-  ! Now write the output file.
-  SET (OUTPUT_FILE, opt_file_buf, outfile_name);
-  WRITE_FILE (opt_file_buf);
-  ERASE (opt_file_buf);		! Clear buffer out for next opt_file pass.
-ENDPROCEDURE; !generate_option_file
-!!
-
-PROCEDURE recursive_fetch_tag( tag_n, punct )
-  !
-  ! Look up TAG_N, copy it to OPT_FILE_BUF, and then translate any $(...)
-  ! definitions that appear.  The translation is put at the current point.
-  !
-  LOCAL mark1, mark2, range1, tag_range, tag_string;
-
-  fetch_tag (tag_n, punct);
-  ! Substitute any makefile symbols $(...).
-  POSITION (BEGINNING_OF (CURRENT_BUFFER));
-  LOOP
-    range1 := SEARCH_QUIETLY ("$(" &
-      SPAN("abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ#~0123456789")
-				   & ")", FORWARD, EXACT);
-    EXITIF (range1 = 0);
-    POSITION (BEGINNING_OF (range1));
-    MOVE_HORIZONTAL (2);	! Past opening "$(".
-    mark1 := MARK (NONE);
-    POSITION (END_OF (range1));
-    MOVE_HORIZONTAL (-1);	! In front of closing ")".
-    mark2 := MARK (NONE);
-    tag_range := CREATE_RANGE (mark1, mark2, NONE);
-    POSITION (END_OF (range1));
-    tag_string := STR (tag_range);
-    ERASE (range1);
-    fetch_tag (tag_string, "=");
-    POSITION (BEGINNING_OF (CURRENT_BUFFER));
-  ENDLOOP;
-ENDPROCEDURE; !recursive_fetch_tag
-!!
-
-PROCEDURE fetch_tag( tag_n, punct )
-  !
-  ! Looks up the translation of a tag, and inserts it at the current location
-  ! in the buffer.
-  !
-  LOCAL mark0, mark1, mark2, range2;
-
-  mark0 := MARK (NONE);     ! Remember where we started; restore before return.
-  POSITION (BEGINNING_OF (makefile_buf));
-  ! The tag definition always starts in the first column, and might have
-  ! optional space(es) before "=" or ":" punctuation.
-  range2 := SEARCH_QUIETLY (LINE_BEGIN & tag_n & ((SPAN(" ") & punct) | punct),
-			    FORWARD, EXACT);
-  IF (range2 = 0) THEN
-    POSITION (mark0);
-    RETURN;
-  ENDIF;
-  POSITION (END_OF (range2));
-  MOVE_HORIZONTAL (1);		! Move beyond "TAG=".
-  mark1 := MARK (NONE);
-  POSITION (BEGINNING_OF (range2));
-  LOOP
-    MOVE_VERTICAL (1);
-    MOVE_HORIZONTAL (-2);
-    EXITIF (CURRENT_CHARACTER <> "\");
-    ERASE_CHARACTER (1);
-    MOVE_HORIZONTAL (1);
-  ENDLOOP;
-  MOVE_HORIZONTAL (1);
-  mark2 := MARK (NONE);
-  range2 := CREATE_RANGE (mark1, mark2, NONE);
-  POSITION (mark0);
-  IF (LENGTH (range2) <> 0) THEN
-    COPY_TEXT (range2);
-  ENDIF;
-ENDPROCEDURE; !fetch_tag
-!!
-
-PROCEDURE pat_replace( oldstring, newstring )
-  !
-  ! Replace all occurrences of a pattern.
-  !
-  LOCAL range1, range2, kill_it, count;
-
-  count := 0;
-  kill_it := (GET_INFO (newstring, 'TYPE') = UNSPECIFIED);	! Omitted arg.
-  range1 := CREATE_RANGE (BEGINNING_OF (CURRENT_BUFFER),
-			  END_OF (CURRENT_BUFFER), NONE);
-  LOOP
-    range2 := SEARCH_QUIETLY (oldstring, FORWARD, EXACT, range1);
-    EXITIF (range2 = 0);
-    count := count + 1;
-    POSITION (BEGINNING_OF (range2));
-    ERASE (range2);
-    IF (newstring = LINE_END) THEN
-      SPLIT_LINE;
-    ELSE IF (NOT kill_it) THEN
-      COPY_TEXT (newstring);
-    ENDIF; ENDIF;
-    MODIFY_RANGE (range1, MARK (NONE), END_OF (range1));
-  ENDLOOP;
-  RETURN count;
-ENDPROCEDURE; !pat_replace
-!!
-
-!
-! This is the main routine.
-!
-process_makefile ();
-process_objc_lib ();	!this uses a different makefile
-QUIT;	! All done; don't write any modified buffers.
-!!
-$ echo ""
-$!
-$! Remove excessive versions of the option files...
-$!
-$ purge *.opt,*.list
-$!
-$!
-$!
-$ if f$search("config.status") .nes. "" then delete config.status.*
-$ create config.status
-$ open/append ifile$ config.status
-$ write ifile$ "Links are now set up for use with a ''arch' running VMS."
-$ close ifile$
-$ type config.status
-$ echo ""
-$!
-$ exit
-$
-$!
-$! Construct a header file based on subdirectory contents
-$!
-$make_lang_incl: subroutine
-$  if f$search(p1).nes."" then delete 'p1';*
-$  create 'p1'	!empty file with ordinary text-file attributes
-$  open/Append ifile$ 'p1'
-$  write ifile$ "/* ''p1' */"
-$  hfile = f$search("[]''p1'")
-$  topdir = f$parse(hfile,,,"DIRECTORY") - "]"
-$lang_incl_loop:
-$  hfile = f$search("[.*]lang-''p1'")
-$  if hfile.eqs."" then goto lang_incl_done
-$  dir = f$parse(hfile,,,"DIRECTORY") - "]"
-$! convert absolute path to relative one, yielding "[.subdir]"
-$  dir = "[" + f$edit(dir - topdir,"LOWERCASE") + "]"
-$  write ifile$ "#include ""''dir'lang-''p1'"""
-$  goto lang_incl_loop
-$lang_incl_done:
-$  close ifile$
-$  echo "Created `''p1''."
-$ endsubroutine !make_lang_incl

-- 
Joseph S. Myers
jsm28@cam.ac.uk


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]