(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>
|
||||
|
||||
* 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
|
||||
#
|
||||
@ -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,\
|
||||
xmemdup.obj,xstrdup.obj,xatexit.obj,choose-temp.obj,fnmatch.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)
|
||||
CFLAGS=/include=([],[-.include])
|
||||
@ -25,15 +25,11 @@ CFLAGS=$(OPT)/include=([],[-.include])/name=(as_is,shortened)\
|
||||
/prefix=(all,except=("getopt","optarg","optopt","optind","opterr"))
|
||||
endif
|
||||
|
||||
libiberty.olb: config.h $(OBJS)
|
||||
libiberty.olb: $(OBJS)
|
||||
purge
|
||||
lib/create libiberty *.obj
|
||||
|
||||
config.h: config.h-vms
|
||||
$(CP) $< $@
|
||||
|
||||
clean:
|
||||
$$ purge
|
||||
$(RM) config.h;
|
||||
$(RM) *.obj;
|
||||
$(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