diff options
author | Doug Rupp <rupp@adacore.com> | 2022-06-08 13:32:51 -0700 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-07-06 13:29:48 +0000 |
commit | 35e0aa2df74f2ce1e6d593e699cd7b9e81b9e2ee (patch) | |
tree | 564e633ec3b7bc4f87e6b4ac246f96c6a154e33a | |
parent | baa3015d8efebd731701d6985bb7a7083db244a8 (diff) | |
download | gcc-35e0aa2df74f2ce1e6d593e699cd7b9e81b9e2ee.zip gcc-35e0aa2df74f2ce1e6d593e699cd7b9e81b9e2ee.tar.gz gcc-35e0aa2df74f2ce1e6d593e699cd7b9e81b9e2ee.tar.bz2 |
[Ada] Vxworks7* - Makefile.rtl rtp vs rtp-smp cleanup
Only smp runtimes are built for vxworks7*, even though the -smp suffix
is removed during install. Therefore, in general, the build macros for
the non-smp runtimes are superfluous except on the legacy ppc-vxworks6
target where both the smp and non-smp runtime are built. Lastly, an
error message is added if a runtime build is commanded that doesn't
exist, rather then letting the build mysteriously fail.
gcc/ada/
* Makefile.rtl [arm,aarch64 vxworks7]: Remove rtp and kernel
build macros and set an error variable if needed.
[x86,x86_vxworks7]: Likewise.
[ppc,ppc64]: Set an error variable if needed.
(rts-err): New phony Makefile target.
(setup-rts): Depend on rts-err.
-rw-r--r-- | gcc/ada/Makefile.rtl | 74 |
1 files changed, 25 insertions, 49 deletions
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl index 002d425..3ae4e23 100644 --- a/gcc/ada/Makefile.rtl +++ b/gcc/ada/Makefile.rtl @@ -1124,6 +1124,7 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworks vxworks7%, $(target_cpu) $(targe EH_MECHANISM=-gcc + # The rtp and kernel sections must be retained for the sake of ppc-vx6 ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) LIBGNAT_TARGET_PAIRS += \ s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ @@ -1153,15 +1154,15 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworks vxworks7%, $(target_cpu) $(targe EXTRA_LIBGNAT_OBJS+=affinity.o else - LIBGNAT_TARGET_PAIRS += \ - s-interr.adb<libgnarl/s-interr__vxworks.adb \ - s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb - ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) LIBGNAT_TARGET_PAIRS += \ + s-interr.adb<libgnarl/s-interr__vxworks.adb \ + s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb \ s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ s-vxwext.adb<libgnarl/s-vxwext__kernel.adb \ system.ads<libgnat/$(SVX)-$(ARCH_STR)-kernel.ads + else + RTSERR = $(error NO SUCH RUNTIME) endif endif EXTRA_GNATRTL_NONTASKING_OBJS+=i-vxinco.o i-vxwork.o i-vxwoio.o @@ -1257,48 +1258,31 @@ ifeq ($(strip $(filter-out %86 x86_64 wrs vxworks7%, $(target_cpu) $(target_vend GNATLIBCFLAGS_FOR_C := $(GNATLIBCFLAGS_FOR_C) -D__VXSIM_CPU__=$(VXSIM_CPU) - ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) + ifeq ($(strip $(filter-out rtp-smp, $(THREAD_KIND))),) LIBGNAT_TARGET_PAIRS += \ + s-mudido.adb<libgnarl/s-mudido__affinity.adb \ s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ - s-vxwext.adb<libgnarl/s-vxwext__rtp.adb \ - s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-rtp.adb \ - system.ads<libgnat/system-vxworks7-x86-rtp.ads + s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ + s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ + system.ads<libgnat/system-vxworks7-$(X86CPU)-rtp-smp.ads + + EXTRA_LIBGNAT_OBJS+=affinity.o else - ifeq ($(strip $(filter-out rtp-smp, $(THREAD_KIND))),) + ifeq ($(strip $(filter-out kernel-smp, $(THREAD_KIND))),) LIBGNAT_TARGET_PAIRS += \ + s-interr.adb<libgnarl/s-interr__vxworks.adb \ s-mudido.adb<libgnarl/s-mudido__affinity.adb \ - s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ - s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ - system.ads<libgnat/system-vxworks7-$(X86CPU)-rtp-smp.ads + s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ + s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ + system.ads<libgnat/system-vxworks7-$(X86CPU)-kernel.ads EXTRA_LIBGNAT_OBJS+=affinity.o else - ifeq ($(strip $(filter-out kernel-smp, $(THREAD_KIND))),) - LIBGNAT_TARGET_PAIRS += \ - s-interr.adb<libgnarl/s-interr__vxworks.adb \ - s-mudido.adb<libgnarl/s-mudido__affinity.adb \ - s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ - s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ - s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ - system.ads<libgnat/system-vxworks7-$(X86CPU)-kernel.ads - - EXTRA_LIBGNAT_OBJS+=affinity.o - else - LIBGNAT_TARGET_PAIRS += \ - s-interr.adb<libgnarl/s-interr__vxworks.adb \ - s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb - - ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) - LIBGNAT_TARGET_PAIRS += \ - s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ - s-vxwext.adb<libgnarl/s-vxwext__kernel.adb \ - system.ads<libgnat/system-vxworks7-x86-kernel.ads - endif - endif - - EXTRA_GNATRTL_NONTASKING_OBJS += i-vxinco.o i-vxwork.o i-vxwoio.o + RTSERR = $(error NO SUCH RUNTIME) endif + + EXTRA_GNATRTL_NONTASKING_OBJS += i-vxinco.o i-vxwork.o i-vxwoio.o endif EXTRA_GNATRTL_NONTASKING_OBJS += s-stchop.o @@ -1385,18 +1369,7 @@ ifeq ($(strip $(filter-out aarch64 arm wrs vxworks7%, $(target_cpu) $(target_ven EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) else - LIBGNAT_TARGET_PAIRS += \ - s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb \ - system.ads<libgnat/system-vxworks7-$(ARCH_STR).ads - - ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) - LIBGNAT_TARGET_PAIRS += \ - s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ - s-vxwext.adb<libgnarl/s-vxwext__kernel.adb - - EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) - EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) - endif + RTSERR = $(error NO SUCH RUNTIME) endif endif @@ -2879,7 +2852,10 @@ ADA_EXCLUDE_FILES=$(filter-out \ $(patsubst %$(objext),%.adb,$(GNATRTL_OBJS)), \ $(ADA_EXCLUDE_SRCS)) -setup-rts: force +.PHONY: rts-err +rts-err: ; $(RTSERR) + +setup-rts: rts-err force $(RMDIR) $(RTSDIR) $(MKDIR) $(RTSDIR) $(CHMOD) u+w $(RTSDIR) |