From 63fb6fc7f8e0b16439a3fc9db8554450861a2643 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Mon, 17 Sep 2001 21:40:28 +0100 Subject: [PATCH] dostage2, [...]: Remove obsolete files. * dostage2, dostage3, listing, make-l2.com, makefile.vms, patch-apollo-includes, vmsconfig.com: Remove obsolete files. From-SVN: r45661 --- gcc/ChangeLog | 5 + gcc/dostage2 | 2 - gcc/dostage3 | 3 - gcc/listing | 227 ----------------- gcc/make-l2.com | 149 ------------ gcc/makefile.vms | 413 ------------------------------- gcc/patch-apollo-includes | 69 ------ gcc/vmsconfig.com | 500 -------------------------------------- 8 files changed, 5 insertions(+), 1363 deletions(-) delete mode 100755 gcc/dostage2 delete mode 100755 gcc/dostage3 delete mode 100755 gcc/listing delete mode 100644 gcc/make-l2.com delete mode 100644 gcc/makefile.vms delete mode 100755 gcc/patch-apollo-includes delete mode 100644 gcc/vmsconfig.com diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 554b2528b58..c66d0d93e35 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-09-17 Joseph S. Myers + + * dostage2, dostage3, listing, make-l2.com, makefile.vms, + patch-apollo-includes, vmsconfig.com: Remove obsolete files. + 2001-09-17 Kaveh R. Ghazi * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of diff --git a/gcc/dostage2 b/gcc/dostage2 deleted file mode 100755 index bb33f7dc27e..00000000000 --- a/gcc/dostage2 +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -make -k LANGUAGES=c $1 CC=stage1/xgcc XCFLAGS=-Bstage1/ CFLAGS="-g $2" >log2 2>&1 diff --git a/gcc/dostage3 b/gcc/dostage3 deleted file mode 100755 index 21f17fc11c7..00000000000 --- a/gcc/dostage3 +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -make -k LANGUAGES=c $1 CC=stage2/xgcc XCFLAGS=-Bstage2/ CFLAGS="-g $2" >log3 2>&1 - diff --git a/gcc/listing b/gcc/listing deleted file mode 100755 index dc989f6eaef..00000000000 --- a/gcc/listing +++ /dev/null @@ -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 - -# Revision 1.4 94/08/26 13:58:27 coxs -# 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 </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 --git a/gcc/make-l2.com b/gcc/make-l2.com deleted file mode 100644 index 93694c8c4e8..00000000000 --- a/gcc/make-l2.com +++ /dev/null @@ -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 --git a/gcc/makefile.vms b/gcc/makefile.vms deleted file mode 100644 index a1ee75ea7c2..00000000000 --- a/gcc/makefile.vms +++ /dev/null @@ -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) $ $@ - -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 --git a/gcc/patch-apollo-includes b/gcc/patch-apollo-includes deleted file mode 100755 index 8daf88cb54e..00000000000 --- a/gcc/patch-apollo-includes +++ /dev/null @@ -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 --git a/gcc/vmsconfig.com b/gcc/vmsconfig.com deleted file mode 100644 index d98bb109220..00000000000 --- a/gcc/vmsconfig.com +++ /dev/null @@ -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 to - 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 -- 2.30.2