From: Laurent GUERBY Date: Wed, 30 Jul 2008 06:45:39 +0000 (+0000) Subject: re PR ada/5911 (Support for multilib in Ada) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a7dafa20688ef5d60d8212ce9ef6dd74d7bb2e9a;p=gcc.git re PR ada/5911 (Support for multilib in Ada) gcc/ChangeLog 2008-07-29 Laurent Guerby PR ada/5911 * gnattools/Makefile.in: Replace stamp-gnatlib by stamp-gnatlib-rts. gcc/ada/ChangeLog 2008-07-29 Laurent Guerby PR ada/5911 * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables. Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts. Replace stamp-gnatlib* by stamp-gnatlib*-rts. * gcc-interface/Make-lang.in: Replace stamp-gnatlib2 by stamp-gnatlib2-rts. From-SVN: r138294 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 01d58040e48..a3efe937a23 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-07-30 Laurent Guerby + + PR ada/5911 + * gnattools/Makefile.in: Replace stamp-gnatlib by + stamp-gnatlib-rts. + 2008-07-30 Ralf Wildenhues * doc/cpp.texi: Update to GFDL 1.2. diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 924bf385dce..ec532ca66c0 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,12 @@ +2008-07-30 Laurent Guerby + + PR ada/5911 + * gcc-interface/Makefile.in (MULTISUBDIR, RTSDIR): New variables. + Pass MULTISUBDIR to recursive make. Use $(RTSDIR) instead of rts. + Replace stamp-gnatlib* by stamp-gnatlib*-rts. + * gcc-interface/Make-lang.in: Replace stamp-gnatlib2 + by stamp-gnatlib2-rts. + 2008-07-30 Ralf Wildenhues PR documentation/15479 diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in index 2d21d45c23f..a0dadffc90f 100644 --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -302,7 +302,7 @@ TARGET_ADA_SRCS = # stamp target in the parent directory whenever gnat1 is rebuilt gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBDEPS) $(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBS) $(SYSLIBS) $(GMPLIBS) - $(RM) stamp-gnatlib2 stamp-tools + $(RM) stamp-gnatlib2-rts stamp-tools gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) $(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) $(ALL_CFLAGS) $(LIBS) $(SYSLIBS) diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index fc96dcb1857..1fbfeb51ccb 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -193,6 +193,10 @@ TARGET_ADA_SRCS = # Type of tools build we are doing; default is not compiling tools. TOOLSCASE = +# Multilib handling +MULTISUBDIR = +RTSDIR = rts$(subst /,_,$(MULTISUBDIR)) + # End of variables for you to override. all: all.indirect @@ -1753,17 +1757,17 @@ ADA_INCLUDE_SRCS =\ a-[a-o]*.adb a-[p-z]*.adb a-[a-o]*.ads a-[p-z]*.ads g-*.ad? i-*.ad? \ s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads -LIBGNAT=../rts/libgnat.a +LIBGNAT=../$(RTSDIR)/libgnat.a GCC_LINK=$(CC) -static-libgcc $(ADA_INCLUDES) # when compiling the tools, the runtime has to be first on the path so that # it hides the runtime files lying with the rest of the sources ifeq ($(TOOLSCASE),native) - vpath %.ads ../rts ../ - vpath %.adb ../rts ../ - vpath %.c ../rts ../ - vpath %.h ../rts ../ + vpath %.ads ../$(RTSDIR) ../ + vpath %.adb ../$(RTSDIR) ../ + vpath %.c ../$(RTSDIR) ../ + vpath %.h ../$(RTSDIR) ../ endif # in the cross tools case, everything is compiled with the native @@ -1843,8 +1847,8 @@ gnatlink-re: link.o targext.o $(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \ $(TOOLS_LIBS) -../stamp-gnatlib: - @if [ ! -f stamp-gnatlib ] ; \ +../stamp-gnatlib-$(RTSDIR): + @if [ ! -f stamp-gnatlib-$(RTSDIR) ] ; \ then \ $(ECHO) You must first build the GNAT library: make gnatlib; \ false; \ @@ -1852,7 +1856,7 @@ gnatlink-re: link.o targext.o true; \ fi -install-gnatlib: ../stamp-gnatlib +install-gnatlib: ../stamp-gnatlib-$(RTSDIR) # 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. @@ -1862,49 +1866,49 @@ install-gnatlib: ../stamp-gnatlib $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) - for file in rts/*.ali; do \ + for file in $(RTSDIR)/*.ali; do \ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ done - -$(INSTALL_DATA) rts/g-trasym$(objext) $(DESTDIR)$(ADA_RTL_OBJ_DIR) - -cd rts; for file in *$(arext);do \ + -$(INSTALL_DATA) $(RTSDIR)/g-trasym$(objext) $(DESTDIR)$(ADA_RTL_OBJ_DIR) + -cd $(RTSDIR); for file in *$(arext);do \ $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \ done -$(foreach file, $(EXTRA_ADALIB_FILES), \ - $(INSTALL_DATA_DATE) rts/$(file) $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \ + $(INSTALL_DATA_DATE) $(RTSDIR)/$(file) $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \ ) true # Install the shared libraries, if any, using $(INSTALL) instead # of $(INSTALL_DATA). The latter may force a mode inappropriate # for shared libraries on some targets, e.g. on HP-UX where the x # permission is required. for file in gnat gnarl; do \ - if [ -f rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \ - $(INSTALL) rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ + if [ -f $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \ + $(INSTALL) $(RTSDIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ fi; \ - if [ -f rts/lib$${file}$(soext) ]; then \ + if [ -f $(RTSDIR)/lib$${file}$(soext) ]; then \ $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \ fi; \ done # This copy must be done preserving the date on the original file. - for file in rts/*.ad?; do \ + for file in $(RTSDIR)/*.ad?; do \ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR); \ done cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads -../stamp-gnatlib2: - $(RM) rts/s-*.ali - $(RM) rts/s-*$(objext) - $(RM) rts/a-*.ali - $(RM) rts/a-*$(objext) - $(RM) rts/*.ali - $(RM) rts/*$(objext) - $(RM) rts/*$(arext) - $(RM) rts/*$(soext) - touch ../stamp-gnatlib2 - $(RM) ../stamp-gnatlib +../stamp-gnatlib2-$(RTSDIR): + $(RM) $(RTSDIR)/s-*.ali + $(RM) $(RTSDIR)/s-*$(objext) + $(RM) $(RTSDIR)/a-*.ali + $(RM) $(RTSDIR)/a-*$(objext) + $(RM) $(RTSDIR)/*.ali + $(RM) $(RTSDIR)/*$(objext) + $(RM) $(RTSDIR)/*$(arext) + $(RM) $(RTSDIR)/*$(soext) + touch ../stamp-gnatlib2-$(RTSDIR) + $(RM) ../stamp-gnatlib-$(RTSDIR) # NOTE: The $(foreach ...) commands assume ";" is the valid separator between # successive target commands. Although the Gnu make documentation @@ -1915,34 +1919,34 @@ install-gnatlib: ../stamp-gnatlib # GNULLI Begin ########################################################### -../stamp-gnatlib1: Makefile ../stamp-gnatlib2 - $(RMDIR) rts - $(MKDIR) rts - $(CHMOD) u+w rts +../stamp-gnatlib1-$(RTSDIR): Makefile ../stamp-gnatlib2-$(RTSDIR) + $(RMDIR) $(RTSDIR) + $(MKDIR) $(RTSDIR) + $(CHMOD) u+w $(RTSDIR) # Copy target independent sources $(foreach f,$(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS), \ - $(LN_S) $(fsrcpfx)$(f) rts ;) true + $(LN_S) $(fsrcpfx)$(f) $(RTSDIR) ;) true # Remove files to be replaced by target dependent sources $(RM) $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ - rts/$(word 1,$(subst <, ,$(PAIR)))) - $(RM) rts/*-*-*.ads rts/*-*-*.adb + $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)))) + $(RM) $(RTSDIR)/*-*-*.ads $(RTSDIR)/*-*-*.adb # Copy new target dependent sources $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ $(LN_S) $(fsrcpfx)$(word 2,$(subst <, ,$(PAIR))) \ - rts/$(word 1,$(subst <, ,$(PAIR)));) - $(RM) ../stamp-gnatlib - touch ../stamp-gnatlib1 + $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)));) + $(RM) ../stamp-gnatlib-$(RTSDIR) + touch ../stamp-gnatlib1-$(RTSDIR) # GNULLI End ############################################################# # 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 rts; ar rc libfoo.a $(LONG_LIST_OF_OBJS) +# Example: cd $(RTSDIR); ar rc libfoo.a $(LONG_LIST_OF_OBJS) # is guaranteed to overflow the buffer. -gnatlib: ../stamp-gnatlib1 ../stamp-gnatlib2 - $(MAKE) -C rts \ +gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) + $(MAKE) -C $(RTSDIR) \ CC="`echo \"$(GCC_FOR_TARGET)\" \ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \ @@ -1950,7 +1954,7 @@ gnatlib: ../stamp-gnatlib1 ../stamp-gnatlib2 FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ srcdir=$(fsrcdir) \ -f ../Makefile $(LIBGNAT_OBJS) - $(MAKE) -C rts \ + $(MAKE) -C $(RTSDIR) \ CC="`echo \"$(GCC_FOR_TARGET)\" \ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ ADA_INCLUDES="" \ @@ -1960,83 +1964,88 @@ gnatlib: ../stamp-gnatlib1 ../stamp-gnatlib2 srcdir=$(fsrcdir) \ -f ../Makefile \ $(GNATRTL_OBJS) - $(RM) rts/libgnat$(arext) rts/libgnarl$(arext) - $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnat$(arext) \ - $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS)) + $(RM) $(RTSDIR)/libgnat$(arext) $(RTSDIR)/libgnarl$(arext) + $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnat$(arext) \ + $(addprefix $(RTSDIR)/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS)) ifneq ($(PREFIX_OBJS),) - $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgccprefix$(arext) \ + $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgccprefix$(arext) \ $(PREFIX_OBJS); - $(RANLIB_FOR_TARGET) rts/libgccprefix$(arext) + $(RANLIB_FOR_TARGET) $(RTSDIR)/libgccprefix$(arext) endif - $(RANLIB_FOR_TARGET) rts/libgnat$(arext) - $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnarl$(arext) \ - $(addprefix rts/,$(GNATRTL_TASKING_OBJS)) - $(RANLIB_FOR_TARGET) rts/libgnarl$(arext) - $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnala$(arext) \ - $(addprefix rts/,$(GNATRTL_LINEARALGEBRA_OBJS)) - $(RANLIB_FOR_TARGET) rts/libgnala$(arext) + $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnat$(arext) + $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnarl$(arext) \ + $(addprefix $(RTSDIR)/,$(GNATRTL_TASKING_OBJS)) + $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnarl$(arext) + $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgnala$(arext) \ + $(addprefix $(RTSDIR)/,$(GNATRTL_LINEARALGEBRA_OBJS)) + $(RANLIB_FOR_TARGET) $(RTSDIR)/libgnala$(arext) ifeq ($(GMEM_LIB),gmemlib) - $(AR_FOR_TARGET) $(AR_FLAGS) rts/libgmem$(arext) \ - rts/memtrack.o - $(RANLIB_FOR_TARGET) rts/libgmem$(arext) + $(AR_FOR_TARGET) $(AR_FLAGS) $(RTSDIR)/libgmem$(arext) \ + $(RTSDIR)/memtrack.o + $(RANLIB_FOR_TARGET) $(RTSDIR)/libgmem$(arext) endif - $(CHMOD) a-wx rts/*.ali - touch ../stamp-gnatlib + $(CHMOD) a-wx $(RTSDIR)/*.ali + touch ../stamp-gnatlib-$(RTSDIR) # Warning: this target assumes that LIBRARY_VERSION has been set correctly. gnatlib-shared-default: $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib - $(RM) rts/libgna*$(soext) - cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ + $(RM) $(RTSDIR)/libgna*$(soext) + cd $(RTSDIR); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ $(TARGET_LIBGCC2_CFLAGS) \ -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(MISCLIB) -lm - cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ + cd $(RTSDIR); ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \ $(TARGET_LIBGCC2_CFLAGS) \ -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(GNATRTL_TASKING_OBJS) \ $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(THREADSLIB) - cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ + cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ libgnat$(soext) - cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ + cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ libgnarl$(soext) gnatlib-shared-dual: $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib-shared-default - $(MV) rts/libgna*$(soext) . - $(RM) ../stamp-gnatlib2 + $(MV) $(RTSDIR)/libgna*$(soext) . + $(RM) ../stamp-gnatlib2-$(RTSDIR) $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib - $(MV) libgna*$(soext) rts + $(MV) libgna*$(soext) $(RTSDIR) gnatlib-shared-dual-win32: $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib-shared-win32 - $(MV) rts/libgna*$(soext) . - $(RM) ../stamp-gnatlib2 + $(MV) $(RTSDIR)/libgna*$(soext) . + $(RM) ../stamp-gnatlib2-$(RTSDIR) $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib - $(MV) libgna*$(soext) rts + $(MV) libgna*$(soext) $(RTSDIR) # ??? we need to add the option to support auto-import of arrays/records to # the GNATLIBFLAGS when this will be supported by GNAT. At this point we will @@ -2046,14 +2055,15 @@ gnatlib-shared-win32: $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib - $(RM) rts/libgna*$(soext) - cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ + $(RM) $(RTSDIR)/libgna*$(soext) + cd $(RTSDIR); ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB) - cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ + cd $(RTSDIR); ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(GNATRTL_TASKING_OBJS) \ $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ @@ -2064,32 +2074,34 @@ gnatlib-shared-darwin: GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) \ -fno-common" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib - $(RM) rts/libgnat$(soext) rts/libgnarl$(soext) - cd rts; ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ + $(RM) $(RTSDIR)/libgnat$(soext) $(RTSDIR)/libgnarl$(soext) + cd $(RTSDIR); ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ $(SO_OPTS) \ $(MISCLIB) -lm - cd rts; ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ + cd $(RTSDIR); ../../xgcc -B../../ -dynamiclib $(TARGET_LIBGCC2_CFLAGS) \ -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(GNATRTL_TASKING_OBJS) \ $(SO_OPTS) \ $(THREADSLIB) -Wl,libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) - cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ + cd $(RTSDIR); $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ libgnat$(soext) - cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ + cd $(RTSDIR); $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ libgnarl$(soext) gnatlib-shared-vms: $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib - $(RM) rts/libgna*$(soext) - cd rts && \ + $(RM) $(RTSDIR)/libgna*$(soext) + cd $(RTSDIR) && \ ../../gnatsym -s SYMVEC_$$$$.opt \ $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) && \ ../../xgcc -g -B../../ -shared -shared-libgcc \ @@ -2098,7 +2110,7 @@ gnatlib-shared-vms: --for-linker=/noinform \ --for-linker=SYMVEC_$$$$.opt \ --for-linker=gsmatch=equal,$(GSMATCH_VERSION) - cd rts && \ + cd $(RTSDIR) && \ ../../gnatsym -s SYMVEC_$$$$.opt \ $(GNATRTL_TASKING_OBJS) && \ ../../xgcc -g -B../../ -shared -shared-libgcc \ @@ -2113,29 +2125,32 @@ gnatlib-shared: $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ $(GNATLIB_SHARED) gnatlib-sjlj: - $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" ../stamp-gnatlib1 - sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := False;/' rts/system.ads > rts/s.ads - $(MV) rts/s.ads rts/system.ads + $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" ../stamp-gnatlib1-$(RTSDIR) + sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := False;/' $(RTSDIR)/system.ads > $(RTSDIR)/s.ads + $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads $(MAKE) $(FLAGS_TO_PASS) \ EH_MECHANISM="" \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib gnatlib-zcx: - $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="-gcc" ../stamp-gnatlib1 - sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := True;/' rts/system.ads > rts/s.ads - $(MV) rts/s.ads rts/system.ads + $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="-gcc" ../stamp-gnatlib1-$(RTSDIR) + sed -e 's/ZCX_By_Default.*/ZCX_By_Default : constant Boolean := True;/' $(RTSDIR)/system.ads > $(RTSDIR)/s.ads + $(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads $(MAKE) $(FLAGS_TO_PASS) \ EH_MECHANISM="-gcc" \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ + MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib diff --git a/gnattools/Makefile.in b/gnattools/Makefile.in index efc5f7575f0..de0f6e35feb 100644 --- a/gnattools/Makefile.in +++ b/gnattools/Makefile.in @@ -153,8 +153,8 @@ TOOLS_TARGET_PAIRS = @TOOLS_TARGET_PAIRS@ gnattools: @default_gnattools_target@ # Sanity check -$(GCC_DIR)/stamp-gnatlib: - @if [ ! -f $(GCC_DIR)/stamp-gnatlib ] ; \ +$(GCC_DIR)/stamp-gnatlib-rts: + @if [ ! -f $(GCC_DIR)/stamp-gnatlib-rts ] ; \ then \ echo "Cannot build gnattools while gnatlib is out of date or unbuilt" ; \ false; \ @@ -183,7 +183,7 @@ $(GCC_DIR)/stamp-tools: # to be able to build gnatmake without a version of gnatmake around. Once # everything has been compiled once, gnatmake can be recompiled with itself # (see target regnattools) -gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib +gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib-rts # gnattools1 $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ $(TOOLS_FLAGS_TO_PASS_1) \ @@ -195,7 +195,7 @@ gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib # gnatmake/link can be built with recent gnatmake/link if they are available. # This is especially convenient for building cross tools or for rebuilding # the tools when the original bootstrap has already be done. -regnattools: $(GCC_DIR)/stamp-gnatlib +regnattools: $(GCC_DIR)/stamp-gnatlib-rts # gnattools1-re $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \ $(TOOLS_FLAGS_TO_PASS_1re) \