From fb7924623ecb59dd6d2692e7afaf7d12ce1827d1 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 1 Sep 2009 13:38:26 +0000 Subject: [PATCH] 2009-09-01 Tristan Gingold * makefile.vms: Adjust include pathes. Remove useless vaxctrl library. * configure.com: Ported to Itanium VMS. Create build.com DCL script. Make edit silent. --- ChangeLog | 5 +++ gas/ChangeLog | 7 +++ gas/configure.com | 129 ++++++++++++++++++++++++++++++++++++++++++------------ gas/makefile.vms | 6 +-- setup.com | 49 +++++++++++++-------- 5 files changed, 144 insertions(+), 52 deletions(-) diff --git a/ChangeLog b/ChangeLog index 52232d7..0525049 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-09-01 Tristan Gingold + + * setup.com: Ported to Itanium VMS. Can also build using DCL scripts. + Remove logical names. + 2009-08-31 Dave Korn * ltmain.sh (func_normal_abspath): New function. diff --git a/gas/ChangeLog b/gas/ChangeLog index de02970..a9a461f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2009-09-01 Tristan Gingold + + * makefile.vms: Adjust include pathes. Remove useless vaxctrl + library. + * configure.com: Ported to Itanium VMS. Create build.com DCL script. + Make edit silent. + 2009-09-01 Jie Zhang * config/bfin-parse.y (asm_1): Only PREG and DREG are allowed diff --git a/gas/configure.com b/gas/configure.com index 7d02cf3..611b142 100644 --- a/gas/configure.com +++ b/gas/configure.com @@ -4,27 +4,55 @@ $! files for a VMS system. We do not use the configure script, since we $! do not have /bin/sh to execute it. $! $! -$ arch_indx = 1 + ((f$getsyi("CPU").ge.128).and.1) ! vax==1, alpha==2 -$ arch = f$element(arch_indx,"|","|VAX|Alpha|") -$! -$ if arch.eqs."Alpha" +$ arch=F$GETSYI("ARCH_NAME") +$ arch=F$EDIT(arch,"LOWERCASE") +$ if arch.eqs."alpha" +$ then +$ format = "evax" +$ target_alias = "alpha-dec-openvms" +$ target_canonical = "alpha-dec-openvms" +$ endif +$ if arch.eqs."ia64" $ then +$ format = "elf" +$ target_alias = "ia64-openvms" +$ target_canonical = "ia64-unknown-openvms" +$ endif +$! +$! +$ write sys$output "Generate targ-cpu.[ch]" +$! +$! Target specific information +$ open/write outfile targ-cpu.h +$ write outfile "#include ""tc-''arch'.h""" +$ close outfile $! Target specific information -$ create targ-cpu.h -#include "tc-alpha.h" -$ create targ-cpu.c -#include "tc-alpha.c" -$ create targ-env.h -#define TE_VMS -#include "obj-format.h" -$ +$ open/write outfile targ-cpu.c +$ write outfile "#include ""tc-''arch'.c""" +$ close outfile +$! +$ write sys$output "Generate targ-env.h" +$! +$ create targ-env.h +#include "te-generic.h" +$! +$ write sys$output "Generate obj-format.[ch]" +$! $! Code to handle the object file format. -$ create obj-format.h -#include "obj-evax.h" -$ create obj-format.c -#include "obj-evax.c" -$ create atof-targ.c +$ open/write outfile obj-format.h +$ write outfile "#include ""obj-''format'.h""" +$ close outfile +$ open/write outfile obj-format.c +$ write outfile "#include ""obj-''format'.c""" +$ close outfile +$! +$ write sys$output "Generate atof-targ.c" +$! +$ create atof-targ.c #include "atof-ieee.c" +$! +$ write sys$output "Generate gas/config.h" +$! $ create config-vms.in /* config.h. Generated by configure.com. */ /* Define to 1 if using `alloca.c'. */ @@ -51,6 +79,9 @@ $ create config-vms.in #include #define C_alloca(x) __ALLOCA(x) +/* Define to 1 if you have the `basename' function. */ +#define HAVE_DECL_BASENAME 1 + /* Is the prototype for getopt in in the expected format? */ #define HAVE_DECL_GETOPT 1 @@ -119,15 +150,6 @@ $ create config-vms.in /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 -/* Target alias. */ -#define TARGET_ALIAS "alpha-dec-openvms" - -/* Canonical target. */ -#define TARGET_CANONICAL "alpha-dec-openvms" - -/* Target CPU. */ -#define TARGET_CPU "alpha" - /* Target OS. */ #define TARGET_OS "openvms" @@ -143,13 +165,12 @@ $ create config-vms.in #undef YYTEXT_POINTER /* Version number of package */ -$ -$ endif $! $! Get VERSION from ../bfd/configure.in $! $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input $DECK + set (success, off); mfile := CREATE_BUFFER("mfile", "[-.bfd]configure.in"); match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, mfile); IF match_pos <> 0 THEN; @@ -167,6 +188,56 @@ $DECK COPY_TEXT(""""); WRITE_FILE(file, "config.h"); QUIT -$ EOD +$EOD $del/nolog config-vms.in; +$ open/append outfile config.h +$ write outfile "" +$ write outfile "/* Target alias. */" +$ write outfile "#define TARGET_ALIAS ""''target_alias'""" +$ write outfile "" +$ write outfile "/* Canonical target. */" +$ write outfile "#define TARGET_CANONICAL ""''target_canonical'""" +$ write outfile "" +$ write outfile "/* Target CPU. */" +$ write outfile "#define TARGET_CPU ""'arch'""" +$ close outfile +$! +$ write sys$output "Generate gas/build.com" +$! +$ create build.com +$DECK +$ DEFS="" +$ OPT="/noopt/debug" +$ CFLAGS=OPT + "/include=([],""../include"",[-.bfd],""../"",[.config])" +- + "/name=(as_is,shortened)" +- + "/prefix=(all,exc=(""getopt"",""optarg"",""optopt"",""optind"",""opterr""))" +$ FILES="obj-format,atof-targ,app,as,atof-generic,cond,depend,"+- + "expr,flonum-konst,flonum-copy,flonum-mult,frags,hash,input-file,"+- + "input-scrub,literal,messages,output-file,read,subsegs,symbols,write,"+- + "listing,ecoff,stabs,sb,macro,ehopt,dw2gencfi,dwarf2dbg,remap" +$ LIBBFD = ",[-.bfd]libbfd.olb/lib" +$ LIBIBERTY = ",[-.libiberty]libiberty.olb/lib" +$ LIBOPCODES = ",[-.opcodes]libopcodes.olb/lib" +$! +$ write sys$output "CFLAGS=",CFLAGS +$ if p1.nes."LINK" +$ then +$ write sys$output "Compiling targ-cpu.c (/noopt)" +$ cc 'CFLAGS /noopt targ-cpu +$ 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: +$ endif +$ purge +$! +$ write sys$output "Building as.exe" +$ AS_OBJS="targ-cpu," + FILES + LIBOPCODES + LIBBFD + LIBIBERTY +$ link/exe=as 'AS_OBJS $exit + diff --git a/gas/makefile.vms b/gas/makefile.vms index b645b59..a34f4a1 100644 --- a/gas/makefile.vms +++ b/gas/makefile.vms @@ -5,7 +5,6 @@ # #CC=gcc CC=cc -ARCH=ALPHA ifeq ($(CC),gcc) DEFS= @@ -16,10 +15,9 @@ else #DEFS=/define=("VMS_DEBUG","DEBUG2","DEBUG3","DEBUG5","DEBUG_SYMS","DEBUG_ALPHA") OPT=/noopt/debug CFLAGS=/names=(as_is,shortened)\ - /include=([],[-.bfd],[.config],[-.include],[-])$(DEFS)$(OPT)\ + /include=([],[-.bfd],[.config],"../include","../")$(DEFS)$(OPT)\ /prefix=(all,except=("getopt","optarg","optopt","optind","opterr")) #LFLAGS=/debug/map=as.map -LIBS=,sys$$library:vaxcrtl.olb/lib endif OBJS=targ-cpu.obj,obj-format.obj,atof-targ.obj,app.obj,as.obj,atof-generic.obj,\ @@ -30,10 +28,8 @@ OBJS=targ-cpu.obj,obj-format.obj,atof-targ.obj,app.obj,as.obj,atof-generic.obj,\ macro.obj,ehopt.obj,dw2gencfi.obj,dwarf2dbg.obj,remap.obj LIBIBERTY = [-.libiberty]libiberty.olb - LIBBFD = [-.bfd]libbfd.olb LIBOPCODES = [-.opcodes]libopcodes.olb -BFDDEP = [-.bfd]bfd.h all: as.exe diff --git a/setup.com b/setup.com index 9067f36..b80fbe3 100644 --- a/setup.com +++ b/setup.com @@ -1,38 +1,51 @@ -$! setup files for openVMS/Alpha $! -$ define aout [-.INCLUDE.AOUT] -$ define coff [-.INCLUDE.COFF] -$ define elf [-.INCLUDE.ELF] -$ define nlm [-.INCLUDE.NLM] -$ define opcode [-.INCLUDE.OPCODE] +$! Build procedure $! -$! Build procedures -$! -$! Note: you need make 3.76 -$ MAKE="gmake_3_76" -$ OPT= +$! Note: you need a DCL-compatible gnu make. +$ MAKE="make381" +$ OPT="" $! $ if (P1 .EQS. "CONFIGURE") .OR. (P1 .EQS. "ALL") $ then $ set def [.bfd] $ @configure +$ set def [-.libiberty] +$ @configure +$ set def [-.opcodes] +$ @configure $ set def [-.binutils] $ @configure $ set def [-.gas] $ @configure $ set def [-] $ endif -$ if (P1 .EQS. "MAKE") .OR. (P1 .EQS. "ALL") +$ if (P1 .EQS. "BUILD") .OR. (P1 .EQS. "ALL") +$ then +$ set def [.bfd] +$ @build +$ set def [-.libiberty] +$ @build +$ set def [-.opcodes] +$ @build +$ set def [-.binutils] +$ @build +$ set def [-.gas] +$ @build +$ set def [-] +$ endif +$ if P1 .EQS. "MAKE" $ then +$ ARCH=F$GETSYI("ARCH_NAME") +$ ARCH=F$EDIT(arch,"UPCASE") $ set def [.bfd] -$ 'MAKE "ARCH=ALPHA" "OPT=''OPT'" +$ 'MAKE "ARCH=''ARCH'" "OPT=''OPT'" $ set def [-.libiberty] -$ 'MAKE "ARCH=ALPHA" "OPT=''OPT'" +$ 'MAKE "ARCH=''ARCH'" "OPT=''OPT'" $ set def [-.opcodes] -$ 'MAKE "ARCH=ALPHA" "OPT=''OPT'" +$ 'MAKE "ARCH=''ARCH'" "OPT=''OPT'" $ set def [-.binutils] -$ 'MAKE "ARCH=ALPHA" "OPT=''OPT'" +$ 'MAKE "ARCH=''ARCH'" "OPT=''OPT'" $ set def [-.gas] -$ 'MAKE "ARCH=ALPHA" "OPT=''OPT'" +$ 'MAKE "ARCH=''ARCH'" "OPT=''OPT'" $ set def [-] -$ endif \ No newline at end of file +$ endif -- 2.7.4