parent
ab27e96e2c
commit
6ab6f07176
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue