diff --git a/gcc/make-gcc.com b/gcc/make-gcc.com index ff8ae23b0ba..c9afc94f0e3 100644 --- a/gcc/make-gcc.com +++ b/gcc/make-gcc.com @@ -24,5 +24,62 @@ $! libgcc2.olb. To install, extract all of the modules from libgcc2.olb and $! add them to gnu_cc:[000000]gcclib.olb. You may have to delete the eprintf $! and new modules from the gnu_cc:[000000]gcclib.olb, since libgcc2 supplies $! these same routines with different module names. -$! +$! +$! Set up the logical names to use the compiler that we just built. +$! +$ Procedure:='f$environment("PROCEDURE")' +$ Device:='f$parse(Procedure,,,"DEVICE","NO_CONCEAL")' +$ Directory:='f$parse(Procedure,,,"DIRECTORY","NO_CONCEAL")' +$ Path:="''Device'''Directory'" +$! +$! Check for "rooted" directory specs +$! +$ l = 'f$length(Path)' +$ tmp = 'f$locate(".][",Path)' +$ if 'tmp' .ne. 'l' then goto 10$ +$ tmp = 'f$locate(".><",Path)' +$ if 'tmp' .ne. 'l' then goto 10$ +$ goto 100$ +$! +$! Eliminate rooted directory specs +$! +$ 10$: +$ if "''f$extract(tmp,255,Path)'" .eqs. ".][000000]" then goto 20$ +$ if "''f$extract(tmp,255,Path)'" .eqs. ".><000000>" then goto 20$ +$ l = tmp + 3 +$ Path:="''f$extract(0,tmp,Path)'.''f$extract(l,255,Path)'" +$ goto 100$ +$ 20$: +$ l = tmp + 1 +$ Path:="''f$extract(0,tmp,Path)'''f$extract(l,1,Path)'" +$ 100$: +$! +$! Calculate the prefix and suffix (used in generating desired paths) +$! +$ l = 'f$length(Path)' - 1 +$ Prefix:='f$Extract(0,l,Path)' +$ Suffix:='f$extract(l,1,Path)' +$! +$ gnu_cc_path:="''Prefix'.''Suffix'" +$! +$oldgcc=f$trnlnm("GNU_CC") +$ assign 'gnu_cc_path'/translation=concealed, - + 'f$trnlnm("GNU_CC")/translation=concealed GNU_CC +$! +$! Set the version number from version.opt. +$! +$open ifile$ version.opt +$read ifile$ line +$close ifile$ +$ijk = f$locate("=",line) + 1 +$line='f$extract(ijk,255,line) +$assign 'line' gnu_cc_version +$! +$! Now build gcclib2.olb +$! $@make-l2 +$! +$! Deassign logical names. +$! +$deassign gnu_cc_version +$deassign gnu_cc diff --git a/gcc/make-l2.com b/gcc/make-l2.com index fb5a3aa9511..c9d6a3c9f2c 100644 --- a/gcc/make-l2.com +++ b/gcc/make-l2.com @@ -7,6 +7,12 @@ $! 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 $! +$if f$extract(0,1,f$trnlnm("GNU_CC_VERSION")).nes."1" then goto compile +$! +$write sys$output "This must be compiled by gcc 2.0" +$exit +$! +$compile: $lib/create libgcc2.olb $call compile_libgcc2 "L_muldi3" $call compile_libgcc2 "L_divdi3"