diff options
Diffstat (limited to 'gas/configure.com')
-rw-r--r-- | gas/configure.com | 129 |
1 files changed, 100 insertions, 29 deletions
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 <builtins.h> #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 <unistd.h> 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 + |