X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fada%2Fgcc-interface%2FMakefile.in;h=f9e7edab3e16c068abff99b18d392bbcc77f4a02;hb=176ff0f9a1016553978d6cf41770703e2ad90958;hp=7de81fbfe55bc8fbd647d7cf8f17f06b9d88eba8;hpb=dfb98d7502700782f4a1a4e04357e46fd90784fe;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index 7de81fbfe55..f9e7edab3e1 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -1,5 +1,5 @@ # Makefile for GNU Ada Compiler (GNAT). -# Copyright (C) 1994-2011 Free Software Foundation, Inc. +# Copyright (C) 1994-2012 Free Software Foundation, Inc. #This file is part of GCC. @@ -105,25 +105,23 @@ TEXI2PDF = texi2pdf GNATBIND_FLAGS = -static -x ADA_CFLAGS = ADAFLAGS = -W -Wall -gnatpg -gnata -SOME_ADAFLAGS =-gnata FORCE_DEBUG_ADAFLAGS = -g -NO_SIBLING_ADAFLAGS=-fno-optimize-sibling-calls -NO_REORDER_ADAFLAGS=-fno-toplevel-reorder -GNATLIBFLAGS = -gnatpg -nostdinc +NO_SIBLING_ADAFLAGS = -fno-optimize-sibling-calls +NO_REORDER_ADAFLAGS = -fno-toplevel-reorder +GNATLIBFLAGS = -W -Wall -gnatpg -nostdinc GNATLIBCFLAGS = -g -O2 PICFLAG_FOR_TARGET = @PICFLAG_FOR_TARGET@ + # Pretend that _Unwind_GetIPInfo is available for the target by default. This # should be autodetected during the configuration of libada and passed down to # here, but we need something for --disable-libada and hope for the best. -GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET) -fexceptions \ - -DIN_RTS -DHAVE_GETIPINFO +GNATLIBCFLAGS_FOR_C = -W -Wall $(GNATLIBCFLAGS) \ + -fexceptions -DIN_RTS -DHAVE_GETIPINFO ALL_ADAFLAGS = $(CFLAGS) $(ADA_CFLAGS) $(ADAFLAGS) -MOST_ADAFLAGS = $(CFLAGS) $(ADA_CFLAGS) $(SOME_ADAFLAGS) THREAD_KIND = native THREADSLIB = GMEM_LIB = MISCLIB = -SYMDEPS = $(LIBINTL_DEP) OUTPUT_OPTION = @OUTPUT_OPTION@ objext = .o @@ -177,13 +175,13 @@ top_builddir = ../.. LIBINTL = @LIBINTL@ LIBINTL_DEP = @LIBINTL_DEP@ +# Character encoding conversion library. +LIBICONV = @LIBICONV@ +LIBICONV_DEP = @LIBICONV_DEP@ + # Any system libraries needed just for GNAT. SYSLIBS = @GNAT_LIBEXC@ -# List of extra object files linked in with various programs. -EXTRA_GNATTOOLS_OBJS = ../../libcommon-target.a ../../libcommon.a \ - ../../../libcpp/libcpp.a - # List extra gnattools EXTRA_GNATTOOLS = @@ -231,8 +229,7 @@ all.indirect: Makefile ../gnat1$(exeext) INTERNAL_CFLAGS = @CROSS@ -DIN_GCC # This is the variable actually used when we compile. -LOOSE_CFLAGS = `echo $(CFLAGS) $(WARN2_CFLAGS)|sed -e 's/-pedantic//g' -e 's/-Wtraditional//g'` -ALL_CFLAGS = $(INTERNAL_CFLAGS) $(T_CFLAGS) $(LOOSE_CFLAGS) +ALL_CFLAGS = $(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS) # Likewise. ALL_CPPFLAGS = $(CPPFLAGS) @@ -245,16 +242,17 @@ LIBIBERTY = ../../libiberty/libiberty.a # How to link with both our special library facilities # and the system's installed libraries. -LIBS = $(LIBINTL) $(LIBIBERTY) $(SYSLIBS) -LIBDEPS = $(LIBINTL_DEP) $(LIBIBERTY) +LIBS = $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(SYSLIBS) +LIBDEPS = $(LIBINTL_DEP) $(LIBICONV_DEP) $(LIBIBERTY) # Default is no TGT_LIB; one might be passed down or something TGT_LIB = -TOOLS_LIBS = $(EXTRA_GNATTOOLS_OBJS) targext.o link.o $(LIBGNAT) $(LIBINTL) ../../../libiberty/libiberty.a $(SYSLIBS) $(TGT_LIB) +TOOLS_LIBS = targext.o link.o ../../libcommon-target.a ../../libcommon.a \ + ../../../libcpp/libcpp.a $(LIBGNAT) $(LIBINTL) $(LIBICONV) \ + ../../../libiberty/libiberty.a $(SYSLIBS) $(TGT_LIB) # Convert the target variable into a space separated list of architecture, # manufacturer, and operating system and assign each of those to its own # variable. - host:=$(subst -, ,$(host_canonical)) targ:=$(subst -, ,$(target)) arch:=$(word 1,$(targ)) @@ -270,19 +268,21 @@ endif # Both . and srcdir are used, in that order, # so that tm.h and config.h will be found in the compilation # subdirectory rather than in the source directory. -INCLUDES = -I- -I. -I.. -I$(srcdir)/ada -I$(srcdir) -I$(srcdir)/config \ - -I$(srcdir)/../include +INCLUDES = -I- -I. -I.. -I$(srcdir)/ada -I$(srcdir) -I$(srcdir)/../include ADA_INCLUDES = -I- -I. -I$(srcdir)/ada -INCLUDES_FOR_SUBDIR = -iquote . -iquote .. -iquote ../.. -iquote $(fsrcdir)/ada \ - -I$(fsrcdir)/../include - -ifeq ($(strip $(filter-out cygwin32% mingw32% pe,$(osys))),) - # On Windows native the tconfig.h files used by C runtime files needs to have - # the gcc source dir in its include dir list - INCLUDES_FOR_SUBDIR = -iquote . -iquote .. -iquote ../.. -iquote $(fsrcdir)/ada \ - -I$(fsrcdir)/../include -I$(fsrcdir) +# Likewise, but valid for subdirectories of the current dir. +# FIXME: for VxWorks, we cannot add $(fsrcdir) because the regs.h file in +# that directory conflicts with a system header file. +ifneq ($(findstring vxworks,$(osys)),) + INCLUDES_FOR_SUBDIR = -iquote . -iquote .. -iquote ../.. \ + -iquote $(fsrcdir)/ada \ + -I$(fsrcdir)/../include +else + INCLUDES_FOR_SUBDIR = -iquote . -iquote .. -iquote ../.. \ + -iquote $(fsrcdir)/ada -iquote $(fsrcdir) \ + -I$(fsrcdir)/../include endif ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada @@ -431,13 +431,11 @@ ATOMICS_BUILTINS_TARGET_PAIRS = \ X86_TARGET_PAIRS = \ a-numaux.ads 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) + # 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../../,'`" \ @@ -2545,9 +2584,6 @@ gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) $(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) $(RTSDIR)/libgmem$(arext) \ $(RTSDIR)/memtrack.o @@ -2561,7 +2597,7 @@ gnatlib-shared-default: $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ - GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ + GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \ MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib @@ -2607,8 +2643,9 @@ gnatlib-shared-dual: gnatlib-shared-dual-win32: $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ - GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ + GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ + PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \ MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib-shared-win32 @@ -2631,7 +2668,7 @@ gnatlib-shared-win32: $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ - GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ + GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET)" \ MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib @@ -2654,7 +2691,7 @@ gnatlib-shared-darwin: $(MAKE) $(FLAGS_TO_PASS) \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(PICFLAG_FOR_TARGET)" \ - GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) -fno-common" \ + GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C) $(PICFLAG_FOR_TARGET) -fno-common" \ MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib @@ -2665,7 +2702,7 @@ gnatlib-shared-darwin: $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ $(SO_OPTS) \ -Wl,-install_name,@rpath/libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ - $(MISCLIB) -lm + $(MISCLIB) cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -dynamiclib $(PICFLAG_FOR_TARGET) \ -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ @@ -2719,16 +2756,24 @@ gnatlib-shared: PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" \ $(GNATLIB_SHARED) +# When building a SJLJ runtime for VxWorks, in addition to forcing +# ZCX_By_default to True, we need to ensure that -crtbe linker options +# is not passed. Otherwise we will end with weak symbols on +# __register_frame_info and __deregister_frame_info. The VxWorks 5.x +# will issue an error on weak symbols. gnatlib-sjlj: $(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" \ THREAD_KIND="$(THREAD_KIND)" ../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 + cat $(RTSDIR)/s.ads | grep -v "Linker_Options.*-crtbe" > $(RTSDIR)/s2.ads + $(RM) $(RTSDIR)/s.ads + $(MV) $(RTSDIR)/s2.ads $(RTSDIR)/system.ads $(MAKE) $(FLAGS_TO_PASS) \ EH_MECHANISM="" \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ + FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" gnatlib @@ -2743,14 +2788,11 @@ gnatlib-zcx: GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ GNATLIBCFLAGS_FOR_C="$(GNATLIBCFLAGS_FOR_C)" \ + FORCE_DEBUG_ADAFLAGS="$(FORCE_DEBUG_ADAFLAGS)" \ MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ PICFLAG_FOR_TARGET="$(PICFLAG_FOR_TARGET)" gnatlib -# .s files for cross-building -gnat-cross: force - make $(GNAT1_ADA_OBJS) CC="gcc -B../stage1/" CFLAGS="-S -gnatp" - # Compiling object files from source files. # Note that dependencies on obstack.h are not written @@ -2853,6 +2895,8 @@ mkdir.o : mkdir.c socket.o : socket.c gsocket.h sysdep.o : sysdep.c raise.o : raise.c raise.h +sigtramp-ppcvxw.o : sigtramp-ppcvxw.c sigtramp.h +terminals.o : terminals.c vx_stack_info.o : vx_stack_info.c raise-gcc.o : raise-gcc.c raise.h