diff options
author | Iain Sandoe <iains@gcc.gnu.org> | 2011-11-12 15:06:18 +0000 |
---|---|---|
committer | Iain Sandoe <iains@gcc.gnu.org> | 2011-11-12 15:06:18 +0000 |
commit | 5f41422fc7be19182f2df199f84ff20c96636526 (patch) | |
tree | 0a7e040aa0c1808884608b7d3b58cdebbfc1a4d0 /gcc/ada/gcc-interface | |
parent | 0eb5d9c427638b5e0851223e8dfdc89c7e590f51 (diff) | |
download | gcc-5f41422fc7be19182f2df199f84ff20c96636526.zip gcc-5f41422fc7be19182f2df199f84ff20c96636526.tar.gz gcc-5f41422fc7be19182f2df199f84ff20c96636526.tar.bz2 |
Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link s-oscons.ads.
ada:
* gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
s-oscons.ads.
(OSCONS_CPP, OSCONS_EXTRACT): New.
(./bldtools/oscons/xoscons): New Target.
($(RTSDIR)/s-oscons.ads): New Target.
(gnatlib): Depend on $(RTSDIR)/s-oscons.ads.
* gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
* Make-generated.in: Remove machinery to generate xoscons and
ada/s-oscons.ads.
libada:
Makefile.in: Change dependency on oscons to depend on the generator
tool.
From-SVN: r181319
Diffstat (limited to 'gcc/ada/gcc-interface')
-rw-r--r-- | gcc/ada/gcc-interface/Make-lang.in | 2 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/Makefile.in | 37 |
2 files changed, 34 insertions, 5 deletions
diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in index 3ff28a6..4dfc45b 100644 --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -568,7 +568,7 @@ canadian-gnattools: force $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools1-re $(MAKE) -C ada $(ADA_TOOLS_FLAGS_TO_PASS) gnattools2 -gnatlib gnatlib-sjlj gnatlib-zcx gnatlib-shared: ada/s-oscons.ads force +gnatlib gnatlib-sjlj gnatlib-zcx gnatlib-shared: 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 d9215df..d000b5d 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -2495,21 +2495,50 @@ 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) # GNULLI End ############################################################# +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) -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) + # 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) +gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) $(RTSDIR)/s-oscons.ads $(MAKE) -C $(RTSDIR) \ CC="`echo \"$(GCC_FOR_TARGET)\" \ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \ |