1$!
2$! This file configures the bfd library for use with openVMS (Alpha and Vax)
3$!
4$! We do not use the configure script, since we do not have /bin/sh
5$! to execute it.
6$!
7$! Written by Klaus K"ampf (kkaempf@rmi.de)
8$!
9$arch_indx = 1 + ((f$getsyi("CPU").ge.128).and.1)      ! vax==1, alpha==2
10$arch = f$element(arch_indx,"|","|VAX|Alpha|")
11$!
12$if arch .eqs. "Alpha"
13$then
14$ write sys$output "Configuring for Alpha target"
15$ target = "alpha"
16$!
17$! copy bfd-in2.h to bfd.h, replacing @ macros
18$!
19$ edit/tpu/nojournal/nosection/nodisplay/command=sys$input -
20        []bfd-in2.h /output=[]bfd.h
21$DECK
22!
23!  Copy file, changing lines with macros (@@)
24!
25!
26   vfile := CREATE_BUFFER("vfile", "CONFIGURE.IN");
27   rang := CREATE_RANGE(BEGINNING_OF(vfile), END_OF(vfile));
28   match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, rang);
29   IF match_pos <> 0 THEN;
30     POSITION(BEGINNING_OF(match_pos));
31     ERASE(match_pos);
32     vers := CURRENT_LINE-")";
33   ELSE;
34     vers := "unknown";
35   ENDIF;
36
37   file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name"));
38   rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file));
39
40   match_pos := SEARCH_QUIETLY('@VERSION@', FORWARD, EXACT, rang);
41   IF match_pos <> 0 THEN;
42      POSITION(BEGINNING_OF(match_pos));
43      ERASE(match_pos);
44      COPY_TEXT(vers);
45   ENDIF;
46   match_pos := SEARCH_QUIETLY('@wordsize@', FORWARD, EXACT, rang);
47   IF match_pos <> 0 THEN;
48      POSITION(BEGINNING_OF(match_pos));
49      ERASE(match_pos);
50      COPY_TEXT('64');
51   ENDIF;
52   match_pos := SEARCH_QUIETLY('@BFD_HOST_64BIT_LONG@', FORWARD, EXACT, rang);
53   IF match_pos <> 0 THEN;
54      POSITION(BEGINNING_OF(match_pos));
55      ERASE(match_pos);
56      COPY_TEXT('0');
57   ENDIF;
58   match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT_DEFINED@', FORWARD, EXACT, rang);
59   IF match_pos <> 0 THEN;
60      POSITION(BEGINNING_OF(match_pos));
61      ERASE(match_pos);
62      COPY_TEXT('__DECC');
63      SPLIT_LINE;
64      COPY_TEXT('#include <ints.h>');
65   ENDIF;
66   match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT@', FORWARD, EXACT, rang);
67   IF match_pos <> 0 THEN;
68      POSITION(BEGINNING_OF(match_pos));
69      ERASE(match_pos);
70      COPY_TEXT('int64');
71   ENDIF;
72   match_pos := SEARCH_QUIETLY('@BFD_HOST_U_64_BIT@', FORWARD, EXACT, rang);
73   IF match_pos <> 0 THEN;
74      POSITION(BEGINNING_OF(match_pos));
75      ERASE(match_pos);
76      COPY_TEXT('uint64');
77   ENDIF;
78   WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file"));
79   QUIT
80$  EOD
81$
82$else
83$
84$ write sys$output "Configuring for Vax target"
85$ target = "vax"
86$!
87$! copy bfd-in2.h to bfd.h, replacing @ macros
88$!
89$ edit/tpu/nojournal/nosection/nodisplay/command=sys$input -
90        []bfd-in2.h /output=[]bfd.h
91$DECK
92!
93!  Copy file, changing lines with macros (@@)
94!
95!
96   vfile := CREATE_BUFFER("vfile", "CONFIGURE.IN");
97   rang := CREATE_RANGE(BEGINNING_OF(vfile), END_OF(vfile));
98   match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, rang);
99   IF match_pos <> 0 THEN;
100     POSITION(BEGINNING_OF(match_pos));
101     ERASE(match_pos);
102     vers := CURRENT_LINE-")";
103   ELSE;
104     vers := "unknown";
105   ENDIF;
106
107   file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name"));
108   rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file));
109
110   match_pos := SEARCH_QUIETLY('@VERSION@', FORWARD, EXACT, rang);
111   IF match_pos <> 0 THEN;
112      POSITION(BEGINNING_OF(match_pos));
113      ERASE(match_pos);
114      COPY_TEXT(vers);
115   ENDIF;
116   match_pos := SEARCH_QUIETLY('@wordsize@', FORWARD, EXACT, rang);
117   IF match_pos <> 0 THEN;
118      POSITION(BEGINNING_OF(match_pos));
119      ERASE(match_pos);
120      COPY_TEXT('32');
121   ENDIF;
122   match_pos := SEARCH_QUIETLY('@BFD_HOST_64BIT_LONG@', FORWARD, EXACT, rang);
123   IF match_pos <> 0 THEN;
124      POSITION(BEGINNING_OF(match_pos));
125      ERASE(match_pos);
126      COPY_TEXT('0');
127   ENDIF;
128   match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT_DEFINED@', FORWARD, EXACT, rang);
129   IF match_pos <> 0 THEN;
130      POSITION(BEGINNING_OF(match_pos));
131      ERASE(match_pos);
132      COPY_TEXT('__DECC');
133      SPLIT_LINE;
134      COPY_TEXT('#include <ints.h>');
135   ENDIF;
136   match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT@', FORWARD, EXACT, rang);
137   IF match_pos <> 0 THEN;
138      POSITION(BEGINNING_OF(match_pos));
139      ERASE(match_pos);
140      COPY_TEXT('int64');
141   ENDIF;
142   match_pos := SEARCH_QUIETLY('@BFD_HOST_U_64_BIT@', FORWARD, EXACT, rang);
143   IF match_pos <> 0 THEN;
144      POSITION(BEGINNING_OF(match_pos));
145      ERASE(match_pos);
146      COPY_TEXT('uint64');
147   ENDIF;
148   WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file"));
149   QUIT
150$  EOD
151$endif
152$
153$ write sys$output "Generated `bfd.h' from `bfd-in2.h'."
154$!
155$!
156$! create targmatch.h
157$!
158$ open/write tfile []targmatch.h
159$ write tfile "{ """ + target + "-*-*vms*""" + ","
160$ write tfile "#if defined (SELECT_VECS)"
161$ write tfile "SELECT_VECS"
162$ write tfile "#else"
163$ write tfile "UNSUPPORTED_TARGET"
164$ write tfile "#endif"
165$ write tfile "},"
166$ close tfile
167$ write sys$output "Generated `targmatch.h'"
168$!
169$!
170$! create config.h
171$!
172$ create []config.h
173/* config.h-vms.  Generated by hand by Klaus K�mpf, kkaempf@didymus.rmi.de.  */
174/* config.in.  Generated automatically from configure.in by autoheader.  */
175/* Whether malloc must be declared even if <stdlib.h> is included.  */
176/* #undef NEED_DECLARATION_MALLOC */
177/* Whether free must be declared even if <stdlib.h> is included.  */
178/* #undef NEED_DECLARATION_FREE */
179/* Define if you have a working `mmap' system call.  */
180/* #define HAVE_MMAP 1 */
181/* Do we need to use the b modifier when opening binary files?  */
182/* #undef USE_BINARY_FOPEN */
183/* Name of host specific header file to include in trad-core.c.  */
184/* #undef TRAD_HEADER */
185/* Define only if <sys/procfs.h> is available *and* it defines prstatus_t.  */
186/* #undef HAVE_SYS_PROCFS_H */
187/* Do we really want to use mmap if it's available?  */
188/* #undef USE_MMAP */
189/* Define if you have the fcntl function.  */
190#define HAVE_FCNTL 1
191/* Define if you have the getpagesize function.  */
192#define HAVE_GETPAGESIZE 1
193/* Define if you have the madvise function.  */
194#define HAVE_MADVISE 1
195/* Define if you have the mprotect function.  */
196#define HAVE_MPROTECT 1
197/* Define if you have the <fcntl.h> header file.  */
198#define HAVE_FCNTL_H 1
199/* Define if you have the <stddef.h> header file.  */
200#define HAVE_STDDEF_H 1
201/* Define if you have the <stdlib.h> header file.  */
202#define HAVE_STDLIB_H 1
203/* Define if you have the <string.h> header file.  */
204#define HAVE_STRING_H 1
205/* Define if you have the <strings.h> header file.  */
206#define HAVE_STRINGS_H 1
207/* Define if you have the <sys/file.h> header file.  */
208#define HAVE_SYS_FILE_H 1
209/* Define if you have the <time.h> header file.  */
210#define HAVE_TIME_H 1
211/* Define if you have the <unistd.h> header file.  */
212#define HAVE_UNISTD_H 1
213$!
214$ write sys$output "Generated `config.h'"
215
216