123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281 |
- $! configure.com
- $! This file sets things up to build gas on a VMS system to generate object
- $! files for a VMS system. We do not use the configure script, since we
- $! do not have /bin/sh to execute it.
- $!
- $! Copyright (C) 2012-2015 Free Software Foundation, Inc.
- $!
- $! This file is free software; you can redistribute it and/or modify
- $! it under the terms of the GNU General Public License as published by
- $! the Free Software Foundation; either version 3 of the License, or
- $! (at your option) any later version.
- $!
- $! This program is distributed in the hope that it will be useful,
- $! but WITHOUT ANY WARRANTY; without even the implied warranty of
- $! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- $! GNU General Public License for more details.
- $!
- $! You should have received a copy of the GNU General Public License
- $! along with this program; see the file COPYING3. If not see
- $! <http://www.gnu.org/licenses/>.
- $!
- $!
- $ arch=F$GETSYI("ARCH_NAME")
- $ arch=F$EDIT(arch,"LOWERCASE")
- $ if arch.eqs."alpha"
- $ then
- $ format = "evax"
- $ env = "generic"
- $ target_alias = "alpha-dec-openvms"
- $ target_canonical = "alpha-dec-openvms"
- $ endif
- $ if arch.eqs."ia64"
- $ then
- $ format = "elf"
- $ env = "vms"
- $ target_alias = "ia64-openvms"
- $ target_canonical = "ia64-unknown-openvms"
- $ endif
- $!
- $!
- $ write sys$output "Generate targ-cpu.[ch]"
- $!
- $! Target specific information
- $ open/write outfile targ-cpu.h
- $ write outfile "#include ""tc-''arch'.h"""
- $ close outfile
- $! Target specific information
- $ open/write outfile targ-cpu.c
- $ write outfile "#include ""tc-''arch'.c"""
- $ close outfile
- $!
- $ write sys$output "Generate targ-env.h"
- $!
- $ open/write outfile targ-env.h
- $ write outfile "#include ""te-''env'.h"""
- $ close outfile
- $!
- $ write sys$output "Generate obj-format.[ch]"
- $!
- $! Code to handle the object file format.
- $ open/write outfile obj-format.h
- $ write outfile "#include ""obj-''format'.h"""
- $ close outfile
- $ open/write outfile obj-format.c
- $ write outfile "#include ""obj-''format'.c"""
- $ close outfile
- $!
- $ write sys$output "Generate atof-targ.c"
- $!
- $ create atof-targ.c
- #include "atof-ieee.c"
- $!
- $ write sys$output "Generate gas/config.h"
- $!
- $ create config-vms.in
- /* config.h. Generated by configure.com. */
- /* Define to 1 if using `alloca.c'. */
- #undef C_ALLOCA
- /* Default architecture. */
- #undef DEFAULT_ARCH
- /* Default emulation. */
- #define DEFAULT_EMULATION ""
- /* Supported emulations. */
- #define EMULATIONS
- /* Define if you want run-time sanity checks. */
- #undef ENABLE_CHECKING
- /* Define to 1 if translation of program messages to the user's native
- language is requested. */
- #undef ENABLE_NLS
- /* Define to 1 if you have `alloca', as a function or macro. */
- #define HAVE_ALLOCA 1
- #include <builtins.h>
- #define C_alloca(x) __ALLOCA(x)
- /* Define to 1 if you have the `basename' function. */
- #define HAVE_DECL_BASENAME 1
- /* Is the prototype for getopt in <unistd.h> in the expected format? */
- #define HAVE_DECL_GETOPT 1
- /* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
- don't. */
- #undef HAVE_DECL_VSNPRINTF
- /* Define to 1 if you have the declaration of `snprintf', and to 0 if you
- don't. */
- #define HAVE_DECL_SNPRINTF 1
- /* Define to 1 if you have the <errno.h> header file. */
- #define HAVE_ERRNO_H 1
- /* Define to 1 if you have the <limits.h> header file. */
- #undef HAVE_LIMITS_H
- /* Define to 1 if you have the `remove' function. */
- #define HAVE_REMOVE 1
- /* Define to 1 if you have the <stdarg.h> header file. */
- #define HAVE_STDARG_H 1
- /* Define to 1 if you have the <stdint.h> header file. */
- #undef HAVE_STDINT_H
- /* Define to 1 if you have the <stdlib.h> header file. */
- #define HAVE_STDLIB_H 1
- /* Define to 1 if you have the <strings.h> header file. */
- #define HAVE_STRINGS_H 1
- /* Define to 1 if you have the <string.h> header file. */
- #define HAVE_STRING_H 1
- /* Define to 1 if you have the <sys/stat.h> header file. */
- #undef HAVE_SYS_STAT_H
- /* Define to 1 if you have the <sys/types.h> header file. */
- #define HAVE_SYS_TYPES_H
- /* Define to 1 if you have the <unistd.h> header file. */
- #define HAVE_UNISTD_H
- /* Define to 1 if you have the `unlink' function. */
- #undef HAVE_UNLINK
- /* Name of package */
- #define PACKAGE "gas"
- /* Define to the address where bug reports for this package should be sent. */
- #define PACKAGE_BUGREPORT ""
- /* Define to the full name of this package. */
- #define PACKAGE_NAME ""
- /* Define to the full name and version of this package. */
- #define PACKAGE_STRING ""
- /* Define to the one symbol short name of this package. */
- #define PACKAGE_TARNAME ""
- /* Define to the version of this package. */
- #define PACKAGE_VERSION ""
- /* Define to 1 if you have the ANSI C header files. */
- #define STDC_HEADERS 1
- /* Target OS. */
- #define TARGET_OS "openvms"
- /* Target vendor. */
- #define TARGET_VENDOR "dec"
- /* Define to 1 if your processor stores words with the most significant byte
- first (like Motorola and SPARC, unlike Intel and VAX). */
- #define WORDS_BIGENDIAN 1
- /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
- `char[]'. */
- #undef YYTEXT_POINTER
- /* Version number of package */
- $!
- $! Get VERSION from ../bfd/version.m4
- $!
- $ edit/tpu/nojournal/nosection/nodisplay/command=sys$input
- $DECK
- set (success, off);
- mfile := CREATE_BUFFER("mfile", "[-.bfd]version.m4");
- match_pos := SEARCH_QUIETLY('m4_define([BFD_VERSION], [', FORWARD, EXACT, mfile);
- IF match_pos <> 0 THEN;
- POSITION(BEGINNING_OF(match_pos));
- ERASE(match_pos);
- vers := CURRENT_LINE-"])";
- ELSE;
- vers := "unknown";
- ENDIF;
- file := CREATE_BUFFER("file", "config-vms.in");
- POSITION(END_OF(file));
- COPY_TEXT("#define VERSION """);
- COPY_TEXT(vers);
- COPY_TEXT("""");
- WRITE_FILE(file, "config.h");
- QUIT
- $EOD
- $del/nolog config-vms.in;
- $ open/append outfile config.h
- $ write outfile ""
- $ write outfile "/* Target alias. */"
- $ write outfile "#define TARGET_ALIAS ""''target_alias'"""
- $ write outfile ""
- $ write outfile "/* Canonical target. */"
- $ write outfile "#define TARGET_CANONICAL ""''target_canonical'"""
- $ write outfile ""
- $ write outfile "/* Target CPU. */"
- $ write outfile "#define TARGET_CPU ""'arch'"""
- $ close outfile
- $!
- $ write sys$output "Generate gas/build.com"
- $!
- $ create build.com
- $DECK
- $ DEFS=""
- $ OPT="/noopt/debug"
- $ CFLAGS=OPT + "/include=([],""../include"",[-.bfd],""../"",[.config])" +-
- "/name=(as_is,shortened)" +-
- "/prefix=(all,exc=(""getopt"",""optarg"",""optopt"",""optind"",""opterr""))"
- $ FILES="obj-format,atof-targ,app,as,atof-generic,cond,depend,"+-
- "expr,flonum-konst,flonum-copy,flonum-mult,frags,hash,input-file,"+-
- "input-scrub,literal,messages,output-file,read,subsegs,symbols,write,"+-
- "listing,ecoff,stabs,sb,macro,ehopt,dw2gencfi,dwarf2dbg,remap"
- $ LIBBFD = ",[-.bfd]libbfd.olb/lib"
- $ LIBIBERTY = ",[-.libiberty]libiberty.olb/lib"
- $ LIBOPCODES = ",[-.opcodes]libopcodes.olb/lib"
- $!
- $ AS_OBJS="targ-cpu," + FILES
- $!
- $ write sys$output "CFLAGS=",CFLAGS
- $!
- $EOD
- $!
- $ if arch.eqs."ia64"
- $ then
- $ open/append outfile build.com
- $ write outfile "$ write sys$output ""Compiling te-vms.c"""
- $ write outfile "$ cc 'CFLAGS /obj=te-vms.obj [.config]te-vms.c + " +-
- "sys$library:sys$lib_c.tlb/lib"
- $ write outfile "$ AS_OBJS=AS_OBJS + "",te-vms.obj"""
- $ close outfile
- $ endif
- $!
- $ append sys$input build.com
- $DECK
- $ if p1.nes."LINK"
- $ then
- $ write sys$output "Compiling targ-cpu.c (/noopt)"
- $ cc 'CFLAGS /noopt targ-cpu
- $ NUM = 0
- $ LOOP:
- $ F = F$ELEMENT(NUM,",",FILES)
- $ IF F.EQS."," THEN GOTO END
- $ write sys$output "Compiling ", F, ".c"
- $ cc 'CFLAGS 'F.c
- $ NUM = NUM + 1
- $ GOTO LOOP
- $ END:
- $ endif
- $ purge
- $!
- $ write sys$output "Building as.exe"
- $ AS_OBJS=AS_OBJS + LIBOPCODES + LIBBFD + LIBIBERTY
- $ link/exe=as 'AS_OBJS
- $EOD
- $exit
|