binutils/
[binutils-gdb.git] / gas / configure.com
blob3811298a1c4e96e1cf3b35f8d9a983acbb627ecb
1 $! configure.com
2 $! This file sets things up to build gas on a VMS system to generate object
3 $! files for a VMS system.  We do not use the configure script, since we
4 $! do not have /bin/sh to execute it.
5 $!      
6 $!   Copyright 2012 Free Software Foundation
7 $!
8 $! This file is free software; you can redistribute it and/or modify
9 $! it under the terms of the GNU General Public License as published by
10 $! the Free Software Foundation; either version 3 of the License, or
11 $! (at your option) any later version.
12 $! 
13 $! This program is distributed in the hope that it will be useful,
14 $! but WITHOUT ANY WARRANTY; without even the implied warranty of
15 $! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 $! GNU General Public License for more details.
17 $! 
18 $! You should have received a copy of the GNU General Public License
19 $! along with this program; see the file COPYING3.  If not see
20 $! <http://www.gnu.org/licenses/>.
23 $ arch=F$GETSYI("ARCH_NAME")
24 $ arch=F$EDIT(arch,"LOWERCASE")
25 $ if arch.eqs."alpha"
26 $ then
27 $   format = "evax"
28 $   env = "generic"
29 $   target_alias = "alpha-dec-openvms"
30 $   target_canonical = "alpha-dec-openvms"
31 $ endif
32 $ if arch.eqs."ia64"
33 $ then
34 $   format = "elf"
35 $   env = "vms"
36 $   target_alias = "ia64-openvms"
37 $   target_canonical = "ia64-unknown-openvms"
38 $ endif
41 $ write sys$output "Generate targ-cpu.[ch]"
43 $! Target specific information
44 $ open/write outfile targ-cpu.h
45 $ write outfile "#include ""tc-''arch'.h"""
46 $ close outfile
47 $! Target specific information
48 $ open/write outfile targ-cpu.c
49 $ write outfile "#include ""tc-''arch'.c"""
50 $ close outfile
52 $ write sys$output "Generate targ-env.h"
54 $ open/write outfile targ-env.h
55 $ write outfile "#include ""te-''env'.h"""
56 $ close outfile
58 $ write sys$output "Generate obj-format.[ch]"
60 $! Code to handle the object file format.
61 $ open/write outfile obj-format.h
62 $ write outfile "#include ""obj-''format'.h"""
63 $ close outfile
64 $ open/write outfile obj-format.c
65 $ write outfile "#include ""obj-''format'.c"""
66 $ close outfile
68 $ write sys$output "Generate atof-targ.c"
70 $ create atof-targ.c
71 #include "atof-ieee.c"
73 $ write sys$output "Generate gas/config.h"
75 $  create config-vms.in
76 /* config.h.  Generated by configure.com.  */
77 /* Define to 1 if using `alloca.c'. */
78 #undef C_ALLOCA
80 /* Default architecture. */
81 #undef DEFAULT_ARCH
83 /* Default emulation. */
84 #define DEFAULT_EMULATION ""
86 /* Supported emulations. */
87 #define EMULATIONS
89 /* Define if you want run-time sanity checks. */
90 #undef ENABLE_CHECKING
92 /* Define to 1 if translation of program messages to the user's native
93    language is requested. */
94 #undef ENABLE_NLS
96 /* Define to 1 if you have `alloca', as a function or macro. */
97 #define HAVE_ALLOCA 1
98 #include <builtins.h>
99 #define C_alloca(x) __ALLOCA(x)
101 /* Define to 1 if you have the `basename' function. */
102 #define HAVE_DECL_BASENAME 1
104 /* Is the prototype for getopt in <unistd.h> in the expected format? */
105 #define HAVE_DECL_GETOPT 1
107 /* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
108    don't. */
109 #undef HAVE_DECL_VSNPRINTF
111 /* Define to 1 if you have the declaration of `snprintf', and to 0 if you
112    don't. */
113 #define HAVE_DECL_SNPRINTF 1
115 /* Define to 1 if you have the <errno.h> header file. */
116 #define HAVE_ERRNO_H 1
118 /* Define to 1 if you have the <limits.h> header file. */
119 #undef HAVE_LIMITS_H
121 /* Define to 1 if you have the `remove' function. */
122 #define HAVE_REMOVE 1
124 /* Define to 1 if you have the <stdarg.h> header file. */
125 #define HAVE_STDARG_H 1
127 /* Define to 1 if you have the <stdint.h> header file. */
128 #undef HAVE_STDINT_H
130 /* Define to 1 if you have the <stdlib.h> header file. */
131 #define HAVE_STDLIB_H 1
133 /* Define to 1 if you have the <strings.h> header file. */
134 #define HAVE_STRINGS_H 1
136 /* Define to 1 if you have the <string.h> header file. */
137 #define HAVE_STRING_H 1
139 /* Define to 1 if you have the <sys/stat.h> header file. */
140 #undef HAVE_SYS_STAT_H
142 /* Define to 1 if you have the <sys/types.h> header file. */
143 #define HAVE_SYS_TYPES_H
145 /* Define to 1 if you have the <unistd.h> header file. */
146 #define HAVE_UNISTD_H
148 /* Define to 1 if you have the `unlink' function. */
149 #undef HAVE_UNLINK
151 /* Name of package */
152 #define PACKAGE "gas"
154 /* Define to the address where bug reports for this package should be sent. */
155 #define PACKAGE_BUGREPORT ""
157 /* Define to the full name of this package. */
158 #define PACKAGE_NAME ""
160 /* Define to the full name and version of this package. */
161 #define PACKAGE_STRING ""
163 /* Define to the one symbol short name of this package. */
164 #define PACKAGE_TARNAME ""
166 /* Define to the version of this package. */
167 #define PACKAGE_VERSION ""
169 /* Define to 1 if you have the ANSI C header files. */
170 #define STDC_HEADERS 1
172 /* Target OS. */
173 #define TARGET_OS "openvms"
175 /* Target vendor. */
176 #define TARGET_VENDOR "dec"
178 /* Define to 1 if your processor stores words with the most significant byte
179    first (like Motorola and SPARC, unlike Intel and VAX). */
180 #define WORDS_BIGENDIAN 1
182 /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
183    `char[]'. */
184 #undef YYTEXT_POINTER
186 /* Version number of package */
188 $! Get VERSION from ../bfd/configure.in
190 $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input
191 $DECK
192    set (success, off);
193    mfile := CREATE_BUFFER("mfile", "[-.bfd]configure.in");
194    match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', FORWARD, EXACT, mfile);
195    IF match_pos <> 0 THEN;
196      POSITION(BEGINNING_OF(match_pos));
197      ERASE(match_pos);
198      vers := CURRENT_LINE-")";
199    ELSE;
200      vers := "unknown";
201    ENDIF;
203    file := CREATE_BUFFER("file", "config-vms.in");
204    POSITION(END_OF(file));
205    COPY_TEXT("#define VERSION """);
206    COPY_TEXT(vers);
207    COPY_TEXT("""");
208    WRITE_FILE(file, "config.h");
209    QUIT
210 $EOD
211 $del/nolog config-vms.in;
212 $ open/append outfile config.h
213 $  write outfile ""
214 $  write outfile "/* Target alias. */"
215 $  write outfile "#define TARGET_ALIAS ""''target_alias'"""
216 $  write outfile ""
217 $  write outfile "/* Canonical target. */"
218 $  write outfile "#define TARGET_CANONICAL ""''target_canonical'"""
219 $  write outfile ""
220 $  write outfile "/* Target CPU. */"
221 $  write outfile "#define TARGET_CPU ""'arch'"""
222 $ close outfile
224 $ write sys$output "Generate gas/build.com"
226 $ create build.com
227 $DECK
228 $ DEFS=""
229 $ OPT="/noopt/debug"
230 $ CFLAGS=OPT + "/include=([],""../include"",[-.bfd],""../"",[.config])" +-
231  "/name=(as_is,shortened)" +-
232  "/prefix=(all,exc=(""getopt"",""optarg"",""optopt"",""optind"",""opterr""))"
233 $ FILES="obj-format,atof-targ,app,as,atof-generic,cond,depend,"+-
234   "expr,flonum-konst,flonum-copy,flonum-mult,frags,hash,input-file,"+-
235   "input-scrub,literal,messages,output-file,read,subsegs,symbols,write,"+-
236   "listing,ecoff,stabs,sb,macro,ehopt,dw2gencfi,dwarf2dbg,remap"
237 $ LIBBFD = ",[-.bfd]libbfd.olb/lib"
238 $ LIBIBERTY = ",[-.libiberty]libiberty.olb/lib"
239 $ LIBOPCODES = ",[-.opcodes]libopcodes.olb/lib"
241 $ AS_OBJS="targ-cpu," + FILES 
243 $ write sys$output "CFLAGS=",CFLAGS
245 $EOD
247 $ if arch.eqs."ia64"
248 $ then
249 $   open/append outfile build.com
250 $   write outfile "$ write sys$output ""Compiling te-vms.c"""
251 $   write outfile "$ cc 'CFLAGS /obj=te-vms.obj [.config]te-vms.c + " +-
252       "sys$library:sys$lib_c.tlb/lib"
253 $   write outfile "$ AS_OBJS=AS_OBJS + "",te-vms.obj"""
254 $   close outfile
255 $ endif
257 $ append sys$input build.com
258 $DECK
259 $ if p1.nes."LINK"
260 $ then
261 $   write sys$output "Compiling targ-cpu.c (/noopt)"
262 $   cc 'CFLAGS /noopt targ-cpu
263 $   NUM = 0
264 $   LOOP:
265 $     F = F$ELEMENT(NUM,",",FILES)
266 $     IF F.EQS."," THEN GOTO END
267 $     write sys$output "Compiling ", F, ".c"
268 $     cc 'CFLAGS 'F.c
269 $     NUM = NUM + 1
270 $     GOTO LOOP
271 $   END:
272 $ endif
273 $ purge
275 $ write sys$output "Building as.exe"
276 $ AS_OBJS=AS_OBJS + LIBOPCODES +  LIBBFD +  LIBIBERTY
277 $ link/exe=as 'AS_OBJS
278 $EOD
279 $exit