summaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/Makefile.in
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2015-04-22 10:21:45 +0000
committer <>2015-04-25 21:44:09 +0000
commitf80b5ea1605c9f9408c5aa386ba71c16d918ebbf (patch)
treebb7eafaa81fc4b8c5c215bc08d517fd158db234a /gcc/ada/gcc-interface/Makefile.in
parentc27a97d04853380f1e80525391b3f0d156ed4c84 (diff)
downloadgcc-tarball-f80b5ea1605c9f9408c5aa386ba71c16d918ebbf.tar.gz
Imported from /home/lorry/working-area/delta_gcc-tarball/gcc-5.1.0.tar.bz2.gcc-5.1.0
Diffstat (limited to 'gcc/ada/gcc-interface/Makefile.in')
-rw-r--r--gcc/ada/gcc-interface/Makefile.in516
1 files changed, 222 insertions, 294 deletions
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index 5c36962ef3..ecc443e106 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -1,5 +1,5 @@
# Makefile for GNU Ada Compiler (GNAT).
-# Copyright (C) 1994-2013 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
#This file is part of GCC.
@@ -106,6 +106,7 @@ GNATBIND_FLAGS = -static -x
ADA_CFLAGS =
ADAFLAGS = -W -Wall -gnatpg -gnata
FORCE_DEBUG_ADAFLAGS = -g
+NO_INLINE_ADAFLAGS = -fno-inline
NO_SIBLING_ADAFLAGS = -fno-optimize-sibling-calls
NO_REORDER_ADAFLAGS = -fno-toplevel-reorder
GNATLIBFLAGS = -W -Wall -gnatpg -nostdinc
@@ -450,10 +451,22 @@ LIB_VERSION = $(strip $(shell grep ' Library_Version :' $(fsrcpfx)ada/gnatvsn.ad
# Additionnal object files from C source to be added to libgnat.
EXTRA_LIBGNAT_OBJS=
-# Additionnal C source file to be added to libgnat without corresponding object
-# file (included files).
+
+# Additionnal C source files to be added to libgnat without corresponding
+# object file (#included files). This should include at least the GNAT
+# specific header files required to rebuild the runtime library from sources.
EXTRA_LIBGNAT_SRCS=
+# GCC spec files to be installed in $(libsubdir), so --specs=<spec-filename>
+# finds them at runtime. Sequences of alphanum characters prefixed with '_' in
+# the filename are stripped off at installation time. This is used to strip
+# the architecture indications in vxsim spec filenames, installing e.g.
+# vxsim_ppc.spec as vxsim.spec. This allows setting up pretty general self
+# specs to perform -vxsim -> --specs=<...> translations without causing
+# conflicts since the specs are installed in a target specific subdirectory.
+#
+GCC_SPEC_FILES=
+
# $(filter-out PATTERN...,TEXT) removes all PATTERN words from TEXT.
# $(strip STRING) removes leading and trailing spaces from STRING.
# If what's left is null then it's a match.
@@ -502,7 +515,7 @@ ifeq ($(strip $(filter-out m68k% wrs vx%,$(target_cpu) $(target_vendor) $(target
endif
# PowerPC and e500v2 VxWorks
-ifeq ($(strip $(filter-out powerpc% wrs vxworks,$(target_cpu) $(target_vendor) $(target_os))),)
+ifeq ($(strip $(filter-out powerpc% wrs vxworks vxworks7,$(target_cpu) $(target_vendor) $(target_os))),)
ifeq ($(strip $(filter-out e500%, $(target_alias))),)
ARCH_STR=e500
@@ -510,6 +523,12 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworks,$(target_cpu) $(target_vendor) $
ARCH_STR=ppc
endif
+ ifeq ($(strip $(filter-out vxworks7%, $(target_os))),)
+ SVX=system-vxworks7
+ else
+ SVX=system-vxworks
+ endif
+
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<a-intnam-vxworks.ads \
a-numaux.ads<a-numaux-vxworks.ads \
@@ -563,6 +582,9 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworks,$(target_cpu) $(target_vendor) $
s-vxwext.adb<s-vxwext-rtp.adb \
s-tpopsp.adb<s-tpopsp-vxworks-rtp.adb \
system.ads<system-vxworks-$(ARCH_STR)-rtp.ads
+
+ EH_MECHANISM=-gcc
+ EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o
else
ifeq ($(strip $(filter-out rtp-smp,$(THREAD_KIND))),)
LIBGNAT_TARGET_PAIRS += \
@@ -570,9 +592,11 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworks,$(target_cpu) $(target_vendor) $
s-vxwext.ads<s-vxwext-rtp.ads \
s-vxwext.adb<s-vxwext-rtp-smp.adb \
s-tpopsp.adb<s-tpopsp-vxworks-tls.adb \
- system.ads<system-vxworks-$(ARCH_STR)-rtp.ads
+ system.ads<$(SVX)-$(ARCH_STR)-rtp-smp.ads
- EXTRA_LIBGNAT_OBJS+=affinity.o
+ EH_MECHANISM=-gcc
+ EXTRA_LIBGNAT_OBJS+=affinity.o sigtramp-vxworks.o
+ EXTRA_LIBGNAT_SRCS+=sigtramp.h
else
ifeq ($(strip $(filter-out kernel-smp,$(THREAD_KIND))),)
LIBGNAT_TARGET_PAIRS += \
@@ -602,17 +626,28 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworks,$(target_cpu) $(target_vendor) $
endif
endif
EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o
- EXTRA_LIBGNAT_OBJS+=sigtramp-ppcvxw.o
+ EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o
+ EXTRA_LIBGNAT_SRCS+=sigtramp.h
endif
endif
EXTRA_GNATRTL_TASKING_OBJS += s-vxwork.o s-vxwext.o
EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
+
+ GCC_SPEC_FILES+=vxworks-$(ARCH_STR)-link.spec
+ GCC_SPEC_FILES+=vxworks-crtbe-link.spec
endif
# PowerPC and e500v2 VxWorks 653
ifeq ($(strip $(filter-out powerpc% wrs vxworksae,$(target_cpu) $(target_vendor) $(target_os))),)
+
+ ifeq ($(strip $(filter-out e500%, $(target_alias))),)
+ ARCH_STR=e500
+ else
+ ARCH_STR=ppc
+ endif
+
# target pairs for vthreads runtime
LIBGNAT_TARGET_PAIRS = \
a-elchha.adb<a-elchha-vxworks-ppc-full.adb \
@@ -635,15 +670,10 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworksae,$(target_cpu) $(target_vendor)
s-vxwext.adb<s-vxwext-noints.adb \
s-vxwext.ads<s-vxwext-vthreads.ads \
s-vxwork.ads<s-vxwork-ppc.ads \
+ system.ads<system-vxworks-$(ARCH_STR)-vthread.ads \
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS)
- ifeq ($(strip $(filter-out e500%, $(target_alias))),)
- LIBGNAT_TARGET_PAIRS += system.ads<system-vxworks-e500-vthread.ads
- else
- LIBGNAT_TARGET_PAIRS += system.ads<system-vxworks-ppc-vthread.ads
- endif
-
TOOLS_TARGET_PAIRS=\
mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
indepsw.adb<indepsw-gnu.adb
@@ -651,7 +681,8 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworksae,$(target_cpu) $(target_vendor)
EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o
EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
- EXTRA_LIBGNAT_OBJS+=sigtramp-ppcvxw.o
+ EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o
+ EXTRA_LIBGNAT_SRCS+=sigtramp.h
# Extra pairs for the vthreads runtime
ifeq ($(strip $(filter-out vthreads,$(THREAD_KIND))),)
@@ -715,7 +746,8 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworksmils,$(target_cpu) $(target_vendo
EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-thread.o
EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
- EXTRA_LIBGNAT_OBJS+=vx_stack_info.o sigtramp-ppcvxw.o
+ EXTRA_LIBGNAT_OBJS+=vx_stack_info.o sigtramp-vxworks.o
+ EXTRA_LIBGNAT_SRCS+=sigtramp.h
GNATRTL_SOCKETS_OBJS =
ifeq ($(strip $(filter-out yes,$(TRACE))),)
@@ -844,7 +876,14 @@ ifeq ($(strip $(filter-out sparc% wrs vx%,$(target_cpu) $(target_vendor) $(targe
endif
# x86 VxWorks
-ifeq ($(strip $(filter-out %86 wrs vxworks,$(target_cpu) $(target_vendor) $(target_os))),)
+ifeq ($(strip $(filter-out %86 wrs vxworks vxworks7,$(target_cpu) $(target_vendor) $(target_os))),)
+
+ ifeq ($(strip $(filter-out vxworks7%, $(target_os))),)
+ SVX=system-vxworks7
+ else
+ SVX=system-vxworks
+ endif
+
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<a-intnam-vxworks.ads \
i-vxwork.ads<i-vxwork-x86.ads \
@@ -895,7 +934,7 @@ ifeq ($(strip $(filter-out %86 wrs vxworks,$(target_cpu) $(target_vendor) $(targ
s-vxwext.ads<s-vxwext-rtp.ads \
s-vxwext.adb<s-vxwext-rtp-smp.adb \
s-tpopsp.adb<s-tpopsp-vxworks-tls.adb \
- system.ads<system-vxworks-x86-rtp.ads
+ system.ads<$(SVX)-x86-rtp-smp.ads
EXTRA_LIBGNAT_OBJS+=affinity.o
else
@@ -906,7 +945,7 @@ ifeq ($(strip $(filter-out %86 wrs vxworks,$(target_cpu) $(target_vendor) $(targ
s-tpopsp.adb<s-tpopsp-vxworks-tls.adb \
s-vxwext.ads<s-vxwext-kernel.ads \
s-vxwext.adb<s-vxwext-kernel-smp.adb \
- system.ads<system-vxworks-x86-kernel.ads
+ system.ads<$(SVX)-x86-kernel.ads
EXTRA_LIBGNAT_OBJS+=affinity.o
else
LIBGNAT_TARGET_PAIRS += \
@@ -930,10 +969,23 @@ ifeq ($(strip $(filter-out %86 wrs vxworks,$(target_cpu) $(target_vendor) $(targ
EXTRA_GNATRTL_TASKING_OBJS += s-vxwork.o s-vxwext.o
EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
+
+ ifneq ($(strip $(filter-out vxworks7%, $(target_os))),)
+ GCC_SPEC_FILES+=vxworks-x86-link.spec
+ GCC_SPEC_FILES+=vxworks-cert-x86-link.spec
+ GCC_SPEC_FILES+=vxworks-smp-x86-link.spec
+ endif
endif
# ARM VxWorks
ifeq ($(strip $(filter-out arm% coff wrs vx%,$(target_cpu) $(target_vendor) $(target_os))),)
+
+ ifeq ($(strip $(filter-out vxworks7%, $(target_os))),)
+ SVX=system-vxworks7
+ else
+ SVX=system-vxworks
+ endif
+
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<a-intnam-vxworks.ads \
a-numaux.ads<a-numaux-vxworks.ads \
@@ -961,14 +1013,17 @@ ifeq ($(strip $(filter-out arm% coff wrs vx%,$(target_cpu) $(target_vendor) $(ta
indepsw.adb<indepsw-gnu.adb
ifeq ($(strip $(filter-out rtp-smp,$(THREAD_KIND))),)
+ EH_MECHANISM=-gcc
+
LIBGNAT_TARGET_PAIRS += \
s-mudido.adb<s-mudido-affinity.adb \
s-vxwext.ads<s-vxwext-rtp.ads \
s-vxwext.adb<s-vxwext-rtp-smp.adb \
s-tpopsp.adb<s-tpopsp-vxworks-tls.adb \
- system.ads<system-vxworks-arm-rtp.ads
+ system.ads<$(SVX)-arm-rtp-smp.ads
- EXTRA_LIBGNAT_OBJS+=affinity.o
+ EXTRA_LIBGNAT_OBJS+=affinity.o sigtramp-vxworks.o
+ EXTRA_LIBGNAT_SRCS+=sigtramp.h
else
ifeq ($(strip $(filter-out kernel-smp,$(THREAD_KIND))),)
EH_MECHANISM=-gcc
@@ -980,7 +1035,8 @@ ifeq ($(strip $(filter-out arm% coff wrs vx%,$(target_cpu) $(target_vendor) $(ta
s-vxwext.adb<s-vxwext-kernel-smp.adb \
system.ads<system-vxworks-arm.ads
- EXTRA_LIBGNAT_OBJS+=affinity.o sigtramp-armvxw.o
+ EXTRA_LIBGNAT_OBJS+=affinity.o sigtramp-vxworks.o
+ EXTRA_LIBGNAT_SRCS+=sigtramp.h
else
LIBGNAT_TARGET_PAIRS += \
s-tpopsp.adb<s-tpopsp-vxworks.adb \
@@ -993,7 +1049,8 @@ ifeq ($(strip $(filter-out arm% coff wrs vx%,$(target_cpu) $(target_vendor) $(ta
s-vxwext.ads<s-vxwext-kernel.ads \
s-vxwext.adb<s-vxwext-kernel.adb
- EXTRA_LIBGNAT_OBJS+=sigtramp-armvxw.o
+ EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o
+ EXTRA_LIBGNAT_SRCS+=sigtramp.h
endif
endif
endif
@@ -1002,6 +1059,10 @@ ifeq ($(strip $(filter-out arm% coff wrs vx%,$(target_cpu) $(target_vendor) $(ta
EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
+
+ GCC_SPEC_FILES+=vxworks-crtbe-link.spec
+ GCC_SPEC_FILES+=vxworks-arm-link.spec
+ GCC_SPEC_FILES+=vxworks-smp-arm-link.spec
endif
# MIPS VxWorks
@@ -1034,6 +1095,37 @@ ifeq ($(strip $(filter-out mips% wrs vx%,$(target_cpu) $(target_vendor) $(target
mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
indepsw.adb<indepsw-gnu.adb
+ ifeq ($(strip $(filter-out rtp-smp,$(THREAD_KIND))),)
+ EH_MECHANISM=-gcc
+
+ LIBGNAT_TARGET_PAIRS += \
+ s-mudido.adb<s-mudido-affinity.adb \
+ s-vxwext.ads<s-vxwext-rtp.ads \
+ s-vxwext.adb<s-vxwext-rtp-smp.adb \
+ s-tpopsp.adb<s-tpopsp-vxworks-tls.adb
+
+ EXTRA_LIBGNAT_OBJS+=affinity.o sigtramp-vxworks.o
+ else
+ ifeq ($(strip $(filter-out kernel-smp,$(THREAD_KIND))),)
+ LIBGNAT_TARGET_PAIRS += \
+ s-mudido.adb<s-mudido-affinity.adb \
+ s-tpopsp.adb<s-tpopsp-vxworks-tls.adb \
+ s-vxwext.ads<s-vxwext-kernel.ads \
+ s-vxwext.adb<s-vxwext-kernel-smp.adb
+
+ EXTRA_LIBGNAT_OBJS+=affinity.o
+ else
+ LIBGNAT_TARGET_PAIRS += \
+ s-tpopsp.adb<s-tpopsp-vxworks.adb
+
+ ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),)
+ LIBGNAT_TARGET_PAIRS += \
+ s-vxwext.ads<s-vxwext-kernel.ads \
+ s-vxwext.adb<s-vxwext-kernel.adb
+ endif
+ endif
+ endif
+
EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o
EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o s-vxwext.o
@@ -1055,14 +1147,12 @@ ifeq ($(strip $(filter-out arm% linux-androideabi,$(target_cpu) $(target_os))),)
s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
system.ads<system-linux-armel.ads \
a-exexpr.adb<a-exexpr-gcc.adb \
- s-excmac.ads<s-excmac-arm.ads \
- $(DUMMY_SOCKETS_TARGET_PAIRS)
+ s-excmac.ads<s-excmac-arm.ads
TOOLS_TARGET_PAIRS = \
mlib-tgt-specific.adb<mlib-tgt-specific-linux.adb \
indepsw.adb<indepsw-gnu.adb
- GNATRTL_SOCKETS_OBJS =
EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
EXTRA_LIBGNAT_OBJS+=raise-gcc.o sigtramp-armdroid.o
EXTRA_GNATRTL_NONTASKING_OBJS+=g-cppexc.o s-excmac.o
@@ -1087,15 +1177,15 @@ ifeq ($(strip $(filter-out sparc% sun solaris%,$(target_cpu) $(target_vendor) $(
s-tasinf.ads<s-tasinf-solaris.ads \
s-taspri.ads<s-taspri-solaris.ads \
s-tpopsp.adb<s-tpopsp-solaris.adb \
- g-soliop.ads<g-soliop-solaris.ads
+ g-soliop.ads<g-soliop-solaris.ads \
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
LIBGNAT_TARGET_PAIRS_32 = \
system.ads<system-solaris-sparc.ads
LIBGNAT_TARGET_PAIRS_64 = \
- system.ads<system-solaris-sparcv9.ads \
- $(ATOMICS_TARGET_PAIRS) \
- $(ATOMICS_BUILTINS_TARGET_PAIRS)
+ system.ads<system-solaris-sparcv9.ads
ifeq ($(strip $(filter-out sparc sun solaris%,$(target_cpu) $(target_vendor) $(target_os))),)
ifeq ($(strip $(MULTISUBDIR)),/sparcv9)
@@ -1539,110 +1629,6 @@ ifeq ($(strip $(filter-out rtems%,$(target_os))),)
s-interr.adb<s-interr-hwint.adb
endif
-# OpenVMS (host)
-ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(host_cpu) $(host_vendor) $(host_os))),)
-
-soext = .exe
-hyphen = _
-LN = cp -p
-LN_S = cp -p
-
-endif
-
-# OpenVMS (target)
-ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(target_cpu) $(target_vendor) $(target_os))),)
- LIBGNAT_TARGET_PAIRS = \
- a-caldel.adb<a-caldel-vms.adb \
- a-calend.adb<a-calend-vms.adb \
- a-calend.ads<a-calend-vms.ads \
- a-dirval.adb<a-dirval-vms.adb \
- a-excpol.adb<a-excpol-abort.adb \
- a-intnam.ads<a-intnam-vms.ads \
- a-numaux.ads<a-numaux-vms.ads \
- g-expect.adb<g-expect-vms.adb \
- g-socthi.ads<g-socthi-vms.ads \
- g-socthi.adb<g-socthi-vms.adb \
- g-stsifd.adb<g-stsifd-sockets.adb \
- i-cstrea.adb<i-cstrea-vms.adb \
- memtrack.adb<memtrack-vms_64.adb \
- s-auxdec.ads<s-auxdec-vms_64.ads \
- s-inmaop.adb<s-inmaop-vms.adb \
- s-interr.adb<s-interr-vms.adb \
- s-intman.adb<s-intman-vms.adb \
- s-intman.ads<s-intman-vms.ads \
- s-memory.adb<s-memory-vms_64.adb \
- s-memory.ads<s-memory-vms_64.ads \
- s-ransee.adb<s-ransee-vms.adb \
- s-osprim.adb<s-osprim-vms.adb \
- s-osprim.ads<s-osprim-vms.ads \
- s-osinte.adb<s-osinte-vms.adb \
- s-osinte.ads<s-osinte-vms.ads \
- s-taprop.adb<s-taprop-vms.adb \
- s-tasdeb.adb<s-tasdeb-vms.adb \
- s-taspri.ads<s-taspri-vms.ads \
- s-tpopsp.adb<s-tpopsp-vms.adb \
- s-tpopde.adb<s-tpopde-vms.adb \
- s-tpopde.ads<s-tpopde-vms.ads
-
- ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(target_cpu) $(target_vendor) $(target_os))),)
- LIBGNAT_TARGET_PAIRS += \
- g-enblsp.adb<g-enblsp-vms-ia64.adb \
- g-trasym.adb<g-trasym-vms-ia64.adb \
- s-asthan.adb<s-asthan-vms-ia64.adb \
- s-auxdec.adb<s-auxdec-vms-ia64.adb \
- s-vaflop.adb<s-vaflop-vms-ia64.adb \
- system.ads<system-vms-ia64.ads \
- s-parame.ads<s-parame-vms-ia64.ads \
- $(ATOMICS_TARGET_PAIRS) \
- $(ATOMICS_BUILTINS_TARGET_PAIRS)
-
- EXTRA_LIBGNAT_SRCS+=tb-ivms.c
- override GNATRTL_ALTIVEC_OBJS=
-
- TOOLS_TARGET_PAIRS= \
- mlib-tgt-specific.adb<mlib-tgt-specific-vms-ia64.adb \
- symbols.adb<symbols-vms.adb \
- symbols-processing.adb<symbols-processing-vms-ia64.adb
- else
- ifeq ($(strip $(filter-out alpha64 dec vms% openvms% alphavms%,$(target_cpu) $(target_vendor) $(target_os))),)
- LIBGNAT_TARGET_PAIRS += \
- g-enblsp.adb<g-enblsp-vms-alpha.adb \
- g-trasym.adb<g-trasym-vms-alpha.adb \
- s-asthan.adb<s-asthan-vms-alpha.adb \
- s-auxdec.adb<s-auxdec-vms-alpha.adb \
- s-traent.adb<s-traent-vms.adb \
- s-traent.ads<s-traent-vms.ads \
- s-vaflop.adb<s-vaflop-vms-alpha.adb \
- system.ads<system-vms_64.ads \
- s-parame.ads<s-parame-vms-alpha.ads \
- $(ATOMICS_TARGET_PAIRS) \
- $(ATOMICS_BUILTINS_TARGET_PAIRS)
-
- EXTRA_LIBGNAT_SRCS+=tb-alvms.c
- override GNATRTL_ALTIVEC_OBJS=
-
- TOOLS_TARGET_PAIRS= \
- mlib-tgt-specific.adb<mlib-tgt-specific-vms-alpha.adb \
- symbols.adb<symbols-vms.adb \
- symbols-processing.adb<symbols-processing-vms-alpha.adb
- endif
- endif
-
- EXTRA_GNATMAKE_OBJS = mlib-tgt-vms_common.o
-
- GMEM_LIB = gmemlib
- EH_MECHANISM=-gcc
- GNATLIB_SHARED=gnatlib-shared-vms
- EXTRA_GNATRTL_NONTASKING_OBJS+=s-po32gl.o
- EXTRA_GNATRTL_TASKING_OBJS=s-tpopde.o
- EXTRA_GNATTOOLS = \
- ../../gnatsym$(exeext)
- # This command transforms (YYYYMMDD) into YY,MMDD
- GSMATCH_VERSION := $(shell grep "^ *Gnat_Static_Version_String" $(fsrcpfx)ada/gnatvsn.ads | sed -e 's/.*(\(.*\)).*/\1/' -e 's/\(..\)\(..\)\(....\).*/\2,\3/')
- TOOLS_LIBS_LO := --for-linker=sys\\$$\$$library:trace.exe
- LIBRARY_VERSION := $(subst .,_,$(LIB_VERSION))
-endif
-
# PikeOS
ifeq ($(strip $(filter-out powerpc% %86 sysgo pikeos,$(target_cpu) $(target_vendor) $(target_os)))),)
TOOLS_TARGET_PAIRS=\
@@ -1688,79 +1674,55 @@ ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(target_os))),)
g-soliop.ads<g-soliop-mingw.ads \
$(ATOMICS_TARGET_PAIRS)
- ifeq ($(strip $(filter-out rtx_w32 rtx_rtss,$(THREAD_KIND))),)
- LIBGNAT_TARGET_PAIRS += \
- s-intman.adb<s-intman-dummy.adb \
- s-osinte.ads<s-osinte-rtx.ads \
- s-osprim.adb<s-osprim-rtx.adb \
- s-taprop.adb<s-taprop-rtx.adb \
- $(X86_TARGET_PAIRS)
-
- EXTRA_GNATRTL_NONTASKING_OBJS = s-win32.o
-
- ifeq ($(strip $(filter-out rtx_w32,$(THREAD_KIND))),)
- LIBGNAT_TARGET_PAIRS += system.ads<system-rtx.ads
+ LIBGNAT_TARGET_PAIRS += \
+ a-exetim.adb<a-exetim-mingw.adb \
+ a-exetim.ads<a-exetim-mingw.ads \
+ a-intnam.ads<a-intnam-mingw.ads \
+ g-sercom.adb<g-sercom-mingw.adb \
+ s-interr.adb<s-interr-sigaction.adb \
+ s-intman.adb<s-intman-mingw.adb \
+ s-mudido.adb<s-mudido-affinity.adb \
+ s-osinte.ads<s-osinte-mingw.ads \
+ s-osprim.adb<s-osprim-mingw.adb \
+ s-taprop.adb<s-taprop-mingw.adb
- EH_MECHANISM=-gcc
+ ifeq ($(strip $(filter-out x86_64%,$(target_cpu))),)
+ ifeq ($(strip $(MULTISUBDIR)),/32)
+ LIBGNAT_TARGET_PAIRS += \
+ $(X86_TARGET_PAIRS) \
+ system.ads<system-mingw.ads
+ SO_OPTS= -m32 -Wl,-soname,
else
- LIBGNAT_TARGET_PAIRS += \
- system.ads<system-rtx-rtss.ads \
- s-parame.adb<s-parame-vxworks.adb
-
- EH_MECHANISM=
+ LIBGNAT_TARGET_PAIRS += \
+ $(X86_64_TARGET_PAIRS) \
+ system.ads<system-mingw-x86_64.ads
+ SO_OPTS = -m64 -Wl,-soname,
endif
-
else
- LIBGNAT_TARGET_PAIRS += \
- a-exetim.adb<a-exetim-mingw.adb \
- a-exetim.ads<a-exetim-mingw.ads \
- a-intnam.ads<a-intnam-mingw.ads \
- g-sercom.adb<g-sercom-mingw.adb \
- s-interr.adb<s-interr-sigaction.adb \
- s-intman.adb<s-intman-mingw.adb \
- s-mudido.adb<s-mudido-affinity.adb \
- s-osinte.ads<s-osinte-mingw.ads \
- s-osprim.adb<s-osprim-mingw.adb \
- s-taprop.adb<s-taprop-mingw.adb
-
- ifeq ($(strip $(filter-out x86_64%,$(target_cpu))),)
- ifeq ($(strip $(MULTISUBDIR)),/32)
- LIBGNAT_TARGET_PAIRS += \
- $(X86_TARGET_PAIRS) \
- system.ads<system-mingw.ads
- SO_OPTS= -m32 -Wl,-soname,
- else
- LIBGNAT_TARGET_PAIRS += \
- $(X86_64_TARGET_PAIRS) \
- system.ads<system-mingw-x86_64.ads
- SO_OPTS = -m64 -Wl,-soname,
- endif
+ ifeq ($(strip $(MULTISUBDIR)),/64)
+ LIBGNAT_TARGET_PAIRS += \
+ $(X86_64_TARGET_PAIRS) \
+ system.ads<system-mingw-x86_64.ads
+ SO_OPTS = -m64 -Wl,-soname,
else
- ifeq ($(strip $(MULTISUBDIR)),/64)
- LIBGNAT_TARGET_PAIRS += \
- $(X86_64_TARGET_PAIRS) \
- system.ads<system-mingw-x86_64.ads
- SO_OPTS = -m64 -Wl,-soname,
- else
- LIBGNAT_TARGET_PAIRS += \
- $(X86_TARGET_PAIRS) \
- system.ads<system-mingw.ads
- SO_OPTS = -m32 -Wl,-soname,
- endif
+ LIBGNAT_TARGET_PAIRS += \
+ $(X86_TARGET_PAIRS) \
+ system.ads<system-mingw.ads
+ SO_OPTS = -m32 -Wl,-soname,
endif
+ endif
- EXTRA_GNATRTL_NONTASKING_OBJS = \
- s-win32.o s-winext.o g-regist.o g-sse.o g-ssvety.o
- EXTRA_GNATRTL_TASKING_OBJS = a-exetim.o
- EXTRA_LIBGNAT_SRCS+=mingw32.h
- MISCLIB = -lws2_32
+ EXTRA_GNATRTL_NONTASKING_OBJS = \
+ s-win32.o s-winext.o g-regist.o g-sse.o g-ssvety.o
+ EXTRA_GNATRTL_TASKING_OBJS = a-exetim.o
+ EXTRA_LIBGNAT_SRCS+=mingw32.h
+ MISCLIB = -lws2_32
- # ??? This will be replaced by gnatlib-shared-dual-win32 when GNAT
- # auto-import support for array/record will be done.
- GNATLIB_SHARED = gnatlib-shared-win32
+ # ??? This will be replaced by gnatlib-shared-dual-win32 when GNAT
+ # auto-import support for array/record will be done.
+ GNATLIB_SHARED = gnatlib-shared-win32
- EH_MECHANISM=-gcc
- endif
+ EH_MECHANISM=-gcc
TOOLS_TARGET_PAIRS= \
mlib-tgt-specific.adb<mlib-tgt-specific-mingw.adb \
@@ -2359,7 +2321,9 @@ ifeq ($(strip $(filter-out darwin%,$(target_os))),)
s-intman.adb<s-intman-posix.adb \
s-osprim.adb<s-osprim-posix.adb \
a-numaux.ads<a-numaux-darwin.ads \
- a-numaux.adb<a-numaux-darwin.adb
+ a-numaux.adb<a-numaux-darwin.adb \
+ $(ATOMICS_TARGET_PAIRS) \
+ $(ATOMICS_BUILTINS_TARGET_PAIRS)
ifeq ($(strip $(MULTISUBDIR)),/ppc64)
LIBGNAT_TARGET_PAIRS += \
@@ -2371,6 +2335,16 @@ ifeq ($(strip $(filter-out darwin%,$(target_os))),)
endif
endif
+ ifeq ($(strip $(filter-out arm,$(arch))),)
+ LIBGNAT_TARGET_PAIRS += \
+ s-intman.adb<s-intman-susv3.adb \
+ s-osprim.adb<s-osprim-darwin.adb \
+ $(ATOMICS_TARGET_PAIRS)
+
+ LIBGNAT_TARGET_PAIRS += \
+ system.ads<system-darwin-arm.ads
+ endif
+
TOOLS_TARGET_PAIRS = \
mlib-tgt-specific.adb<mlib-tgt-specific-darwin.adb \
indepsw.adb<indepsw-darwin.adb
@@ -2383,27 +2357,6 @@ ifeq ($(strip $(filter-out darwin%,$(target_os))),)
GCC_LINK_FLAGS=-static-libstdc++
endif
-# ARM Nucleus
-ifeq ($(strip $(filter-out arm nucleus%,$(target_cpu) $(target_os))),)
- LIBGNAT_TARGET_PAIRS = \
- system.ads<system-nucleus-arm.ads \
- a-numaux.ads<a-numaux-vxworks.ads \
- a-intnam.ads<a-intnam-nucleus.ads \
- s-inmaop.adb<s-inmaop-posix.adb \
- s-intman.adb<s-intman-posix.adb \
- s-osinte.ads<s-osinte-nucleus.ads \
- s-osinte.adb<s-osinte-nucleus.adb \
- s-osprim.adb<s-osprim-nucleus.adb \
- s-parame.adb<s-parame-vxworks.adb \
- s-taprop.adb<s-taprop-posix.adb \
- s-taspri.ads<s-taspri-posix.ads \
- s-tpopsp.adb<s-tpopsp-posix.adb \
- $(DUMMY_SOCKETS_TARGET_PAIRS)
-
- LIBRARY_VERSION := $(LIB_VERSION)
- GNATRTL_SOCKETS_OBJS =
-endif
-
ifeq ($(EH_MECHANISM),-gcc)
LIBGNAT_TARGET_PAIRS += \
a-exexpr.adb<a-exexpr-gcc.adb \
@@ -2429,7 +2382,7 @@ endif
# thread.c is special as put into GNATRTL_TASKING_OBJS by Makefile.rtl
LIBGNAT_OBJS = adadecode.o adaint.o argv.o aux-io.o \
cal.o cio.o cstreams.o ctrl_c.o \
- env.o errno.o exit.o expect.o final.o \
+ env.o errno.o exit.o expect.o final.o rtfinal.o rtinit.o \
init.o initialize.o locales.o mkdir.o \
raise.o seh_init.o socket.o sysdep.o \
targext.o terminals.o tracebak.o \
@@ -2471,10 +2424,10 @@ ADA_EXCLUDE_SRCS =\
s-bbthre.ads s-bbtiev.adb s-bbtiev.ads s-bbtime.adb s-bbtime.ads \
s-bcprmu.adb s-bcprmu.ads s-btstch.adb s-btstch.ads \
s-init.ads s-init.adb \
- s-po32gl.adb s-po32gl.ads \
s-stache.adb s-stache.ads \
s-thread.ads \
s-vxwext.adb s-vxwext.ads \
+ s-vxwexc.adb s-vxwexc.ads \
s-win32.ads s-winext.ads \
g-regist.adb g-regist.ads g-sse.ads g-ssvety.ads \
i-vxwoio.adb i-vxwoio.ads i-vxwork.ads \
@@ -2510,9 +2463,16 @@ GCC_LINK=$(CXX) $(GCC_LINK_FLAGS) $(ADA_INCLUDES) $(LDFLAGS)
# Build directory for the tools. Let's copy the target-dependent
# sources using the same mechanism as for gnatlib. The other sources are
# accessed using the vpath directive below
-# Note: dummy target, stamp-tools is mainly handled by gnattools.
../stamp-tools:
+ -$(RM) tools/*
+ -$(RMDIR) tools
+ -$(MKDIR) tools
+ -(cd tools; $(LN_S) ../sdefault.adb ../snames.ads ../snames.adb .)
+ -$(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
+ $(RM) tools/$(word 1,$(subst <, ,$(PAIR)));\
+ $(LN_S) $(fsrcpfx)ada/$(word 2,$(subst <, ,$(PAIR))) \
+ tools/$(word 1,$(subst <, ,$(PAIR)));)
touch ../stamp-tools
# when compiling the tools, the runtime has to be first on the path so that
@@ -2588,11 +2548,6 @@ common-tools: ../stamp-tools
$(GNATLINK) -v gnatclean -o ../../gnatclean$(exeext) \
--GCC="$(GCC_LINK)" $(TOOLS_LIBS)
-../../gnatsym$(exeext): ../stamp-tools
- $(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)"
- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym
- $(GNATLINK) -v gnatsym -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
-
../../gnatdll$(exeext): ../stamp-tools
$(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)"
$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatdll
@@ -2641,7 +2596,15 @@ gnatlink-re: ../stamp-tools gnatmake-re
true; \
fi
-install-gnatlib: ../stamp-gnatlib-$(RTSDIR)
+install-gcc-specs:
+# Install all the requested GCC spec files.
+
+ for f in $(GCC_SPEC_FILES); do \
+ $(INSTALL_DATA_DATE) $(srcdir)/ada/$$f \
+ $(libsubdir)/$$(echo $$f|sed -e 's#_[a-zA-Z0-9]*##g'); \
+ done
+
+install-gnatlib: ../stamp-gnatlib-$(RTSDIR) install-gcc-specs
# Create the directory before deleting it, in case the directory is
# a list of directories (as it may be on VMS). This ensures we are
# deleting the right one.
@@ -2727,24 +2690,30 @@ install-gnatlib: ../stamp-gnatlib-$(RTSDIR)
$(RM) ../stamp-gnatlib-$(RTSDIR)
touch ../stamp-gnatlib1-$(RTSDIR)
-ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%, $(host_cpu) $(host_os))),)
-OSCONS_CPP=../../$(DECC) -E /comment=as_is -DNATIVE \
- -DTARGET='""$(target)""' $(fsrcpfx)ada/s-oscons-tmplt.c
+# GCC_FOR_TARGET has paths relative to the gcc directory, so we need to adjust
+# for running it from ada/rts
-OSCONS_EXTRACT=../../$(DECC) -DNATIVE \
- -DTARGET='""$(target)""' $(fsrcpfx)ada/s-oscons-tmplt.c ; \
- ld -o s-oscons-tmplt.exe s-oscons-tmplt.obj; \
- ./s-oscons-tmplt.exe > s-oscons-tmplt.s
+OSCONS_CC=$(subst ./xgcc,../../xgcc,$(subst -B./, -B../../,$(GCC_FOR_TARGET)))
-else
-# GCC_FOR_TARGET has paths relative to the gcc directory, so we need to adjust
-# for running it from $(RTSDIR)
-OSCONS_CC=`echo "$(GCC_FOR_TARGET)" \
- | sed -e 's^\./xgcc^../../xgcc^' -e 's^-B./^-B../../^'`
-OSCONS_CPP=$(OSCONS_CC) $(GNATLIBCFLAGS) -E -C \
- -DTARGET=\"$(target)\" $(fsrcpfx)ada/s-oscons-tmplt.c > s-oscons-tmplt.i
-OSCONS_EXTRACT=$(OSCONS_CC) $(GNATLIBCFLAGS) -S s-oscons-tmplt.i
-endif
+# The main ada source directory must be on the include path for #include "..."
+# because s-oscons-tmplt.c requires adaint.h, gsocket.h, and any file included
+# by these headers. However note that we must use -iquote, not -I, so that
+# ada/types.h does not conflict with a same-named system header (VxWorks
+# has a <types.h> header).
+
+OSCONS_CPP=$(OSCONS_CC) $(GNATLIBCFLAGS) $(GNATLIBCFLAGS_FOR_C) -E -C \
+ -DTARGET=\"$(target)\" -iquote $(fsrcpfx)ada $(fsrcpfx)ada/s-oscons-tmplt.c > s-oscons-tmplt.i
+OSCONS_EXTRACT=$(OSCONS_CC) -S s-oscons-tmplt.i
+
+# Note: if you need to build with a non-GNU compiler, you could adapt the
+# following definitions (written for VMS DEC-C)
+#OSCONS_CPP=../../../$(DECC) -E /comment=as_is -DNATIVE \
+# -DTARGET='""$(target)""' -I$(OSCONS_SRCDIR) s-oscons-tmplt.c
+#
+#OSCONS_EXTRACT=../../../$(DECC) -DNATIVE \
+# -DTARGET='""$(target)""' -I$(OSCONS_SRCDIR) s-oscons-tmplt.c ; \
+# ld -o s-oscons-tmplt.exe s-oscons-tmplt.obj; \
+# ./s-oscons-tmplt.exe > s-oscons-tmplt.s
./bldtools/oscons/xoscons: xoscons.adb xutil.ads xutil.adb
-$(MKDIR) ./bldtools/oscons
@@ -2759,13 +2728,8 @@ $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib1-$(RTSDIR) s-oscons-tmplt.c gsocket.h .
$(OSCONS_EXTRACT) ; \
../bldtools/oscons/xoscons s-oscons)
-# Don't use semicolon separated shell commands that involve list expansions.
-# The semicolon triggers a call to DCL on VMS and DCL can't handle command
-# line lengths in excess of 256 characters.
-# Example: cd $(RTSDIR); ar rc libfoo.a $(LONG_LIST_OF_OBJS)
-# is guaranteed to overflow the buffer.
-
gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) $(RTSDIR)/s-oscons.ads
+ test -f $(RTSDIR)/s-oscons.ads || exit 1
# C files
$(MAKE) -C $(RTSDIR) \
CC="`echo \"$(GCC_FOR_TARGET)\" \
@@ -2925,35 +2889,6 @@ gnatlib-shared-darwin:
cd $(RTSDIR); dsymutil libgnat$(hyphen)$(LIBRARY_VERSION)$(soext)
cd $(RTSDIR); dsymutil libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext)
-gnatlib-shared-vms:
- $(MAKE) $(FLAGS_TO_PASS) \
- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
- GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \
- MULTISUBDIR="$(MULTISUBDIR)" \
- THREAD_KIND="$(THREAD_KIND)" \
- gnatlib
- $(RM) $(RTSDIR)/libgna*$(soext)
- cd $(RTSDIR) && \
- ../../gnatsym -s SYMVEC_$$$$.opt \
- $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) && \
- ../../xgcc -g -B../../ -shared -shared-libgcc \
- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) libgnat.a \
- sys\$$library:trace.exe \
- --for-linker=/noinform \
- --for-linker=SYMVEC_$$$$.opt \
- --for-linker=gsmatch=equal,$(GSMATCH_VERSION)
- cd $(RTSDIR) && \
- ../../gnatsym -s SYMVEC_$$$$.opt \
- $(GNATRTL_TASKING_OBJS) && \
- ../../xgcc -g -B../../ -shared -shared-libgcc \
- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
- libgnarl.a libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
- sys\$$library:trace.exe \
- --for-linker=/noinform \
- --for-linker=SYMVEC_$$$$.opt \
- --for-linker=gsmatch=equal,$(GSMATCH_VERSION)
-
gnatlib-shared:
$(MAKE) $(FLAGS_TO_PASS) \
GNATLIBFLAGS="$(GNATLIBFLAGS)" \
@@ -3033,27 +2968,19 @@ ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
# force no sibling call optimization on s-traceb.o so the number of stack
# frames to be skipped when computing a call chain is not modified by
-# optimization.
+# optimization. We don't want inlining, either.
s-traceb.o : s-traceb.adb s-traceb.ads
- $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) \
+ $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(NO_INLINE_ADAFLAGS) \
$(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION)
-# force debugging information on s-tasdeb.o so that it is always
-# possible to set conditional breakpoints on tasks.
+# compile s-tasdeb.o without optimization and with debug info so that it is
+# always possible to set conditional breakpoints on tasks.
s-tasdeb.o : s-tasdeb.adb s-tasdeb.ads
$(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \
$< $(OUTPUT_OPTION)
-# force debugging information on s-vaflop.o so that it is always
-# possible to call the VAX float debug print routines.
-# force at least -O so that the inline assembly works.
-
-s-vaflop.o : s-vaflop.adb s-vaflop.ads
- $(CC) -c -O $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \
- $< $(OUTPUT_OPTION)
-
# force no function reordering on a-except.o because of the exclusion bounds
# mechanism (see the source file for more detailed information).
# force debugging information on a-except.o so that it is always
@@ -3088,7 +3015,7 @@ a-tags.o : a-tags.adb a-tags.ads
# need to keep the frame pointer in this file to pop the stack properly on
# some targets.
-tracebak.o : tracebak.c tb-alvms.c tb-alvxw.c tb-gcc.c
+tracebak.o : tracebak.c tb-gcc.c
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) \
$(INCLUDES) -fno-omit-frame-pointer $< $(OUTPUT_OPTION)
@@ -3101,14 +3028,15 @@ errno.o : errno.c
exit.o : adaint.h exit.c
expect.o : expect.c
final.o : final.c
+rtfinal.o : rtfinal.c
+rtinit.o : rtinit.c
locales.o : locales.c
mkdir.o : mkdir.c
socket.o : socket.c gsocket.h
sysdep.o : sysdep.c
raise.o : raise.c raise.h
sigtramp-armdroid.o : sigtramp-armdroid.c sigtramp.h
-sigtramp-armvxw.o : sigtramp-armvxw.c sigtramp.h
-sigtramp-ppcvxw.o : sigtramp-ppcvxw.c sigtramp.h
+sigtramp-vxworks.o : sigtramp-vxworks.c sigtramp.h
terminals.o : terminals.c
vx_stack_info.o : vx_stack_info.c