X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fada%2Fgcc-interface%2FMakefile.in;h=fa3aec5d193eccc953f1ad1e7510d18dc392e3d1;hb=17cac2b0cb38b910136e6038b69a2fb849e696c2;hp=6eedaa58984b1e7fb48fd665ec0926ed97dceda9;hpb=0041731bba894b3555a7029b8adbfccf3a7b60b3;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index 6eedaa58984..fa3aec5d193 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -296,7 +296,7 @@ GNATLINK_OBJS = gnatlink.o \ sdefault.o snames.o stylesw.o switch.o system.o table.o targparm.o tree_io.o \ types.o validsw.o widechar.o -GNATMAKE_OBJS = a-except.o ali.o ali-util.o s-casuti.o \ +GNATMAKE_OBJS = a-except.o ali.o ali-util.o aspects.o s-casuti.o \ alloc.o atree.o binderr.o butil.o casing.o csets.o debug.o elists.o einfo.o\ erroutc.o errutil.o err_vars.o fmap.o fname.o fname-uf.o fname-sf.o \ gnatmake.o gnatvsn.o hostparm.o interfac.o i-c.o i-cstrin.o krunch.o lib.o \ @@ -1074,6 +1074,8 @@ ifeq ($(strip $(filter-out %86 linux%,$(arch) $(osys))),) THREADSLIB = -lmarte else LIBGNAT_TARGET_PAIRS += \ + a-exetim.adb 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../../,'`" \ @@ -2561,11 +2607,13 @@ gnatlib-shared-win32: THREAD_KIND="$(THREAD_KIND)" \ gnatlib $(RM) $(RTSDIR)/libgna*$(soext) - cd $(RTSDIR); ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ + cd $(RTSDIR); ../../xgcc -B../../ -shared -shared-libgcc \ + $(TARGET_LIBGCC2_CFLAGS) \ -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB) - cd $(RTSDIR); ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ + cd $(RTSDIR); ../../xgcc -B../../ -shared -shared-libgcc \ + $(TARGET_LIBGCC2_CFLAGS) \ -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(GNATRTL_TASKING_OBJS) \ $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ @@ -2714,15 +2762,9 @@ s-tasdeb.o : s-tasdeb.adb s-tasdeb.ads $< $(OUTPUT_OPTION) # force no function reordering on a-except.o because of the exclusion bounds -# mechanism (see the source file for more detailed information). However we -# can do that only when building the runtime (not the compiler) because the -# -fno-toplevel-reorder option exists only in GCC 4.2 and above. +# mechanism (see the source file for more detailed information). -ifneq (,$(findstring xgcc,$(CC))) NO_REORDER_ADAFLAGS=-fno-toplevel-reorder -else -NO_REORDER_ADAFLAGS= -endif # force debugging information on a-except.o so that it is always # possible to set conditional breakpoints on exceptions. @@ -2756,8 +2798,8 @@ errno.o : errno.c exit.o : adaint.h exit.c expect.o : expect.c final.o : final.c -gmem.o : gmem.c link.o : link.c +locales.o : locales.c mkdir.o : mkdir.c socket.o : socket.c gsocket.h sysdep.o : sysdep.c