$! 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-2014 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 $! . $! $! $ 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 #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 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 header file. */ #define HAVE_ERRNO_H 1 /* Define to 1 if you have the 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 header file. */ #define HAVE_STDARG_H 1 /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H /* Define to 1 if you have the 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