2009-05-25 Tristan Gingold <gingold@adacore.com>

* makefile.vms: New file to compile gas on VMS.

	* configure.com: New file to do configuration on VMS with DCL.
This commit is contained in:
Tristan Gingold 2009-05-25 13:11:33 +00:00
parent 84983b1a4e
commit cb0e7c25ac
3 changed files with 236 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2009-05-05 Tristan Gingold <gingold@adacore.com>
* makefile.vms: New file to compile gas on VMS.
* configure.com: New file to do configuration on VMS with DCL.
2009-05-23 Richard Sandiford <rdsandiford@googlemail.com>
* config/tc-mips.c (nops_for_vr4130): Don't check noreorder_p.

172
gas/configure.com Normal file
View File

@ -0,0 +1,172 @@
$! 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.
$!
$!
$ arch_indx = 1 + ((f$getsyi("CPU").ge.128).and.1) ! vax==1, alpha==2
$ arch = f$element(arch_indx,"|","|VAX|Alpha|")
$!
$ if arch.eqs."Alpha"
$ then
$! Target specific information
$ create targ-cpu.h
#include "tc-alpha.h"
$ create targ-cpu.c
#include "tc-alpha.c"
$ create targ-env.h
#define TE_VMS
#include "obj-format.h"
$
$! Code to handle the object file format.
$ create obj-format.h
#include "obj-evax.h"
$ create obj-format.c
#include "obj-evax.c"
$ create atof-targ.c
#include "atof-ieee.c"
$ 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)
/* 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. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef 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 alias. */
#define TARGET_ALIAS "alpha-dec-openvms"
/* Canonical target. */
#define TARGET_CANONICAL "alpha-dec-openvms"
/* Target CPU. */
#define TARGET_CPU "alpha"
/* 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 */
$
$ endif
$!
$! Get VERSION from ../bfd/configure.in
$!
$ edit/tpu/nojournal/nosection/nodisplay/command=sys$input
$DECK
mfile := CREATE_BUFFER("mfile", "[-.bfd]configure.in");
match_pos := SEARCH_QUIETLY('AM_INIT_AUTOMAKE(bfd, ', 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;
$exit

58
gas/makefile.vms Normal file
View File

@ -0,0 +1,58 @@
#
# makefile for gas
#
# Created by Klaus Kaempf, kkaempf@progis.de
#
#CC=gcc
CC=cc
ARCH=ALPHA
ifeq ($(CC),gcc)
DEFS=
CFLAGS=/include=([],[-.bfd],[.config],[-.include],[-])$(DEFS)
LFLAGS=
LIBS=,GNU_CC_LIBRARY:libgcc/lib,sys$$library:vaxcrtl.olb/lib,GNU_CC_LIBRARY:crt0.obj
else
#DEFS=/define=("VMS_DEBUG","DEBUG2","DEBUG3","DEBUG5","DEBUG_SYMS","DEBUG_ALPHA")
OPT=/noopt/debug
CFLAGS=/names=(as_is,shortened)\
/include=([],[-.bfd],[.config],[-.include],[-])$(DEFS)$(OPT)\
/prefix=(all,except=("getopt","optarg","optopt","optind","opterr"))
#LFLAGS=/debug/map=as.map
LIBS=,sys$$library:vaxcrtl.olb/lib
endif
OBJS=targ-cpu.obj,obj-format.obj,atof-targ.obj,app.obj,as.obj,atof-generic.obj,\
cond.obj,depend.obj,expr.obj,flonum-konst.obj,\
flonum-copy.obj,flonum-mult.obj,frags.obj,hash.obj,input-file.obj,\
input-scrub.obj,literal.obj,messages.obj,output-file.obj,read.obj,\
subsegs.obj,symbols.obj,write.obj,listing.obj,ecoff.obj,stabs.obj,sb.obj,\
macro.obj,ehopt.obj,dw2gencfi.obj,dwarf2dbg.obj,remap.obj
LIBIBERTY = [-.libiberty]libiberty.olb
LIBBFD = [-.bfd]libbfd.olb
LIBOPCODES = [-.opcodes]libopcodes.olb
BFDDEP = [-.bfd]bfd.h
all: as.exe
as.exe: $(OBJS) $(LIBOPCODES) $(LIBBFD) $(LIBIBERTY)
link$(LFLAGS)/exe=$@ $(OBJS),$(LIBOPCODES)/lib,$(LIBBFD)/lib,$(LIBIBERTY)/lib$(LIBS)
ifneq ($(CC),gcc)
# Work-around a DEC-C bug.
targ-cpu.obj: targ-cpu.c targ-cpu.h
$(COMPILE.c) /noopt/obj=$@ $<
endif
clean:
$$ purge
$(RM) *.obj;
$(RM) *.exe;
$(RM) atof-targ.c;
$(RM) obj-format.c;
$(RM) obj-format.h;
$(RM) targ-env.h;
$(RM) targ-cpu.h;
$(RM) targ-cpu.c;