| $! |
| $! This file configures the bfd library for use with openVMS (Alpha and Vax) |
| $! |
| $! 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) |
| $! |
| $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" |
| $then |
| $ write sys$output "Configuring for Alpha target" |
| $ target = "alpha" |
| $! |
| $! copy bfd-in2.h to bfd.h, replacing @ macros |
| $! |
| $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input - |
| []bfd-in2.h /output=[]bfd.h |
| $DECK |
| ! |
| ! Copy file, changing lines with macros (@@) |
| ! |
| ! |
| 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; |
| |
| file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name")); |
| rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file)); |
| |
| match_pos := SEARCH_QUIETLY('@VERSION@', FORWARD, EXACT, rang); |
| IF match_pos <> 0 THEN; |
| POSITION(BEGINNING_OF(match_pos)); |
| ERASE(match_pos); |
| COPY_TEXT(vers); |
| ENDIF; |
| match_pos := SEARCH_QUIETLY('@wordsize@', 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_64_BIT_DEFINED@', FORWARD, EXACT, rang); |
| IF match_pos <> 0 THEN; |
| POSITION(BEGINNING_OF(match_pos)); |
| ERASE(match_pos); |
| COPY_TEXT('__DECC'); |
| SPLIT_LINE; |
| COPY_TEXT('#include <ints.h>'); |
| ENDIF; |
| match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT@', FORWARD, EXACT, rang); |
| IF match_pos <> 0 THEN; |
| POSITION(BEGINNING_OF(match_pos)); |
| ERASE(match_pos); |
| COPY_TEXT('int64'); |
| ENDIF; |
| match_pos := SEARCH_QUIETLY('@BFD_HOST_U_64_BIT@', FORWARD, EXACT, rang); |
| IF match_pos <> 0 THEN; |
| POSITION(BEGINNING_OF(match_pos)); |
| ERASE(match_pos); |
| COPY_TEXT('uint64'); |
| ENDIF; |
| WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file")); |
| QUIT |
| $ EOD |
| $ |
| $else |
| $ |
| $ write sys$output "Configuring for Vax target" |
| $ target = "vax" |
| $! |
| $! copy bfd-in2.h to bfd.h, replacing @ macros |
| $! |
| $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input - |
| []bfd-in2.h /output=[]bfd.h |
| $DECK |
| ! |
| ! Copy file, changing lines with macros (@@) |
| ! |
| ! |
| 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; |
| |
| file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name")); |
| rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file)); |
| |
| match_pos := SEARCH_QUIETLY('@VERSION@', FORWARD, EXACT, rang); |
| IF match_pos <> 0 THEN; |
| POSITION(BEGINNING_OF(match_pos)); |
| ERASE(match_pos); |
| COPY_TEXT(vers); |
| ENDIF; |
| match_pos := SEARCH_QUIETLY('@wordsize@', FORWARD, EXACT, rang); |
| IF match_pos <> 0 THEN; |
| POSITION(BEGINNING_OF(match_pos)); |
| ERASE(match_pos); |
| COPY_TEXT('32'); |
| 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_64_BIT_DEFINED@', FORWARD, EXACT, rang); |
| IF match_pos <> 0 THEN; |
| POSITION(BEGINNING_OF(match_pos)); |
| ERASE(match_pos); |
| COPY_TEXT('__DECC'); |
| SPLIT_LINE; |
| COPY_TEXT('#include <ints.h>'); |
| ENDIF; |
| match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT@', FORWARD, EXACT, rang); |
| IF match_pos <> 0 THEN; |
| POSITION(BEGINNING_OF(match_pos)); |
| ERASE(match_pos); |
| COPY_TEXT('int64'); |
| ENDIF; |
| match_pos := SEARCH_QUIETLY('@BFD_HOST_U_64_BIT@', FORWARD, EXACT, rang); |
| IF match_pos <> 0 THEN; |
| POSITION(BEGINNING_OF(match_pos)); |
| ERASE(match_pos); |
| COPY_TEXT('uint64'); |
| ENDIF; |
| WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file")); |
| QUIT |
| $ EOD |
| $endif |
| $ |
| $ write sys$output "Generated `bfd.h' from `bfd-in2.h'." |
| $! |
| $! |
| $! create targmatch.h |
| $! |
| $ open/write tfile []targmatch.h |
| $ write tfile "{ """ + target + "-*-*vms*""" + "," |
| $ write tfile "#if defined (SELECT_VECS)" |
| $ write tfile "SELECT_VECS" |
| $ write tfile "#else" |
| $ write tfile "UNSUPPORTED_TARGET" |
| $ write tfile "#endif" |
| $ write tfile "}," |
| $ close tfile |
| $ write sys$output "Generated `targmatch.h'" |
| $! |
| $! |
| $! create 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. */ |
| /* Whether malloc must be declared even if <stdlib.h> is included. */ |
| /* #undef NEED_DECLARATION_MALLOC */ |
| /* Whether free must be declared even if <stdlib.h> is included. */ |
| /* #undef NEED_DECLARATION_FREE */ |
| /* Define if you have a working `mmap' system call. */ |
| /* #define HAVE_MMAP 1 */ |
| /* Do we need to use the b modifier when opening binary files? */ |
| /* #undef USE_BINARY_FOPEN */ |
| /* Name of host specific header file to include in trad-core.c. */ |
| /* #undef TRAD_HEADER */ |
| /* Define only if <sys/procfs.h> is available *and* it defines prstatus_t. */ |
| /* #undef HAVE_SYS_PROCFS_H */ |
| /* Do we really want to use mmap if it's available? */ |
| /* #undef USE_MMAP */ |
| /* Define if you have the fcntl function. */ |
| #define HAVE_FCNTL 1 |
| /* Define if you have the getpagesize function. */ |
| #define HAVE_GETPAGESIZE 1 |
| /* Define if you have the madvise function. */ |
| #define HAVE_MADVISE 1 |
| /* Define if you have the mprotect function. */ |
| #define HAVE_MPROTECT 1 |
| /* Define if you have the <fcntl.h> header file. */ |
| #define HAVE_FCNTL_H 1 |
| /* Define if you have the <stddef.h> header file. */ |
| #define HAVE_STDDEF_H 1 |
| /* Define if you have the <stdlib.h> header file. */ |
| #define HAVE_STDLIB_H 1 |
| /* Define if you have the <string.h> header file. */ |
| #define HAVE_STRING_H 1 |
| /* Define if you have the <strings.h> header file. */ |
| #define HAVE_STRINGS_H 1 |
| /* Define if you have the <sys/file.h> header file. */ |
| #define HAVE_SYS_FILE_H 1 |
| /* Define if you have the <time.h> header file. */ |
| #define HAVE_TIME_H 1 |
| /* Define if you have the <unistd.h> header file. */ |
| #define HAVE_UNISTD_H 1 |
| $! |
| $ write sys$output "Generated `config.h'" |
| |