X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fada%2FMakefile.in;h=f03776d56811406c3b4ef02930c8dad74b24c13a;hb=57993a5368c6b04d4b89553618030a8c6dd222b5;hp=b3c0cee857296bf38dce480ef1d51972e44ec100;hpb=fb7b92824429c68892f82b52908066e9288c2e69;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ada/Makefile.in b/gcc/ada/Makefile.in index b3c0cee8572..f03776d5681 100644 --- a/gcc/ada/Makefile.in +++ b/gcc/ada/Makefile.in @@ -1,11 +1,11 @@ # Makefile for GNU Ada Compiler (GNAT). -# Copyright (C) 1994-2005 Free Software Foundation, Inc. +# Copyright (C) 1994-2008 Free Software Foundation, Inc. #This file is part of GCC. #GCC is free software; you can redistribute it and/or modify #it under the terms of the GNU General Public License as published by -#the Free Software Foundation; either version 2, or (at your option) +#the Free Software Foundation; either version 3, or (at your option) #any later version. #GCC is distributed in the hope that it will be useful, @@ -14,9 +14,8 @@ #GNU General Public License for more details. #You should have received a copy of the GNU General Public License -#along with GCC; see the file COPYING. If not, write to -#the Free Software Foundation, 59 Temple Place - Suite 330, -#Boston, MA 02111-1307, USA. +#along with GCC; see the file COPYING3. If not see +#. # The makefile built from this file lives in the language subdirectory. # Its purpose is to provide support for: @@ -114,7 +113,7 @@ PWD_COMMAND = $${PWDCMD-pwd} INSTALL_DATA_DATE = cp -p MAKEINFO = makeinfo TEXI2DVI = texi2dvi -GNATBIND = $(STAGE_PREFIX)gnatbind +TEXI2PDF = texi2pdf GNATBIND_FLAGS = -static -x ADA_CFLAGS = ADAFLAGS = -W -Wall -gnatpg -gnata @@ -227,7 +226,8 @@ all.indirect: Makefile ../gnat1$(exeext) # IN_GCC distinguishes between code compiled into GCC itself and other # programs built during a bootstrap. -# autoconf inserts -DCROSS_COMPILE if we are building a cross compiler. +# autoconf inserts -DCROSS_DIRECTORY_STRUCTURE if we are building a cross +# compiler which does not use the native libraries and headers. INTERNAL_CFLAGS = @CROSS@ -DIN_GCC # This is the variable actually used when we compile. @@ -245,7 +245,9 @@ LIBIBERTY = ../../libiberty/libiberty.a # and the system's installed libraries. LIBS = $(LIBINTL) $(LIBIBERTY) $(SYSLIBS) LIBDEPS = $(LIBINTL_DEP) $(LIBIBERTY) -TOOLS_LIBS = $(LIBGNAT) $(EXTRA_GNATTOOLS_OBJS) link.o ../../../libiberty/libiberty.a $(SYSLIBS) +# Default is no TGT_LIB; one might be passed down or something +TGT_LIB = +TOOLS_LIBS = $(EXTRA_GNATTOOLS_OBJS) targext.o link.o $(LIBGNAT) ../../../libiberty/libiberty.a $(SYSLIBS) $(TGT_LIB) # Specify the directories to be searched for header files. # Both . and srcdir are used, in that order, @@ -294,17 +296,18 @@ Makefile: ../config.status $(srcdir)/Makefile.in $(srcdir)/../version.c # Lists of files for various purposes. GNATLINK_OBJS = gnatlink.o \ - a-except.o ali.o alloc.o butil.o casing.o csets.o debug.o fmap.o fname.o gnatvsn.o \ - hostparm.o indepsw.o interfac.o i-c.o i-cstrin.o namet.o opt.o osint.o output.o rident.o \ - s-exctab.o s-secsta.o s-stalib.o s-stoele.o sdefault.o stylesw.o switch.o system.o \ - table.o tree_io.o types.o validsw.o widechar.o + a-except.o ali.o alloc.o butil.o casing.o csets.o debug.o fmap.o fname.o \ + gnatvsn.o hostparm.o indepsw.o interfac.o i-c.o i-cstrin.o namet.o opt.o \ + osint.o output.o rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.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 ctrl_c.o ali.o ali-util.o s-casuti.o \ +GNATMAKE_OBJS = a-except.o ali.o ali-util.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 \ - make.o makeusg.o makeutl.o mlib.o mlib-fil.o mlib-prj.o mlib-tgt.o mlib-utl.o \ - namet.o nlists.o opt.o osint.o osint-m.o output.o \ + make.o makeusg.o makeutl.o mlib.o mlib-fil.o mlib-prj.o mlib-tgt.o \ + mlib-tgt-specific.o mlib-utl.o namet.o nlists.o opt.o osint.o osint-m.o output.o \ prj.o prj-attr.o prj-attr-pm.o prj-com.o prj-dect.o prj-env.o prj-err.o prj-ext.o prj-nmsc.o \ prj-pars.o prj-part.o prj-proc.o prj-strt.o prj-tree.o prj-util.o \ rident.o s-exctab.o s-secsta.o s-stalib.o s-stoele.o \ @@ -312,7 +315,7 @@ GNATMAKE_OBJS = a-except.o ctrl_c.o ali.o ali-util.o s-casuti.o \ sinfo.o sinput.o sinput-c.o sinput-p.o \ snames.o stand.o stringt.o styleg.o stylesw.o system.o validsw.o switch.o switch-m.o \ table.o targparm.o tempdir.o tree_io.o types.o \ - uintp.o uname.o urealp.o usage.o widechar.o \ + uintp.o uname.o urealp.o usage.o widechar.o \ $(EXTRA_GNATMAKE_OBJS) # Convert the target variable into a space separated list of architecture, @@ -346,6 +349,11 @@ s-osprim.adb SYMVEC_$$$$.opt && \ - objdump --syms $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) | \ - $(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \ - echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \ - ../../xgcc -g -B../../ -nostartfiles -shared -shared-libgcc \ + cd rts && \ + ../../gnatsym -s SYMVEC_$$$$.opt \ + $(LIBGNAT_OBJS) $(GNATRTL_NONTASKING_OBJS) && \ + ../../xgcc -g -B../../ -shared -shared-libgcc \ -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) libgnat.a \ sys\$$library:trace.exe \ --for-linker=/noinform \ --for-linker=SYMVEC_$$$$.opt \ --for-linker=gsmatch=equal,$(GSMATCH_VERSION) - cd rts && echo "case_sensitive=yes" > SYMVEC_$$$$.opt && \ - objdump --syms $(GNATRTL_TASKING_OBJS) | \ - $(SHLIB_SYMVEC) >> SYMVEC_$$$$.opt && \ - echo "case_sensitive=NO" >> SYMVEC_$$$$.opt && \ - ../../xgcc -g -B../../ -nostartfiles -shared -shared-libgcc \ + cd rts && \ + ../../gnatsym -s SYMVEC_$$$$.opt \ + $(GNATRTL_TASKING_OBJS) && \ + ../../xgcc -g -B../../ -shared -shared-libgcc \ -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ libgnarl.a libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ sys\$$library:trace.exe \ @@ -1904,19 +2146,23 @@ gnatlib-shared: TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \ $(GNATLIB_SHARED) -gnatlib-sjlj: ../stamp-gnatlib1 +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) \ - GNATLIBFLAGS="$(GNATLIBFLAGS)" \ + EH_MECHANISM="" \ + GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ THREAD_KIND="$(THREAD_KIND)" \ TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib -gnatlib-zcx: ../stamp-gnatlib1 +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" \ GNATLIBFLAGS="$(GNATLIBFLAGS)" \ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \ THREAD_KIND="$(THREAD_KIND)" \ @@ -1948,8 +2194,8 @@ ADA_RTL_OBJ_DIR = $(libsubdir)/adalib # force no sibling call optimization on s-traceb.o so the number of stack # frames to be skipped when computing a call chain is not modified by # optimization. However we can do that only when building the runtime -# (not the compiler) because the -fno-optimize-sibling-calls exists -# only in GCC 3. +# (not the compiler) because the -fno-optimize-sibling-calls option exists +# only in GCC 3 and above. ifneq (,$(findstring xgcc,$(CC))) NO_SIBLING_ADAFLAGS=-fno-optimize-sibling-calls @@ -1969,13 +2215,32 @@ s-tasdeb.o : s-tasdeb.adb s-tasdeb.ads $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ $< $(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. + +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. # use -O1 otherwise gdb isn't able to get a full backtrace on mips targets. a-except.o : a-except.adb a-except.ads $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O1 -fno-inline \ - $(ADA_INCLUDES) $< $(OUTPUT_OPTION) + $(NO_REORDER_ADAFLAGS) $(ADA_INCLUDES) $< $(OUTPUT_OPTION) + +# compile s-except.o without optimization and with debug info to let the +# debugger set breakpoints and inspect subprogram parameters on exception +# related events. + +s-except.o : s-except.adb s-except.ads + $(CC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ + $< $(OUTPUT_OPTION) # force debugging information on s-assert.o so that it is always # possible to set breakpoint on assert failures. @@ -1988,43 +2253,51 @@ adadecode.o : adadecode.c adadecode.h aux-io.o : aux-io.c argv.o : argv.c cal.o : cal.c -deftarg.o : deftarg.c +deftarg.o : deftarg.c errno.o : errno.c -exit.o : raise.h exit.c +exit.o : adaint.h exit.c expect.o : expect.c -final.o : raise.h final.c +final.o : final.c gmem.o : gmem.c link.o : link.c mkdir.o : mkdir.c socket.o : socket.c gsocket.h sysdep.o : sysdep.c +raise-gcc.o : raise-gcc.c raise.h +raise.o : raise.c raise.h +vx_stack_info.o : vx_stack_info.c gen-soccon: gen-soccon.c gsocket.h - $(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \ - $(ALL_CPPFLAGS) $(INCLUDES) -DTARGET=\"$(target_alias)\" \ + $(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ + -UIN_GCC -DTARGET=\"$(target_alias)\" \ $< $(OUTPUT_OPTION) cio.o : cio.c - $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \ + $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \ + $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) + +init.o : init.c adaint.h raise.h + $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) -init.o : init.c ada.h types.h raise.h - $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \ +initialize.o : initialize.c raise.h + $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) +targext.o : targext.c + $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \ + $(ALL_CPPFLAGS) $(INCLUDES_FOR_SUBDIR) \ + $< $(OUTPUT_OPTION) + # No optimization to compile this file as optimizations (-O1 or above) breaks # the SEH handling on Windows. The reasons are not clear. seh_init.o : seh_init.c raise.h - $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) -O0 \ + $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) -O0 \ $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) -raise.o : raise.c raise.h - $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \ - $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION) - # Need to keep the frame pointer in this file to pop the stack properly on # some targets. -tracebak.o : tracebak.c tb-alvms.c tb-alvxw.c +tracebak.o : tracebak.c tb-alvms.c tb-alvxw.c tb-gcc.c $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ -fno-omit-frame-pointer $< $(OUTPUT_OPTION) @@ -2034,9 +2307,18 @@ tracebak.o : tracebak.c tb-alvms.c tb-alvxw.c force: -# Gnatlbr is only used on VMS +# Gnatlbr, Vms_help, and Gnat.hlp are only used on VMS ../../gnatlbr$(exeext): ../../prefix.o $(GNATMAKE) -c $(ADA_INCLUDES) gnatlbr --GCC="$(CC) $(ALL_ADAFLAGS)" $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlbr - $(GNATLINK) -v gnatlbr -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS) + $(GNATLINK) -v gnatlbr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + +../../vms_help$(exeext): + $(GNATMAKE) -c $(ADA_INCLUDES) vms_help --GCC="$(CC) $(ALL_ADAFLAGS)" + $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vms_help + $(GNATLINK) -v vms_help -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS) + +../../gnat.hlp: ../../vms_help$(exeext) + ../../vms_help$(exeext) $(fsrcdir)/gnat.help_in \ + $(fsrcdir)/vms_data.ads ../../gnat.hlp