X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=bfd%2Fconfigure.com;fp=bfd%2Fconfigure.com;h=21024156eba2aa18d0860afa5e11dd0ba2f97106;hp=929977ce8f174a12b9640c11b1b474d08b9d7f01;hb=88750007d7869f178f0ba528f41efd3b74c424cf;hpb=6df9443a374e2b81278c61b8afc0a1eef7db280b diff --git a/bfd/configure.com b/bfd/configure.com index 929977c..2102415 100644 --- a/bfd/configure.com +++ b/bfd/configure.com @@ -1,18 +1,22 @@ $! -$! This file configures the bfd library for use with openVMS (Alpha and Vax) +$! This file configures the bfd library for use with openVMS. $! $! We do not use the configure script, since we do not have /bin/sh $! to execute it. $! $! Written by Klaus K"ampf (kkaempf@rmi.de) +$! Rewritten by Tristan Gingold (gingold@adacore.com) $! -$arch_indx = 1 + ((f$getsyi("CPU").ge.128).and.1) ! vax==1, alpha==2 -$arch = f$element(arch_indx,"|","|VAX|Alpha|") +$ arch=F$GETSYI("ARCH_NAME") +$ arch=F$EDIT(arch,"LOWERCASE") +$if arch .eqs. "alpha" then target = "alpha" +$if arch .eqs. "ia64" then target = "ia64" $! -$if arch .eqs. "Alpha" +$if (arch .eqs. "alpha") .or. (arch .eqs. "ia64") $then -$ write sys$output "Configuring for Alpha target" -$ target = "alpha" +$! +$ write sys$output "Configuring BFD for ''target' target" +$! $! $! copy bfd-in2.h to bfd.h, replacing @ macros $! @@ -23,6 +27,7 @@ $DECK ! Copy file, changing lines with macros (@@) ! ! + set (success,off); vfile := CREATE_BUFFER("vfile", "CONFIGURE.IN"); rang := CREATE_RANGE(BEGINNING_OF(vfile), END_OF(vfile)); match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, rang); @@ -49,12 +54,30 @@ $DECK ERASE(match_pos); COPY_TEXT('64'); ENDIF; + match_pos := SEARCH_QUIETLY('@bfd_default_target_size@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('64'); + ENDIF; match_pos := SEARCH_QUIETLY('@BFD_HOST_64BIT_LONG@', FORWARD, EXACT, rang); IF match_pos <> 0 THEN; POSITION(BEGINNING_OF(match_pos)); ERASE(match_pos); COPY_TEXT('0'); ENDIF; + match_pos := SEARCH_QUIETLY('@BFD_HOST_LONG_LONG@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('0'); + ENDIF; + match_pos := SEARCH_QUIETLY('@BFD_HOST_64BIT_LONG_LONG@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('0'); + ENDIF; match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT_DEFINED@', FORWARD, EXACT, rang); IF match_pos <> 0 THEN; POSITION(BEGINNING_OF(match_pos)); @@ -75,6 +98,30 @@ $DECK ERASE(match_pos); COPY_TEXT('uint64'); ENDIF; + match_pos := SEARCH_QUIETLY('@BFD_HOSTPTR_T@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('uint64'); + ENDIF; + match_pos := SEARCH_QUIETLY('@bfd_file_ptr@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('bfd_signed_vma'); + ENDIF; + match_pos := SEARCH_QUIETLY('unsigned @bfd_file_ptr@ ufile_ptr', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('bfd_vma ufile_ptr'); + ENDIF; + match_pos := SEARCH_QUIETLY('@supports_plugins@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('0'); + ENDIF; WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file")); QUIT $ EOD @@ -86,6 +133,7 @@ $ target = "vax" $! $! copy bfd-in2.h to bfd.h, replacing @ macros $! +$ write sys$output "Generated `bfd.h' from `bfd-in2.h'." $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input - []bfd-in2.h /output=[]bfd.h $DECK @@ -93,6 +141,7 @@ $DECK ! Copy file, changing lines with macros (@@) ! ! + set (success,off); vfile := CREATE_BUFFER("vfile", "CONFIGURE.IN"); rang := CREATE_RANGE(BEGINNING_OF(vfile), END_OF(vfile)); match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, rang); @@ -150,11 +199,67 @@ $DECK $ EOD $endif $ -$ write sys$output "Generated `bfd.h' from `bfd-in2.h'." +$! +$! create bfdver.h +$! +$ write sys$output "Generate `bfdver.h' from 'version.h' and `configure.in'." +$ edit/tpu/nojournal/nosection/nodisplay/command=sys$input - + []version.h /output=[]bfdver.h +$DECK +! +! Copy file, changing lines with macros (@@) +! +! + set (success,off); + vfile := CREATE_BUFFER("vfile", "configure.in"); + rang := CREATE_RANGE(BEGINNING_OF(vfile), END_OF(vfile)); + match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + vers := CURRENT_LINE-")"; + ELSE; + vers := "unknown"; + ENDIF; + versnum := vers - "." - "."; + + file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name")); + rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file)); + + match_pos := SEARCH_QUIETLY('@bfd_version@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT(versnum); + ENDIF; + match_pos := SEARCH_QUIETLY('@bfd_version_string@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('"'); + COPY_TEXT(vers); + COPY_TEXT('"'); + ENDIF; + match_pos := SEARCH_QUIETLY('@bfd_version_package@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('"(GNU Binutils) "'); + ENDIF; + match_pos := SEARCH_QUIETLY('@report_bugs_to@', FORWARD, EXACT, rang); + IF match_pos <> 0 THEN; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('""'); + ENDIF; + WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file")); + QUIT +$ EOD $! $! $! create targmatch.h $! +$ write sys$output "Generate `targmatch.h'" $ open/write tfile []targmatch.h $ write tfile "{ """ + target + "-*-*vms*""" + "," $ write tfile "#if defined (SELECT_VECS)" @@ -164,11 +269,11 @@ $ write tfile "UNSUPPORTED_TARGET" $ write tfile "#endif" $ write tfile "}," $ close tfile -$ write sys$output "Generated `targmatch.h'" $! $! $! create config.h $! +$ write sys$output "Generate `config.h'" $ create []config.h /* config.h-vms. Generated by hand by Klaus Kämpf, kkaempf@didymus.rmi.de. */ /* config.in. Generated automatically from configure.in by autoheader. */ @@ -210,6 +315,93 @@ $ create []config.h #define HAVE_TIME_H 1 /* Define if you have the header file. */ #define HAVE_UNISTD_H 1 +/* Disable NLS */ +#undef ENABLE_NLS +$! +$ write sys$output "Copy sysdep.h" +$ copy [.hosts]alphavms.h sysdep.h +$ +$ write sys$output "Generate build.com" $! -$ write sys$output "Generated `config.h'" +$ if ARCH.eqs."alpha" +$ then +$ create build.com +$DECK +$ DEFS="""SELECT_VECS=&vms_alpha_vec"","+- + """SELECT_ARCHITECTURES=&bfd_alpha_arch""" +$ FILES="cpu-alpha,vms,vms-hdr,vms-gsd,vms-tir,vms-misc," +$EOD +$ endif +$ if ARCH.eqs."ia64" +$ then +$ create build.com +$DECK +$ DEFS="""SELECT_VECS=&bfd_elf64_ia64_vms_vec"","+- + """SELECT_ARCHITECTURES=&bfd_ia64_arch""" +$ FILES="cpu-ia64,elf64-ia64,elf-strtab,corefile,stabs,merge,elf-eh-frame,"+- + "elflink,elf-attrs,dwarf1,elf64," +$EOD +$ create substxx.tpu +$DECK + set (success,off); + file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name")); + found_range := CREATE_RANGE(BEGINNING_OF(file), BEGINNING_OF(file)); + LOOP + rang := CREATE_RANGE (END_OF(found_range),END_OF(file)); + match_pos := SEARCH_QUIETLY('NN', FORWARD, EXACT, rang); + EXITIF match_pos = 0; + POSITION(BEGINNING_OF(match_pos)); + ERASE(match_pos); + COPY_TEXT('64'); + ENDLOOP; + WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file")); + QUIT +$ EOD +$ write sys$output "Generate elf64-ia64.c from elfxx-ia64.c" +$ edit/tpu/nojournal/nosection/nodisplay/command=substxx.tpu - + []elfXX-ia64.c /output=[]elf64-ia64.c +$ write sys$output "Generate elf64-target.h from elfxx-target.h" +$ edit/tpu/nojournal/nosection/nodisplay/command=substxx.tpu - + []elfXX-target.h /output=[]elf64-target.h +$ del substxx.tpu;* +$ endif +$ append sys$input build.com +$DECK +$ DEFS=DEFS + ",""unlink=remove"",""DEBUGDIR=""""GNU$DEBUGDIR:""""""" +$ OPT="/noopt/debug" +$ CFLAGS="/name=(as_is,shortened)" + - + "/include=([],""../"",""../include"")" + - + "/define=(" + DEFS + ")" + OPT +$ FILES=FILES + "archive,archive64,archures,bfd,bfdio,binary,cache,coffgen,"+- + "compress,corefile,dwarf2,elf,format,hash,ihex,init,libbfd,linker,"+- + "opncls,reloc,section,simple,srec,stab-syms,syms,targets,tekhex,verilog" +$ write sys$output "CFLAGS=",CFLAGS +$ cflags_libbfd="/warning=(disable=missingreturn)" +$ cflags_nil="" +$ NUM = 0 +$ OBJS="" +$ LOOP: +$ F = F$ELEMENT(NUM,",",FILES) +$ IF F.EQS."," THEN GOTO END +$ eflags_name="cflags_''f'" +$ name_len=f$length(eflags_name) +$ dash_pos=f$locate("-",eflags_name) +$ if dash_pos.ne.name_len +$ then +$ eflags_name['dash_pos,1]:="_" +$ dash_pos=f$locate("-",eflags_name) +$ if dash_pos.ne.name_len then eflags_name['dash_pos,1]:="_" +$ endif +$ if f$type('eflags_name).eqs."" then eflags_name="cflags_nil" +$ eflags='eflags_name +$ write sys$output "Compiling ", F, ".c", eflags +$ cc 'CFLAGS 'eflags 'F.c +$ IF OBJS.NES."" THEN OBJS=OBJS + "," +$ OBJS=OBJS + F + ".obj" +$ NUM = NUM + 1 +$ GOTO LOOP +$ END: +$ purge +$ lib/create libbfd 'OBJS +$EOD