diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 132b6036132..82631a8ebca 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2012-11-06 Arnaud Charlet + + * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Remove + duplicate rules handled by Make-generated.in. + 2012-10-31 Lawrence Crowl * gcc-interface/utils.c (gnat_write_global_declarations): diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in index 05b3b2be8d9..715c1bb5a64 100644 --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -122,7 +122,7 @@ ifeq ($(build), $(host)) # put the host RTS dir first in the PATH to hide the default runtime # files that are among the sources - RTS_DIR=$(strip $(subst \,/,$(shell gnatls -v | grep adalib ))) + RTS_DIR:=$(strip $(subst \,/,$(shell gnatls -v | grep adalib ))) ADA_TOOLS_FLAGS_TO_PASS=\ CC="$(CC)" \ @@ -157,7 +157,7 @@ else else # This is a canadian cross. We should use a toolchain running on the # build platform and targeting the host platform. - RTS_DIR=$(strip $(subst \,/,$(shell $(GNATLS_FOR_HOST) -v | grep adalib ))) + RTS_DIR:=$(strip $(subst \,/,$(shell $(GNATLS_FOR_HOST) -v | grep adalib ))) ADA_TOOLS_FLAGS_TO_PASS=\ CC="$(CC)" \ $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \ @@ -574,7 +574,7 @@ canadian-gnattools: force $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools2 $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools4 -gnatlib gnatlib-sjlj gnatlib-zcx gnatlib-shared: force +gnatlib gnatlib-sjlj gnatlib-zcx gnatlib-shared: ada/s-oscons.ads force $(MAKE) -C ada $(COMMON_FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index dd71b322415..bffd668aca5 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -2577,48 +2577,13 @@ install-gnatlib: ../stamp-gnatlib-$(RTSDIR) $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)));) # Copy tsystem.h $(CP) $(srcdir)/tsystem.h $(RTSDIR) +# Copy generated target dependent sources + $(RM) $(RTSDIR)/s-oscons.ads + (cd $(RTSDIR); $(LN_S) ../s-oscons.ads s-oscons.ads) $(RM) ../stamp-gnatlib-$(RTSDIR) touch ../stamp-gnatlib1-$(RTSDIR) -ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(subst -, ,$(host)))),) -OSCONS_CPP=../../$(DECC) -E /comment=as_is -DNATIVE \ - -DTARGET='""$(target)""' $(fsrcpfx)ada/s-oscons-tmplt.c - -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 - -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 - -./bldtools/oscons/xoscons: xoscons.adb xutil.ads xutil.adb - -$(MKDIR) ./bldtools/oscons - $(RM) $(addprefix ./bldtools/oscons/,$(notdir $^)) - $(CP) $^ ./bldtools/oscons - (cd ./bldtools/oscons ; gnatmake -q xoscons) - -$(RTSDIR)/s-oscons.ads: ../stamp-gnatlib1-$(RTSDIR) s-oscons-tmplt.c gsocket.h ./bldtools/oscons/xoscons - $(RM) $(RTSDIR)/s-oscons-tmplt.i $(RTSDIR)/s-oscons-tmplt.s - (cd $(RTSDIR) ; \ - $(OSCONS_CPP) ; \ - $(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 +gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) # C files $(MAKE) -C $(RTSDIR) \ CC="`echo \"$(GCC_FOR_TARGET)\" \ diff --git a/libada/ChangeLog b/libada/ChangeLog index 1778a14e4a2..7b6eb9c9b0f 100644 --- a/libada/ChangeLog +++ b/libada/ChangeLog @@ -1,3 +1,7 @@ +2012-10-30 Arnaud Charlet + + * Makefile.in (osconstool): Fix target. + 2012-06-11 Olivier Hainque * Makefile.in (GNATLIBCFLAGS_FOR_C): Remove $(PICFLAG). diff --git a/libada/Makefile.in b/libada/Makefile.in index 389a2fb2f79..536352f8dab 100644 --- a/libada/Makefile.in +++ b/libada/Makefile.in @@ -113,7 +113,7 @@ gnatlib-sjlj gnatlib-zcx gnatlib-shared: osconstool $(GCC_DIR)/ada/Makefile $(LN_S) $(ADA_RTS_DIR) adalib osconstool: - $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) ./bldtools/oscons/xoscons + $(MAKE) -C $(GCC_DIR) $(LIBADA_FLAGS_TO_PASS) ada/s-oscons.ads install-gnatlib: $(GCC_DIR)/ada/Makefile $(MAKE) -C $(GCC_DIR)/ada $(LIBADA_FLAGS_TO_PASS) install-gnatlib