mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
(Reflect changes from binutils):
2009-09-02 Tristan Gingold <gingold@adacore.com> * vmsbuild.com: Removed as unused and superceeded by makefile.vms. * makefile.vms: Ported to Itanium VMS. Remove useless targets and dependencies. Remove unused FORMAT variable. * configure.com: New file to create build.com DCL script for Itanium VMS or Alpha VMS. From-SVN: r151333
This commit is contained in:
parent
75cb00577b
commit
f071aaca7e
@ -1,3 +1,11 @@
|
|||||||
|
2009-09-02 Tristan Gingold <gingold@adacore.com>
|
||||||
|
|
||||||
|
* vmsbuild.com: Removed as unused and superceeded by makefile.vms.
|
||||||
|
* makefile.vms: Ported to Itanium VMS. Remove useless targets and
|
||||||
|
dependencies. Remove unused FORMAT variable.
|
||||||
|
* configure.com: New file to create build.com DCL script for
|
||||||
|
Itanium VMS or Alpha VMS.
|
||||||
|
|
||||||
2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||||
|
|
||||||
* configure.ac (AC_PREREQ): Bump to 2.64.
|
* configure.ac (AC_PREREQ): Bump to 2.64.
|
||||||
|
38
libiberty/configure.com
Normal file
38
libiberty/configure.com
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
$!
|
||||||
|
$! This file configures the libiberty library for use with openVMS.
|
||||||
|
$!
|
||||||
|
$! We do not use the configure script, since we do not have /bin/sh
|
||||||
|
$! to execute it.
|
||||||
|
$!
|
||||||
|
$! Written by Tristan Gingold (gingold@adacore.com)
|
||||||
|
$!
|
||||||
|
$!
|
||||||
|
$!
|
||||||
|
$ copy config.h-vms config.h
|
||||||
|
$!
|
||||||
|
$ write sys$output "Generate libiberty build.com"
|
||||||
|
$!
|
||||||
|
$ create build.com
|
||||||
|
$DECK
|
||||||
|
$ FILES="getopt,obstack,xexit,xmalloc,hex,getopt1,cplus-dem,cp-demangle,"+-
|
||||||
|
"cp-demint,asprintf,vasprintf,mkstemps,concat,getruntime,getpagesize,"+-
|
||||||
|
"getpwd,xstrerror,xmemdup,xstrdup,xatexit,choose-temp,fnmatch,objalloc,"+-
|
||||||
|
"safe-ctype,hashtab,lbasename,argv,lrealpath,make-temp-file,"+-
|
||||||
|
"stpcpy,unlink-if-ordinary"
|
||||||
|
$ OPT="/noopt/debug/warnings=disable=(missingreturn)"
|
||||||
|
$ CFLAGS=OPT + "/include=([],[-.include])/name=(as_is,shortened)" +-
|
||||||
|
"/define=(HAVE_CONFIG_H=1)" +-
|
||||||
|
"/prefix=(all,exc=(""getopt"",""optarg"",""optopt"",""optind"",""opterr""))"
|
||||||
|
$ write sys$output "CFLAGS=",CFLAGS
|
||||||
|
$ NUM = 0
|
||||||
|
$ LOOP:
|
||||||
|
$ F = F$ELEMENT(NUM,",",FILES)
|
||||||
|
$ IF F.EQS."," THEN GOTO END
|
||||||
|
$ write sys$output "Compiling ", F, ".c"
|
||||||
|
$ cc 'CFLAGS 'F.c
|
||||||
|
$ NUM = NUM + 1
|
||||||
|
$ GOTO LOOP
|
||||||
|
$ END:
|
||||||
|
$ purge
|
||||||
|
$ lib/create libiberty 'FILES
|
||||||
|
$EOD
|
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# Makefile for libiberty under openVMS/Alpha
|
# Makefile for libiberty under openVMS
|
||||||
#
|
#
|
||||||
# For use with gnu-make for vms
|
# For use with gnu-make for vms
|
||||||
#
|
#
|
||||||
@ -13,7 +13,7 @@ OBJS=getopt.obj,obstack.obj,xexit.obj,xmalloc.obj,hex.obj,\
|
|||||||
concat.obj,getruntime.obj,getpagesize.obj,getpwd.obj,xstrerror.obj,\
|
concat.obj,getruntime.obj,getpagesize.obj,getpwd.obj,xstrerror.obj,\
|
||||||
xmemdup.obj,xstrdup.obj,xatexit.obj,choose-temp.obj,fnmatch.obj,\
|
xmemdup.obj,xstrdup.obj,xatexit.obj,choose-temp.obj,fnmatch.obj,\
|
||||||
objalloc.obj,safe-ctype.obj,hashtab.obj,lbasename.obj,argv.obj,\
|
objalloc.obj,safe-ctype.obj,hashtab.obj,lbasename.obj,argv.obj,\
|
||||||
lrealpath.obj,make-temp-file.obj,unlink-if-ordinary.obj
|
lrealpath.obj,make-temp-file.obj,stpcpy.obj,unlink-if-ordinary.obj
|
||||||
|
|
||||||
ifeq ($(CC),gcc)
|
ifeq ($(CC),gcc)
|
||||||
CFLAGS=/include=([],[-.include])
|
CFLAGS=/include=([],[-.include])
|
||||||
@ -25,15 +25,11 @@ CFLAGS=$(OPT)/include=([],[-.include])/name=(as_is,shortened)\
|
|||||||
/prefix=(all,except=("getopt","optarg","optopt","optind","opterr"))
|
/prefix=(all,except=("getopt","optarg","optopt","optind","opterr"))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
libiberty.olb: config.h $(OBJS)
|
libiberty.olb: $(OBJS)
|
||||||
purge
|
purge
|
||||||
lib/create libiberty *.obj
|
lib/create libiberty *.obj
|
||||||
|
|
||||||
config.h: config.h-vms
|
|
||||||
$(CP) $< $@
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
$$ purge
|
$$ purge
|
||||||
$(RM) config.h;
|
|
||||||
$(RM) *.obj;
|
$(RM) *.obj;
|
||||||
$(RM) libiberty.olb;
|
$(RM) libiberty.olb;
|
||||||
|
@ -1,165 +0,0 @@
|
|||||||
$! libiberty/vmsbuild.com -- build liberty.olb for VMS host, VMS target
|
|
||||||
$!
|
|
||||||
$ CC = "gcc /noVerbose/Debug/Incl=([],[-.include])"
|
|
||||||
$ LIBR = "library /Obj"
|
|
||||||
$ LINK = "link"
|
|
||||||
$ DELETE= "delete /noConfirm"
|
|
||||||
$ SEARCH= "search /Exact"
|
|
||||||
$ ECHO = "write sys$output"
|
|
||||||
$ ABORT = "exit %x002C"
|
|
||||||
$!
|
|
||||||
$ LIB_NAME = "liberty.olb" !this is what we're going to construct
|
|
||||||
$ WORK_LIB = "new-lib.olb" !used to guard against an incomplete build
|
|
||||||
$
|
|
||||||
$! manually copied from Makefile.in
|
|
||||||
$ REQUIRED_OFILES = "argv.o basename.o choose-temp.o concat.o cplus-dem.o "-
|
|
||||||
+ "fdmatch.o fnmatch.o getopt.o getopt1.o getruntime.o hex.o "-
|
|
||||||
+ "floatformat.o objalloc.o obstack.o spaces.o strerror.o strsignal.o "-
|
|
||||||
+ "xatexit.o xexit.o xmalloc.o xmemdup.o xstrdup.o xstrerror.o"
|
|
||||||
$! anything not caught by link+search of dummy.* should be added here
|
|
||||||
$ EXTRA_OFILES = ""
|
|
||||||
$!
|
|
||||||
$! move to the directory which contains this command procedure
|
|
||||||
$ old_dir = f$environ("DEFAULT")
|
|
||||||
$ new_dir = f$parse("_._;",f$environ("PROCEDURE")) - "_._;"
|
|
||||||
$ set default 'new_dir'
|
|
||||||
$
|
|
||||||
$ ECHO "Starting libiberty build..."
|
|
||||||
$ create config.h
|
|
||||||
/* libiberty config.h for VMS */
|
|
||||||
#define NEED_sys_siglist
|
|
||||||
#define NEED_strsignal
|
|
||||||
#define NEED_psignal
|
|
||||||
#define NEED_basename
|
|
||||||
$ LIBR 'WORK_LIB' /Create
|
|
||||||
$
|
|
||||||
$! first pass: compile "required" modules
|
|
||||||
$ ofiles = REQUIRED_OFILES + " " + EXTRA_OFILES
|
|
||||||
$ pass = 1
|
|
||||||
$ gosub do_ofiles
|
|
||||||
$
|
|
||||||
$! second pass: process dummy.c, using the first pass' results
|
|
||||||
$ ECHO " now checking run-time library for missing functionality"
|
|
||||||
$ if f$search("dummy.obj").nes."" then DELETE dummy.obj;*
|
|
||||||
$ define/noLog sys$error _NL: !can't use /User_Mode here due to gcc
|
|
||||||
$ define/noLog sys$output _NL: ! driver's use of multiple image activation
|
|
||||||
$ on error then continue
|
|
||||||
$ 'CC' dummy.c
|
|
||||||
$ deassign sys$error !restore, more or less
|
|
||||||
$ deassign sys$output
|
|
||||||
$ if f$search("dummy.obj").eqs."" then goto pass2_failure1
|
|
||||||
$! link dummy.obj, capturing full linker feedback in dummy.map
|
|
||||||
$ oldmsg = f$environ("MESSAGE")
|
|
||||||
$ set message /Facility/Severity/Identification/Text
|
|
||||||
$ define/User sys$output _NL:
|
|
||||||
$ define/User sys$error _NL:
|
|
||||||
$ LINK/Map=dummy.map/noExe dummy.obj,'WORK_LIB'/Libr,-
|
|
||||||
gnu_cc:[000000]gcclib.olb/Libr,sys$library:vaxcrtl.olb/Libr
|
|
||||||
$ set message 'oldmsg'
|
|
||||||
$ if f$search("dummy.map").eqs."" then goto pass2_failure2
|
|
||||||
$ DELETE dummy.obj;*
|
|
||||||
$ SEARCH dummy.map "%LINK-I-UDFSYM" /Output=dummy.list
|
|
||||||
$ DELETE dummy.map;*
|
|
||||||
$ ECHO " check completed"
|
|
||||||
$! we now have a file with one entry per line of unresolvable symbols
|
|
||||||
$ ofiles = ""
|
|
||||||
$ if f$trnlnm("IFILE$").nes."" then close/noLog ifile$
|
|
||||||
$ open/Read ifile$ dummy.list
|
|
||||||
$iloop: read/End=idone ifile$ iline
|
|
||||||
$ iline = f$edit(iline,"COMPRESS,TRIM,LOWERCASE")
|
|
||||||
$ ofiles = ofiles + " " + f$element(1," ",iline) + ".o"
|
|
||||||
$ goto iloop
|
|
||||||
$idone: close ifile$
|
|
||||||
$ DELETE dummy.list;*
|
|
||||||
$ on error then ABORT
|
|
||||||
$
|
|
||||||
$! third pass: compile "missing" modules collected in pass 2
|
|
||||||
$ pass = 3
|
|
||||||
$ gosub do_ofiles
|
|
||||||
$
|
|
||||||
$! finish up
|
|
||||||
$ LIBR 'WORK_LIB' /Compress /Output='LIB_NAME' !new-lib.olb -> liberty.olb
|
|
||||||
$ DELETE 'WORK_LIB';*
|
|
||||||
$
|
|
||||||
$! all done
|
|
||||||
$ ECHO "Completed libiberty build."
|
|
||||||
$ type sys$input:
|
|
||||||
|
|
||||||
You many wish to do
|
|
||||||
$ COPY LIBERTY.OLB GNU_CC:[000000]
|
|
||||||
so that this run-time library resides in the same location as gcc's
|
|
||||||
support library. When building gas, be sure to leave the original
|
|
||||||
copy of liberty.olb here so that gas's build procedure can find it.
|
|
||||||
|
|
||||||
$ set default 'old_dir'
|
|
||||||
$ exit
|
|
||||||
$
|
|
||||||
$!
|
|
||||||
$! compile each element of the space-delimited list 'ofiles'
|
|
||||||
$!
|
|
||||||
$do_ofiles:
|
|
||||||
$ ofiles = f$edit(ofiles,"COMPRESS,TRIM")
|
|
||||||
$ i = 0
|
|
||||||
$oloop:
|
|
||||||
$ f = f$element(i," ",ofiles)
|
|
||||||
$ if f.eqs." " then goto odone
|
|
||||||
$ f = f - ".o" !strip dummy suffix
|
|
||||||
$ ECHO " ''f'"
|
|
||||||
$ skip_f = 0
|
|
||||||
$ if pass.eq.3 .and. f$search("''f'.c").eqs."" then gosub chk_deffunc
|
|
||||||
$ if .not.skip_f
|
|
||||||
$ then
|
|
||||||
$ 'CC' 'f'.c
|
|
||||||
$ LIBR 'WORK_LIB' 'f'.obj /Insert
|
|
||||||
$ DELETE 'f'.obj;*
|
|
||||||
$ endif
|
|
||||||
$ i = i + 1
|
|
||||||
$ goto oloop
|
|
||||||
$odone:
|
|
||||||
$ return
|
|
||||||
$
|
|
||||||
$!
|
|
||||||
$! check functions.def for a DEFFUNC() entry corresponding to missing file 'f'.c
|
|
||||||
$!
|
|
||||||
$chk_deffunc:
|
|
||||||
$ define/User sys$output _NL:
|
|
||||||
$ define/User sys$error _NL:
|
|
||||||
$ SEARCH functions.def "DEFFUNC","''f'" /Match=AND
|
|
||||||
$ if (($status.and.%x7FFFFFFF) .eq. 1)
|
|
||||||
$ then
|
|
||||||
$ skip_f = 1
|
|
||||||
$ open/Append config_h config.h
|
|
||||||
$ write config_h "#define NEED_''f'"
|
|
||||||
$ close config_h
|
|
||||||
$ endif
|
|
||||||
$ return
|
|
||||||
$
|
|
||||||
$!
|
|
||||||
$pass2_failure1:
|
|
||||||
$! if we reach here, dummy.c failed to compile and we're really stuck
|
|
||||||
$ type sys$input:
|
|
||||||
|
|
||||||
Cannot compile the library contents checker (dummy.c + functions.def),
|
|
||||||
so cannot continue!
|
|
||||||
|
|
||||||
$! attempt the compile again, without suppressing diagnostic messages this time
|
|
||||||
$ on error then ABORT +0*f$verify(v)
|
|
||||||
$ v = f$verify(1)
|
|
||||||
$ 'CC' dummy.c
|
|
||||||
$ ABORT +0*f$verify(v) !'f$verify(0)'
|
|
||||||
$!
|
|
||||||
$pass2_failure2:
|
|
||||||
$! should never reach here..
|
|
||||||
$ type sys$input:
|
|
||||||
|
|
||||||
Cannot link the library contents checker (dummy.obj), so cannot continue!
|
|
||||||
|
|
||||||
$! attempt the link again, without suppressing diagnostic messages this time
|
|
||||||
$ on error then ABORT +0*f$verify(v)
|
|
||||||
$ v = f$verify(1)
|
|
||||||
$ LINK/Map=dummy.map/noExe dummy.obj,'WORK_LIB'/Libr,-
|
|
||||||
gnu_cc:[000000]gcclib.olb/Libr,sys$library:vaxcrtl.olb/Libr
|
|
||||||
$ ABORT +0*f$verify(v) !'f$verify(0)'
|
|
||||||
$
|
|
||||||
$! not reached
|
|
||||||
$ exit
|
|
Loading…
Reference in New Issue
Block a user