Browse Source
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.gdb_7_0-branch
3 changed files with 11 additions and 172 deletions
@ -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