]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - bfd/configure.com
Automatic date update in version.in
[thirdparty/binutils-gdb.git] / bfd / configure.com
1 $!
2 $! This file configures the bfd library for use with openVMS.
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 $! Rewritten by Tristan Gingold (gingold@adacore.com)
9 $!
10 $! Copyright (C) 2012-2019 Free Software Foundation, Inc.
11 $!
12 $! This file is free software; you can redistribute it and/or modify
13 $! it under the terms of the GNU General Public License as published by
14 $! the Free Software Foundation; either version 3 of the License, or
15 $! (at your option) any later version.
16 $!
17 $! This program is distributed in the hope that it will be useful,
18 $! but WITHOUT ANY WARRANTY; without even the implied warranty of
19 $! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 $! GNU General Public License for more details.
21 $!
22 $! You should have received a copy of the GNU General Public License
23 $! along with this program; see the file COPYING3. If not see
24 $! <http://www.gnu.org/licenses/>.
25 $!
26 $ arch=F$GETSYI("ARCH_NAME")
27 $ arch=F$EDIT(arch,"LOWERCASE")
28 $if arch .eqs. "alpha" then target = "alpha"
29 $if arch .eqs. "ia64" then target = "ia64"
30 $!
31 $if (arch .eqs. "alpha") .or. (arch .eqs. "ia64")
32 $then
33 $!
34 $ write sys$output "Configuring BFD for ''target' target"
35 $!
36 $!
37 $! copy bfd-in2.h to bfd.h, replacing @ macros
38 $!
39 $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input -
40 []bfd-in2.h /output=[]bfd.h
41 $DECK
42 !
43 ! Copy file, changing lines with macros (@@)
44 !
45 !
46 set (success,off);
47
48 file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name"));
49 rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file));
50
51 match_pos := SEARCH_QUIETLY('@wordsize@', FORWARD, EXACT, rang);
52 IF match_pos <> 0 THEN;
53 POSITION(BEGINNING_OF(match_pos));
54 ERASE(match_pos);
55 COPY_TEXT('64');
56 ENDIF;
57 match_pos := SEARCH_QUIETLY('@bfd_default_target_size@', FORWARD, EXACT, rang);
58 IF match_pos <> 0 THEN;
59 POSITION(BEGINNING_OF(match_pos));
60 ERASE(match_pos);
61 COPY_TEXT('64');
62 ENDIF;
63 match_pos := SEARCH_QUIETLY('@BFD_HOST_64BIT_LONG@', FORWARD, EXACT, rang);
64 IF match_pos <> 0 THEN;
65 POSITION(BEGINNING_OF(match_pos));
66 ERASE(match_pos);
67 COPY_TEXT('0');
68 ENDIF;
69 match_pos := SEARCH_QUIETLY('@BFD_HOST_LONG_LONG@', FORWARD, EXACT, rang);
70 IF match_pos <> 0 THEN;
71 POSITION(BEGINNING_OF(match_pos));
72 ERASE(match_pos);
73 COPY_TEXT('1');
74 ENDIF;
75 match_pos := SEARCH_QUIETLY('@BFD_HOST_64BIT_LONG_LONG@', FORWARD, EXACT, rang);
76 IF match_pos <> 0 THEN;
77 POSITION(BEGINNING_OF(match_pos));
78 ERASE(match_pos);
79 COPY_TEXT('1');
80 ENDIF;
81 match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT_DEFINED@', FORWARD, EXACT, rang);
82 IF match_pos <> 0 THEN;
83 POSITION(BEGINNING_OF(match_pos));
84 ERASE(match_pos);
85 COPY_TEXT('1');
86 ENDIF;
87 match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT@', FORWARD, EXACT, rang);
88 IF match_pos <> 0 THEN;
89 POSITION(BEGINNING_OF(match_pos));
90 ERASE(match_pos);
91 COPY_TEXT('__int64');
92 ENDIF;
93 match_pos := SEARCH_QUIETLY('@BFD_HOST_U_64_BIT@', FORWARD, EXACT, rang);
94 IF match_pos <> 0 THEN;
95 POSITION(BEGINNING_OF(match_pos));
96 ERASE(match_pos);
97 COPY_TEXT('unsigned __int64');
98 ENDIF;
99 match_pos := SEARCH_QUIETLY('@BFD_HOSTPTR_T@', FORWARD, EXACT, rang);
100 IF match_pos <> 0 THEN;
101 POSITION(BEGINNING_OF(match_pos));
102 ERASE(match_pos);
103 COPY_TEXT('unsigned __int64');
104 ENDIF;
105 match_pos := SEARCH_QUIETLY('@bfd_file_ptr@', FORWARD, EXACT, rang);
106 IF match_pos <> 0 THEN;
107 POSITION(BEGINNING_OF(match_pos));
108 ERASE(match_pos);
109 COPY_TEXT('bfd_signed_vma');
110 ENDIF;
111 match_pos := SEARCH_QUIETLY('unsigned @bfd_file_ptr@ ufile_ptr', FORWARD, EXACT, rang);
112 IF match_pos <> 0 THEN;
113 POSITION(BEGINNING_OF(match_pos));
114 ERASE(match_pos);
115 COPY_TEXT('bfd_vma ufile_ptr');
116 ENDIF;
117 match_pos := SEARCH_QUIETLY('@supports_plugins@', FORWARD, EXACT, rang);
118 IF match_pos <> 0 THEN;
119 POSITION(BEGINNING_OF(match_pos));
120 ERASE(match_pos);
121 COPY_TEXT('0');
122 ENDIF;
123 WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file"));
124 QUIT
125 $ EOD
126 $
127 $else
128 $
129 $ write sys$output "Configuring for Vax target"
130 $ target = "vax"
131 $!
132 $! copy bfd-in2.h to bfd.h, replacing @ macros
133 $!
134 $ write sys$output "Generated `bfd.h' from `bfd-in2.h'."
135 $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input -
136 []bfd-in2.h /output=[]bfd.h
137 $DECK
138 !
139 ! Copy file, changing lines with macros (@@)
140 !
141 !
142 set (success,off);
143
144 file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name"));
145 rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file));
146
147 match_pos := SEARCH_QUIETLY('@wordsize@', FORWARD, EXACT, rang);
148 IF match_pos <> 0 THEN;
149 POSITION(BEGINNING_OF(match_pos));
150 ERASE(match_pos);
151 COPY_TEXT('32');
152 ENDIF;
153 match_pos := SEARCH_QUIETLY('@BFD_HOST_64BIT_LONG@', FORWARD, EXACT, rang);
154 IF match_pos <> 0 THEN;
155 POSITION(BEGINNING_OF(match_pos));
156 ERASE(match_pos);
157 COPY_TEXT('0');
158 ENDIF;
159 match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT_DEFINED@', FORWARD, EXACT, rang);
160 IF match_pos <> 0 THEN;
161 POSITION(BEGINNING_OF(match_pos));
162 ERASE(match_pos);
163 COPY_TEXT('__DECC');
164 SPLIT_LINE;
165 COPY_TEXT('#include <ints.h>');
166 ENDIF;
167 match_pos := SEARCH_QUIETLY('@BFD_HOST_64_BIT@', FORWARD, EXACT, rang);
168 IF match_pos <> 0 THEN;
169 POSITION(BEGINNING_OF(match_pos));
170 ERASE(match_pos);
171 COPY_TEXT('int64');
172 ENDIF;
173 match_pos := SEARCH_QUIETLY('@BFD_HOST_U_64_BIT@', FORWARD, EXACT, rang);
174 IF match_pos <> 0 THEN;
175 POSITION(BEGINNING_OF(match_pos));
176 ERASE(match_pos);
177 COPY_TEXT('uint64');
178 ENDIF;
179 WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file"));
180 QUIT
181 $ EOD
182 $endif
183 $
184 $!
185 $! create bfdver.h
186 $!
187 $ write sys$output "Generate `bfdver.h' from 'version.h' and `configure.in'."
188 $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input -
189 []version.h /output=[]bfdver.h
190 $DECK
191 !
192 ! Copy file, changing lines with macros (@@)
193 !
194 !
195 set (success,off);
196 vfile := CREATE_BUFFER("vfile", "configure.in");
197 rang := CREATE_RANGE(BEGINNING_OF(vfile), END_OF(vfile));
198 match_pos := SEARCH_QUIETLY('AC_INIT([bfd], [', FORWARD, EXACT, rang);
199 IF match_pos <> 0 THEN;
200 POSITION(BEGINNING_OF(match_pos));
201 ERASE(match_pos);
202 vers := CURRENT_LINE-"])";
203 ELSE;
204 vers := "unknown";
205 ENDIF;
206 versnum := vers - "." - ".";
207
208 file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name"));
209 rang := CREATE_RANGE(BEGINNING_OF(file), END_OF(file));
210
211 match_pos := SEARCH_QUIETLY('@bfd_version@', FORWARD, EXACT, rang);
212 IF match_pos <> 0 THEN;
213 POSITION(BEGINNING_OF(match_pos));
214 ERASE(match_pos);
215 COPY_TEXT(versnum);
216 ENDIF;
217 match_pos := SEARCH_QUIETLY('@bfd_version_string@', FORWARD, EXACT, rang);
218 IF match_pos <> 0 THEN;
219 POSITION(BEGINNING_OF(match_pos));
220 ERASE(match_pos);
221 COPY_TEXT('"');
222 COPY_TEXT(vers);
223 COPY_TEXT('"');
224 ENDIF;
225 match_pos := SEARCH_QUIETLY('@bfd_version_package@', FORWARD, EXACT, rang);
226 IF match_pos <> 0 THEN;
227 POSITION(BEGINNING_OF(match_pos));
228 ERASE(match_pos);
229 COPY_TEXT('"(GNU Binutils) "');
230 ENDIF;
231 match_pos := SEARCH_QUIETLY('@report_bugs_to@', FORWARD, EXACT, rang);
232 IF match_pos <> 0 THEN;
233 POSITION(BEGINNING_OF(match_pos));
234 ERASE(match_pos);
235 COPY_TEXT('"<http://www.sourceware.org/bugzilla/>"');
236 ENDIF;
237 WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file"));
238 QUIT
239 $ EOD
240 $!
241 $!
242 $! create bfd_stdint.h
243 $!
244 $ write sys$output "Generate `bfd_stdint.h'"
245 $ create []bfd_stdint.h
246 #include <inttypes.h>
247 $!
248 $!
249 $! create targmatch.h
250 $!
251 $ write sys$output "Generate `targmatch.h'"
252 $ open/write tfile []targmatch.h
253 $ write tfile "{ """ + target + "-*-*vms*""" + ","
254 $ write tfile "#if defined (SELECT_VECS)"
255 $ write tfile "SELECT_VECS"
256 $ write tfile "#else"
257 $ write tfile "UNSUPPORTED_TARGET"
258 $ write tfile "#endif"
259 $ write tfile "},"
260 $ close tfile
261 $!
262 $!
263 $! create config.h
264 $!
265 $ write sys$output "Generate `config.h'"
266 $ create []config.h
267 /* config.h-vms. Generated by hand by Klaus Kämpf, kkaempf@didymus.rmi.de. */
268 /* config.in. Generated automatically from configure.in by autoheader. */
269 /* Whether malloc must be declared even if <stdlib.h> is included. */
270 /* #undef NEED_DECLARATION_MALLOC */
271 /* Whether free must be declared even if <stdlib.h> is included. */
272 /* #undef NEED_DECLARATION_FREE */
273 /* Define if you have a working `mmap' system call. */
274 /* #define HAVE_MMAP 1 */
275 /* Do we need to use the b modifier when opening binary files? */
276 /* #undef USE_BINARY_FOPEN */
277 /* Name of host specific header file to include in trad-core.c. */
278 /* #undef TRAD_HEADER */
279 /* Define only if <sys/procfs.h> is available *and* it defines prstatus_t. */
280 /* #undef HAVE_SYS_PROCFS_H */
281 /* Do we really want to use mmap if it's available? */
282 /* #undef USE_MMAP */
283 /* Define if you have the fcntl function. */
284 #define HAVE_FCNTL 1
285 /* Define if you have the getpagesize function. */
286 #define HAVE_GETPAGESIZE 1
287 /* Define if you have the madvise function. */
288 #define HAVE_MADVISE 1
289 /* Define if you have the mprotect function. */
290 #define HAVE_MPROTECT 1
291 /* Define if you have the <fcntl.h> header file. */
292 #define HAVE_FCNTL_H 1
293 /* Define if you have the <stddef.h> header file. */
294 #define HAVE_STDDEF_H 1
295 /* Define if you have the <stdlib.h> header file. */
296 #define HAVE_STDLIB_H 1
297 /* Define if you have the <string.h> header file. */
298 #define HAVE_STRING_H 1
299 /* Define if you have the <strings.h> header file. */
300 #define HAVE_STRINGS_H 1
301 /* Define if you have the <sys/file.h> header file. */
302 #define HAVE_SYS_FILE_H 1
303 /* Define if you have the <time.h> header file. */
304 #define HAVE_TIME_H 1
305 /* Define if you have the <unistd.h> header file. */
306 #define HAVE_UNISTD_H 1
307 /* Disable NLS */
308 #undef ENABLE_NLS
309 /* Name of package */
310 #define PACKAGE "bfd"
311 /* Define to the address where bug reports for this package should be sent. */
312 #define PACKAGE_BUGREPORT ""
313 /* Define to the full name of this package. */
314 #define PACKAGE_NAME "bfd"
315 /* Define to the full name and version of this package. */
316 #define PACKAGE_STRING "bfd"
317 /* Define to the one symbol short name of this package. */
318 #define PACKAGE_TARNAME "bfd"
319 /* Define to the home page for this package. */
320 #define PACKAGE_URL ""
321 /* Define to the version of this package. */
322 #define PACKAGE_VERSION "(package version)"
323 $!
324 $ write sys$output "Copy sysdep.h"
325 $ copy [.hosts]alphavms.h sysdep.h
326 $
327 $ write sys$output "Generate build.com"
328 $!
329 $ if ARCH.eqs."alpha"
330 $ then
331 $ create build.com
332 $DECK
333 $ DEFS="""SELECT_VECS=&alpha_vms_vec"","+-
334 """SELECT_ARCHITECTURES=&bfd_alpha_arch"""
335 $ FILES="cpu-alpha,vms,vms-hdr,vms-gsd,vms-tir,vms-misc,"
336 $EOD
337 $ endif
338 $ if ARCH.eqs."ia64"
339 $ then
340 $ create build.com
341 $DECK
342 $ DEFS="""SELECT_VECS=&ia64_elf64_vms_vec"","+-
343 """SELECT_ARCHITECTURES=&bfd_ia64_arch"""
344 $ FILES="cpu-ia64,elf64-ia64,elf-strtab,corefile,stabs,merge,elf-eh-frame,"+-
345 "elflink,elf-attrs,dwarf1,elf64,"
346 $EOD
347 $ create substxx.tpu
348 $DECK
349 set (success,off);
350 file := CREATE_BUFFER("file", GET_INFO(COMMAND_LINE, "file_name"));
351 found_range := CREATE_RANGE(BEGINNING_OF(file), BEGINNING_OF(file));
352
353 LOOP
354 rang := CREATE_RANGE (END_OF(found_range),END_OF(file));
355 match_pos := SEARCH_QUIETLY('NN', FORWARD, EXACT, rang);
356 EXITIF match_pos = 0;
357 POSITION(BEGINNING_OF(match_pos));
358 ERASE(match_pos);
359 COPY_TEXT('64');
360 ENDLOOP;
361 WRITE_FILE(file, GET_INFO(COMMAND_LINE, "output_file"));
362 QUIT
363 $ EOD
364 $ write sys$output "Generate elf64-target.h from elfxx-target.h"
365 $ edit/tpu/nojournal/nosection/nodisplay/command=substxx.tpu -
366 []elfXX-target.h /output=[]elf64-target.h
367 $ del substxx.tpu;*
368 $ endif
369 $ append sys$input build.com
370 $DECK
371 $ DEFS=DEFS + ",""unlink=remove"",""DEBUGDIR=""""GNU$DEBUGDIR:"""""""
372 $ OPT="/noopt/debug"
373 $ CFLAGS="/name=(as_is,shortened)" + -
374 "/include=([],""../"",""../include"")" + -
375 "/define=(" + DEFS + ")" + OPT
376 $ FILES=FILES + "archive,archive64,archures,bfd,bfdio,binary,cache,coffgen,"+-
377 "compress,corefile,dwarf2,elf,format,hash,ihex,init,libbfd,linker,"+-
378 "opncls,reloc,section,simple,srec,stab-syms,syms,targets,tekhex,verilog"
379 $ write sys$output "CFLAGS=",CFLAGS
380 $ cflags_libbfd="/warning=(disable=missingreturn)"
381 $ cflags_nil=""
382 $ NUM = 0
383 $ OBJS=""
384 $ LOOP:
385 $ F = F$ELEMENT(NUM,",",FILES)
386 $ IF F.EQS."," THEN GOTO END
387 $ eflags_name="cflags_''f'"
388 $ name_len=f$length(eflags_name)
389 $ dash_pos=f$locate("-",eflags_name)
390 $ if dash_pos.ne.name_len
391 $ then
392 $ eflags_name['dash_pos,1]:="_"
393 $ dash_pos=f$locate("-",eflags_name)
394 $ if dash_pos.ne.name_len then eflags_name['dash_pos,1]:="_"
395 $ endif
396 $ if f$type('eflags_name).eqs."" then eflags_name="cflags_nil"
397 $ eflags='eflags_name
398 $ write sys$output "Compiling ", F, ".c", eflags
399 $ cc 'CFLAGS 'eflags 'F.c
400 $ IF OBJS.NES."" THEN OBJS=OBJS + ","
401 $ OBJS=OBJS + F + ".obj"
402 $ NUM = NUM + 1
403 $ GOTO LOOP
404 $ END:
405 $ purge
406 $ lib/create libbfd 'OBJS
407 $EOD