summaryrefslogtreecommitdiffstats
path: root/recipes/gcc/gcc-4.3.3/debian/ada-link-lib.dpatch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/gcc/gcc-4.3.3/debian/ada-link-lib.dpatch')
-rw-r--r--recipes/gcc/gcc-4.3.3/debian/ada-link-lib.dpatch1932
1 files changed, 1932 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.3.3/debian/ada-link-lib.dpatch b/recipes/gcc/gcc-4.3.3/debian/ada-link-lib.dpatch
new file mode 100644
index 0000000000..2645fe034e
--- /dev/null
+++ b/recipes/gcc/gcc-4.3.3/debian/ada-link-lib.dpatch
@@ -0,0 +1,1932 @@
+#! /bin/sh -e
+
+# DP: - Install the shared Ada libraries as '.so.1', not '.so' to conform
+# DP: to the Debian policy.
+# DP: - Don't include a runtime link path (-rpath), when linking binaries.
+# DP: - Build the shared libraries on hppa-linux.
+# DP: - Instead of building libada as a target library only, build it as
+# DP: both a host and, if different, target library.
+# DP: - Build the GNAT tools in their top-level directory; do not use
+# DP: recursive makefiles.
+# DP: - Link the GNAT tools dynamically.
+# DP: - Fix a bug in src/gnattools/configure.ac whereby a nonexistent version
+# DP: of indepsw's body was selected. Regenerate configure. (PR ada/27300)
+
+# This patch seems large, but the hunks in Makefile.in are actually
+# generated from Makefile.def using autogen.
+
+dir=./
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+ dir="$3/"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch)
+ patch $pdir -f --no-backup-if-mismatch -p0 < $0
+ cd ${dir} && autoconf
+ ;;
+ -unpatch)
+ patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
+ ;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+Index: gcc/ada/config-lang.in
+===================================================================
+--- gcc/ada/config-lang.in.orig 2007-09-03 15:14:47.000000000 +0200
++++ gcc/ada/config-lang.in 2008-01-29 12:16:44.688811730 +0100
+@@ -35,7 +35,7 @@
+ outputs=ada/Makefile
+
+ target_libs="target-libada"
+-lang_dirs="gnattools"
++lang_dirs="libada gnattools"
+
+ # Ada will not work until the front end starts emitting GIMPLE trees.
+ build_by_default=no
+Index: gcc/ada/link.c
+===================================================================
+--- gcc/ada/link.c.orig 2007-11-21 12:20:42.000000000 +0100
++++ gcc/ada/link.c 2008-01-29 12:16:44.688811730 +0100
+@@ -146,8 +146,8 @@
+
+ #elif defined (__FreeBSD__)
+ const char *__gnat_object_file_option = "";
+-const char *__gnat_run_path_option = "-Wl,-rpath,";
+-char __gnat_shared_libgnat_default = STATIC;
++char *__gnat_run_path_option = "";
++char __gnat_shared_libgnat_default = SHARED;
+ int __gnat_link_max = 8192;
+ unsigned char __gnat_objlist_file_supported = 1;
+ unsigned char __gnat_using_gnu_linker = 1;
+@@ -155,8 +155,8 @@
+
+ #elif defined (linux)
+ const char *__gnat_object_file_option = "";
+-const char *__gnat_run_path_option = "-Wl,-rpath,";
+-char __gnat_shared_libgnat_default = STATIC;
++const char *__gnat_run_path_option = "";
++char __gnat_shared_libgnat_default = SHARED;
+ int __gnat_link_max = 8192;
+ unsigned char __gnat_objlist_file_supported = 1;
+ unsigned char __gnat_using_gnu_linker = 1;
+Index: gcc/ada/Makefile.in
+===================================================================
+--- gcc/ada/Makefile.in.orig 2008-01-29 12:10:06.222766372 +0100
++++ gcc/ada/Makefile.in 2008-01-29 12:17:55.465175005 +0100
+@@ -114,7 +114,7 @@
+ MAKEINFO = makeinfo
+ TEXI2DVI = texi2dvi
+ TEXI2PDF = texi2pdf
+-GNATBIND_FLAGS = -static -x
++GNATBIND_FLAGS = -shared -x
+ ADA_CFLAGS =
+ ADAFLAGS = -W -Wall -gnatpg -gnata
+ SOME_ADAFLAGS =-gnata
+@@ -247,7 +247,6 @@
+ LIBDEPS = $(LIBINTL_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) ../../../libiberty/libiberty.a $(SYSLIBS) $(TGT_LIB)
+
+ # Specify the directories to be searched for header files.
+ # Both . and srcdir are used, in that order,
+@@ -293,30 +292,6 @@
+ # defined in this file into the environment.
+ .NOEXPORT:
+
+-# 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 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 \
+- 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-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 \
+- scans.o scng.o sdefault.o sfn_scan.o s-purexc.o s-htable.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 \
+- $(EXTRA_GNATMAKE_OBJS)
+
+ # Convert the target variable into a space separated list of architecture,
+ # manufacturer, and operating system and assign each of those to its own
+@@ -1017,6 +992,11 @@
+ GMEM_LIB = gmemlib
+ endif
+
++ifeq ($(strip $(filter-out hppa% unknown linux gnu,$(targ))),)
++ GNATLIB_SHARED = gnatlib-shared-dual
++ LIBRARY_VERSION := $(LIB_VERSION)
++endif
++
+ ifeq ($(strip $(filter-out hppa% hp hpux10%,$(targ))),)
+ LIBGNAT_TARGET_PAIRS = \
+ a-excpol.adb<a-excpol-abort.adb \
+@@ -1666,128 +1646,6 @@
+ a-[a-o]*.adb a-[p-z]*.adb a-[a-o]*.ads a-[p-z]*.ads g-*.ad? i-*.ad? \
+ s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads
+
+-LIBGNAT=../rts/libgnat.a
+-
+-GCC_LINK=$(CC) -static-libgcc $(ADA_INCLUDES)
+-
+-# when compiling the tools, the runtime has to be first on the path so that
+-# it hides the runtime files lying with the rest of the sources
+-ifeq ($(TOOLSCASE),native)
+- vpath %.ads ../rts ../
+- vpath %.adb ../rts ../
+- vpath %.c ../rts ../
+- vpath %.h ../rts ../
+-endif
+-
+-# in the cross tools case, everything is compiled with the native
+-# gnatmake/link. Therefore only -I needs to be modified in ADA_INCLUDES
+-ifeq ($(TOOLSCASE),cross)
+- vpath %.ads ../
+- vpath %.adb ../
+- vpath %.c ../
+- vpath %.h ../
+-endif
+-
+-../../gnatchop$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatchop
+- $(GNATLINK) -v gnatchop -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnat$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatcmd --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatcmd
+- $(GNATLINK) -v gnatcmd -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatkr$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatkr --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatkr
+- $(GNATLINK) -v gnatkr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatls$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatls --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatls
+- $(GNATLINK) -v gnatls -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatname$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatname --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatname
+- $(GNATLINK) -v gnatname -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gprmake$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gprmake --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gprmake
+- $(GNATLINK) -v gprmake -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatprep$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatprep --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatprep
+- $(GNATLINK) -v gnatprep -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatxref$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatxref --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatxref
+- $(GNATLINK) -v gnatxref -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatfind$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatfind --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatfind
+- $(GNATLINK) -v gnatfind -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatclean$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatclean --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatclean
+- $(GNATLINK) -v gnatclean -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatsym$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym
+- $(GNATLINK) -v gnatsym -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../gnatdll$(exeext):
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) $(GNATBIND_FLAGS) gnatdll
+- $(GNATLINK) -v gnatdll -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-../../vxaddr2line$(exeext): targext.o
+- $(GNATMAKE) -c $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line
+- $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" targext.o $(CLIB)
+-
+-gnatmake-re: link.o targext.o
+- $(GNATMAKE) $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)"
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake
+- $(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \
+- --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+-
+-# Note the use of the "mv" command in order to allow gnatlink to be linked with
+-# with the former version of gnatlink itself which cannot override itself.
+-gnatlink-re: link.o targext.o
+- $(GNATMAKE) -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)"
+- $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink
+- $(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \
+- --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
+- $(MV) ../../gnatlinknew$(exeext) ../../gnatlink$(exeext)
+-
+-# Needs to be built with CC=gcc
+-# Since the RTL should be built with the latest compiler, remove the
+-# stamp target in the parent directory whenever gnat1 is rebuilt
+-
+-# Likewise for the tools
+-../../gnatmake$(exeext): $(P) b_gnatm.o link.o targext.o $(GNATMAKE_OBJS)
+- $(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \
+- $(TOOLS_LIBS)
+-
+-../../gnatlink$(exeext): $(P) b_gnatl.o link.o targext.o $(GNATLINK_OBJS)
+- $(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \
+- $(TOOLS_LIBS)
+-
+-../../gnatbl$(exeext): gnatbl.o
+- $(GCC_LINK) -o $@ $(ALL_CFLAGS) $(LDFLAGS) gnatbl.o $(TOOLS_LIBS)
+-
+-gnatbl.o: gnatbl.c adaint.h
+- $(CC) $(ALL_CFLAGS) $(INCLUDES) -c $< $(OUTPUT_OPTION)
+-
+ ../stamp-gnatlib:
+ @if [ ! -f stamp-gnatlib ] ; \
+ then \
+@@ -1823,12 +1681,10 @@
+ # permission is required.
+ for file in gnat gnarl; do \
+ if [ -f rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) ]; then \
+- $(INSTALL) rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ $(INSTALL) rts/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
+- fi; \
+- if [ -f rts/lib$${file}$(soext) ]; then \
+- $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(soext); \
++ $(LN_S) lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
++ $(DESTDIR)$(ADA_RTL_OBJ_DIR)/lib$${file}$(hyphen)$(LIBRARY_VERSION)$(soext); \
+ fi; \
+ done
+ # This copy must be done preserving the date on the original file.
+@@ -1838,18 +1694,6 @@
+ cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb
+ cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads
+
+-../stamp-gnatlib2:
+- $(RM) rts/s-*.ali
+- $(RM) rts/s-*$(objext)
+- $(RM) rts/a-*.ali
+- $(RM) rts/a-*$(objext)
+- $(RM) rts/*.ali
+- $(RM) rts/*$(objext)
+- $(RM) rts/*$(arext)
+- $(RM) rts/*$(soext)
+- touch ../stamp-gnatlib2
+- $(RM) ../stamp-gnatlib
+-
+ # NOTE: The $(foreach ...) commands assume ";" is the valid separator between
+ # successive target commands. Although the Gnu make documentation
+ # implies this is true on all systems, I suspect it may not be, So care
+@@ -1859,7 +1703,7 @@
+
+ # GNULLI Begin ###########################################################
+
+-../stamp-gnatlib1: Makefile ../stamp-gnatlib2
++../stamp-gnatlib1: Makefile
+ $(RMDIR) rts
+ $(MKDIR) rts
+ $(CHMOD) u+w rts
+@@ -1885,7 +1729,7 @@
+ # Example: cd rts; ar rc libfoo.a $(LONG_LIST_OF_OBJS)
+ # is guaranteed to overflow the buffer.
+
+-gnatlib: ../stamp-gnatlib1 ../stamp-gnatlib2
++gnatlib: ../stamp-gnatlib1
+ $(MAKE) -C rts \
+ CC="`echo \"$(GCC_FOR_TARGET)\" \
+ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
+@@ -1924,64 +1768,75 @@
+ rts/memtrack.o
+ $(RANLIB_FOR_TARGET) rts/libgmem$(arext)
+ endif
+- $(CHMOD) a-wx rts/*.ali
+ touch ../stamp-gnatlib
+
+ # Warning: this target assumes that LIBRARY_VERSION has been set correctly.
+-gnatlib-shared-default:
+- $(MAKE) $(FLAGS_TO_PASS) \
+- GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \
+- THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(RM) rts/libgna*$(soext)
++gnatlib-shared-default: ../stamp-gnatlib1
++ $(MAKE) -C rts \
++ CC="`echo \"$(GCC_FOR_TARGET)\" \
++ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
++ INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
++ CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \
++ srcdir=$(fsrcdir) \
++ -f ../Makefile $(LIBGNAT_OBJS)
++ $(MAKE) -C rts \
++ CC="`echo \"$(GCC_FOR_TARGET)\" \
++ | sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
++ ADA_INCLUDES="" \
++ CFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \
++ ADAFLAGS="$(GNATLIBFLAGS)" \
++ THREAD_KIND="$(THREAD_KIND)" \
++ srcdir=$(fsrcdir) \
++ -f ../Makefile \
++ $(GNATRTL_OBJS)
++ $(RM) rts/libgna*$(soext) rts/libgna*$(soext).1
+ cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
+ $(TARGET_LIBGCC2_CFLAGS) \
+- -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
+ g-trasym.o convert_addresses.o \
+- $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(MISCLIB) -lm
+ cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
+ $(TARGET_LIBGCC2_CFLAGS) \
+- -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(GNATRTL_TASKING_OBJS) \
+- $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
++ $(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext).1 \
+ $(THREADSLIB)
+- cd rts; $(LN_S) libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- libgnat$(soext)
+- cd rts; $(LN_S) libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
+- libgnarl$(soext)
++ cd rts; for lib in gnat gnarl; do \
++ l=lib$${lib}$(hyphen)$(LIBRARY_VERSION)$(soext); \
++ $(LN_S) $$l.1 $$l; \
++ done
++# Delete the object files, lest they be linked statically into the tools
++# executables. Only the .ali, .a and .so files must remain.
++ rm -f rts/*.o
++ $(CHMOD) a-wx rts/*.ali
+
+ gnatlib-shared-dual:
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib-shared-default
+- $(MV) rts/libgna*$(soext) .
+- $(RM) ../stamp-gnatlib2
++ gnatlib
++ $(RM) rts/*.o rts/*.ali
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(MV) libgna*$(soext) rts
++ gnatlib-shared-default
+
+ gnatlib-shared-dual-win32:
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \
++ GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib-shared-win32
+- $(MV) rts/libgna*$(soext) .
+- $(RM) ../stamp-gnatlib2
++ gnatlib
++ $(RM) rts/*.o rts/*.ali
+ $(MAKE) $(FLAGS_TO_PASS) \
+ GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+- GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
++ GNATLIBCFLAGS="$(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS)" \
+ THREAD_KIND="$(THREAD_KIND)" \
+- gnatlib
+- $(MV) libgna*$(soext) rts
++ gnatlib-shared-win32
+
+ # ??? we need to add the option to support auto-import of arrays/records to
+ # the GNATLIBFLAGS when this will be supported by GNAT. At this point we will
+@@ -2090,22 +1945,6 @@
+ 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
+-# because that file is not part of GCC.
+-# Dependencies on gvarargs.h are not written
+-# because all that file does, when not compiling with GCC,
+-# is include the system varargs.h.
+-
+-b_gnatl.c : $(GNATLINK_OBJS)
+- $(GNATBIND) -C $(ADA_INCLUDES) -o b_gnatl.c gnatlink.ali
+-b_gnatl.o : b_gnatl.c
+-
+-b_gnatm.c : $(GNATMAKE_OBJS)
+- $(GNATBIND) -C $(ADA_INCLUDES) -o b_gnatm.c gnatmake.ali
+-b_gnatm.o : b_gnatm.c
+-
+ ADA_INCLUDE_DIR = $(libsubdir)/adainclude
+ ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
+
+@@ -2225,19 +2064,3 @@
+ .PHONY: risky-stage1 risky-stage2 risky-stage3 risky-stage4
+
+ force:
+-
+-# 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)
+-
+-../../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
+Index: gnattools/Makefile.in
+===================================================================
+--- gnattools/Makefile.in.orig 2007-07-05 10:19:48.000000000 +0200
++++ gnattools/Makefile.in 2008-01-29 12:16:44.696811771 +0100
+@@ -18,6 +18,8 @@
+ # Default target; must be first.
+ all: gnattools
+
++.SUFFIXES:
++
+ # Standard autoconf-set variables.
+ SHELL = @SHELL@
+ srcdir = @srcdir@
+@@ -32,112 +34,16 @@
+ LN_S=@LN_S@
+ target_noncanonical=@target_noncanonical@
+
+-# Variables for the user (or the top level) to override.
+-objext=.o
+-TRACE=no
+-ADA_FOR_BUILD=
+-ADA_FOR_TARGET=
+-LDFLAGS=
+-PWD_COMMAND = $${PWDCMD-pwd}
+-
+-# The tedious process of getting CFLAGS right.
+-CFLAGS=-g
+-LOOSE_WARN = -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
+-GCC_WARN_CFLAGS = $(LOOSE_WARN) $(NOCOMMON_FLAG)
+-
+-ADA_CFLAGS=
+-T_ADA_CFLAGS=
+-# HPPA is literally the only target which sets X_ADA_CFLAGS
+-X_ADA_CFLAGS=@x_ada_cflags@
+-ALL_ADA_CFLAGS=$(X_ADA_CFLAGS) $(T_ADA_CFLAGS) $(ADA_CFLAGS)
+-
+-# Variables for gnattools.
+-ADAFLAGS= -gnatpg -gnata
+-ADA_INCLUDE_DIR = $(libsubdir)/adainclude
+-ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
+-
+-# For finding the GCC build dir, which is used far too much
+-GCC_DIR=../gcc
+-# Include fragment generated by GCC configure; shared with libada for now.
+-include $(GCC_DIR)/libada-mk
+-# Variables based on those gleaned from the GCC makefile. :-P
+-libsubdir=$(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
+-
+-# Get possible host-specific override for libsubdir (ick).
+-xmake_file=$(subst /config,/../gcc/config,$(gcc_xmake_file))
+-ifneq ($(xmake_file),)
+-include $(xmake_file)
+-endif
+-
+-# Absolute srcdir for gcc/ada (why do we want absolute? I dunno)
+-fsrcdir := $(shell cd $(srcdir)/../gcc/ada/; ${PWD_COMMAND})
+-
+-# Useful "subroutines" for the excess includes
+-INCLUDES_FOR_SUBDIR = -I. -I.. -I../.. -I$(fsrcdir) -I$(fsrcdir)/../config \
+- -I$(fsrcdir)/../../include -I$(fsrcdir)/..
+-ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)
+-
+-# Variables for gnattools1, native
+-TOOLS_FLAGS_TO_PASS_1= \
+- "CC=../../xgcc -B../../" \
+- "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
+- "LDFLAGS=$(LDFLAGS)" \
+- "ADAFLAGS=$(ADAFLAGS)" \
+- "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
+- "ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\
+- "exeext=$(exeext)" \
+- "fsrcdir=$(fsrcdir)" \
+- "srcdir=$(fsrcdir)" \
+- "GNATBIND=../../gnatbind" \
+- "TOOLSCASE=native"
+-
+-# Variables for regnattools
+-TOOLS_FLAGS_TO_PASS_1re= \
+- "CC=../../xgcc -B../../" \
+- "CFLAGS=$(CFLAGS)" \
+- "ADAFLAGS=$(ADAFLAGS)" \
+- "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
+- "ADA_INCLUDES=-I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\
+- "exeext=$(exeext)" \
+- "fsrcdir=$(fsrcdir)" \
+- "srcdir=$(fsrcdir)" \
+- "GNATMAKE=../../gnatmake" \
+- "GNATLINK=../../gnatlink" \
+- "GNATBIND=../../gnatbind" \
+- "TOOLSCASE=cross" \
+- "INCLUDES="
+-
+-# Variables for gnattools2, native
+-TOOLS_FLAGS_TO_PASS_NATIVE= \
+- "CC=../../xgcc -B../../" \
+- "CFLAGS=$(CFLAGS)" \
+- "ADAFLAGS=$(ADAFLAGS)" \
+- "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
+- "ADA_INCLUDES=-I../rts $(ADA_INCLUDES_FOR_SUBDIR)" \
+- "exeext=$(exeext)" \
+- "fsrcdir=$(fsrcdir)" \
+- "srcdir=$(fsrcdir)" \
+- "GNATMAKE=../../gnatmake" \
+- "GNATLINK=../../gnatlink" \
+- "GNATBIND=../../gnatbind" \
+- "TOOLSCASE=native"
+-
+-# Variables for gnattools, cross
+-TOOLS_FLAGS_TO_PASS_CROSS= \
+- "CC=$(CC)" \
+- "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
+- "LDFLAGS=$(LDFLAGS)" \
+- "ADAFLAGS=$(ADAFLAGS)" \
+- "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
+- "ADA_INCLUDES=-I$(RTS_DIR)../adainclude -I$(RTS_DIR) $(ADA_INCLUDES_FOR_SUBDIR)" \
+- "exeext=$(exeext)" \
+- "fsrcdir=$(fsrcdir)" \
+- "srcdir=$(fsrcdir)" \
+- "GNATMAKE=gnatmake" \
+- "GNATLINK=gnatlink" \
+- "GNATBIND=gnatbind" \
+- "TOOLSCASE=cross" \
+- "LIBGNAT="
++CFLAGS=-O2 -Wall
++INCLUDES = -I@srcdir@/../gcc/ada -I@srcdir@/../gcc
++ADA_CFLAGS=-O2 -gnatn
++ADA_INCLUDES=-nostdinc -I- -I. -I../gcc/ada/rts -I@srcdir@/../gcc/ada
++LIB_VERSION=$(strip $(shell grep ' Library_Version :' \
++ @srcdir@/../gcc/ada/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/'))
++ADA_LIBS := -L../gcc/ada/rts -lgnat-$(LIB_VERSION)
++
++# We will use the just-built compiler to compile and link everything.
++GCC=../gcc/xgcc -B../gcc/
+
+ # File lists
+ # ----------
+@@ -146,17 +52,136 @@
+ EXTRA_GNATTOOLS = @EXTRA_GNATTOOLS@
+ TOOLS_TARGET_PAIRS = @TOOLS_TARGET_PAIRS@
+
+-# These are built by gnatmake, and in both native and cross configurations.
+-GNATTOOLS2_FILES = \
+- ../../gnatchop$(exeext) \
+- ../../gnat$(exeext) \
+- ../../gnatkr$(exeext) \
+- ../../gnatls$(exeext) \
+- ../../gnatprep$(exeext) \
+- ../../gnatxref$(exeext) \
+- ../../gnatfind$(exeext) \
+- ../../gnatname$(exeext) \
+- ../../gnatclean$(exeext)
++# Stage 1 builds xgcc and gnatbind; we can use them to build
++# gnatmake-static and gnatlink-static, then use gnatmake-static and
++# gnatlink-static to build the other tools. The reason we first build
++# statically-linked versions of gnatmake and gnatlink is so we can run
++# them with confidence on all build platforms, without LD_LIBRARY_PATH
++# or some such variable.
++
++# The tools we will build using gnatmake-static and gnatlink-static.
++TOOLS := gnat gnatbind gnatchop gnatclean gnatfind gnatkr gnatls gnatlink
++TOOLS += gnatmake gnatname gnatprep gnatxref gprmake
++
++# Since we don't have gnatmake, we must specify the full list of
++# object files necessary to build gnatmake and gnatlink.
++# TODO: remove from these lists the objects that are part of
++# libgnatvsn and libgnatprj.
++GNATLINK_OBJS = \
++ali.o \
++alloc.o \
++butil.o \
++casing.o \
++csets.o \
++debug.o \
++fmap.o \
++fname.o \
++gnatlink.o \
++gnatvsn.o \
++hostparm.o \
++indepsw.o \
++namet.o \
++opt.o \
++osint.o \
++output.o \
++prefix.o \
++rident.o \
++sdefault.o \
++snames.o \
++stylesw.o \
++switch.o \
++table.o \
++targparm.o \
++tree_io.o \
++types.o \
++validsw.o \
++version.o \
++widechar.o
++
++GNATMAKE_OBJS = \
++ali-util.o \
++ali.o \
++alloc.o \
++atree.o \
++binderr.o \
++butil.o \
++casing.o \
++csets.o \
++debug.o \
++einfo.o\
++elists.o \
++err_vars.o \
++erroutc.o \
++errutil.o \
++fmap.o \
++fname-sf.o \
++fname-uf.o \
++fname.o \
++gnatmake.o \
++gnatvsn.o \
++hostparm.o \
++krunch.o \
++lib.o \
++make.o \
++makeusg.o \
++makeutl.o \
++mlib-fil.o \
++mlib-prj.o \
++mlib-tgt.o \
++mlib-tgt-specific.o \
++mlib-utl.o \
++mlib.o \
++namet.o \
++nlists.o \
++opt.o \
++osint-m.o \
++osint.o \
++output.o \
++prefix.o \
++prj-attr-pm.o \
++prj-attr.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 \
++prj.o \
++rident.o \
++scans.o \
++scng.o \
++sdefault.o \
++sfn_scan.o \
++sinfo.o \
++sinput-c.o \
++sinput-p.o \
++sinput.o \
++snames.o \
++stand.o \
++stringt.o \
++styleg.o \
++stylesw.o \
++switch-m.o \
++switch.o \
++table.o \
++targparm.o \
++tempdir.o \
++tree_io.o \
++types.o \
++uintp.o \
++uname.o \
++urealp.o \
++usage.o \
++validsw.o \
++version.o \
++widechar.o \
++$(EXTRA_GNATMAKE_OBJS)
+
+ # Makefile targets
+ # ----------------
+@@ -164,126 +189,106 @@
+ .PHONY: gnattools gnattools-native gnattools-cross regnattools
+ gnattools: @default_gnattools_target@
+
+-# Sanity check
+-$(GCC_DIR)/stamp-gnatlib:
+- @if [ ! -f $(GCC_DIR)/stamp-gnatlib ] ; \
+- then \
+- echo "Cannot build gnattools while gnatlib is out of date or unbuilt" ; \
+- false; \
+- else \
+- true; \
+- fi
+-
+-
+ # Build directory for the tools. Let's copy the target-dependent
+ # sources using the same mechanism as for gnatlib. The other sources are
+-# accessed using the vpath directive in ada/Makefile.in
++# accessed using the vpath directive.
++
++stamp-gnattools-sources:
++ $(LN_S) ../gcc/ada/sdefault.adb .
++ $(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
++ rm -f $(word 1,$(subst <, ,$(PAIR)));\
++ $(LN_S) @srcdir@/../gcc/ada/$(word 2,$(subst <, ,$(PAIR))) \
++ $(word 1,$(subst <, ,$(PAIR)));)
++ touch $@
++
++gnattools-native: ../gcc/ada/rts/libgnat-$(LIB_VERSION).so
++gnattools-native: stamp-gnattools-sources
++gnattools-native: $(TOOLS) gnatbl
++
++$(TOOLS) gnatcmd: | gnatmake-static gnatlink-static
++
++vpath %.c @srcdir@/../gcc/ada:@srcdir@/../gcc
++vpath %.h @srcdir@/../gcc/ada
++vpath %.adb .:@srcdir@/../gcc/ada
++vpath %.ads @srcdir@/../gcc/ada
++
++# Because the just-built gcc is a host tool like us, we can use some
++# of its object files, e.g. prefix.o and version.o.
++vpath prefix.o ../gcc
++vpath version.o ../gcc
++
++# gnatlink
++
++gnatlink-static: $(GNATLINK_OBJS) b_gnatl.o link.o
++ $(GCC) -o $@ $^ \
++ ../gcc/ada/rts/libgnat.a \
++ ../libiberty/libiberty.a
++
++gnatlink: $(GNATLINK_OBJS) b_gnatl.o link.o
++ $(GCC) -o $@ $^ $(ADA_LIBS) ../libiberty/libiberty.a
++
++b_gnatl.o: b_gnatl.c adaint.h
++ $(GCC) -c -o $@ $(CFLAGS) $<
++
++b_gnatl.c: $(GNATLINK_OBJS)
++ ../gcc/gnatbind -C -o $@ $(ADA_INCLUDES) gnatlink.ali
++
++# gnatmake
++
++gnatmake-static: $(GNATMAKE_OBJS) b_gnatm.o link.o
++ $(GCC) -o $@ $(ADA_CFLAGS) $^ \
++ ../gcc/ada/rts/libgnat.a \
++ ../libiberty/libiberty.a
++
++gnatmake: $(GNATMAKE_OBJS) b_gnatm.o link.o
++ $(GCC) -o $@ $(ADA_CFLAGS) $^ $(ADA_LIBS) ../libiberty/libiberty.a
++
++b_gnatm.o: b_gnatm.c adaint.h
++ $(GCC) -c -o $@ $(CFLAGS) $<
++
++b_gnatm.c: $(GNATMAKE_OBJS) adaint.h
++ ../gcc/gnatbind -C -o $@ $(ADA_INCLUDES) gnatmake.ali
++
++# Other tools
++gnatkr: version.o
++ ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \
++ --GCC="$(GCC)" \
++ --GNATBIND=../gcc/gnatbind
++ ./gnatlink-static -o $@ $@.ali $^ $(ADA_INCLUDES) $(ADA_LIBS) \
++ --GCC="$(GCC) $(ADA_INCLUDES)"
++
++gnat: gnatcmd
++ cp -lp $< $@
++
++gnatbind gnatchop gnatclean gnatcmd gnatfind gnatls gnatname gnatprep gnatxref gprmake: \
++link.o version.o prefix.o
++ ./gnatmake-static -c -b $@ $(ADA_CFLAGS) $(ADA_INCLUDES) \
++ --GCC="$(GCC)" \
++ --GNATBIND=../gcc/gnatbind
++ ./gnatlink-static -o $@ $@.ali $^ $(ADA_INCLUDES) $(ADA_LIBS) \
++ ../libiberty/libiberty.a \
++ --GCC="$(GCC) $(ADA_INCLUDES)"
++
++gnatbl: gnatbl.c link.o version.o prefix.o
++ $(GCC) -o $@ $< $(CFLAGS) \
++ -I../gcc -I@srcdir@/../gcc/config -I@srcdir@/../gcc \
++ -I@srcdir@/../include \
++ $(filter-out %.c,$^) \
++ $(ADA_LIBS) ../libiberty/libiberty.a
++
++# Force compiling sdefault.adb, not .ads, to produce sdefault.o
++sdefault.o: sdefault.adb
++
++sdefault.adb: stamp-gnattools-sources
++
++%.o: %.adb
++ $(GCC) -c -o $@ $< $(ADA_CFLAGS) $(ADA_INCLUDES)
++
++%.o: %.ads
++ $(GCC) -c -o $@ $< $(ADA_CFLAGS) $(ADA_INCLUDES)
+
+-$(GCC_DIR)/stamp-tools:
+- -rm -rf $(GCC_DIR)/ada/tools
+- -mkdir -p $(GCC_DIR)/ada/tools
+- -(cd $(GCC_DIR)/ada/tools; $(LN_S) ../sdefault.adb .)
+- -$(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
+- rm -f $(GCC_DIR)/ada/tools/$(word 1,$(subst <, ,$(PAIR)));\
+- $(LN_S) $(fsrcdir)/$(word 2,$(subst <, ,$(PAIR))) \
+- $(GCC_DIR)/ada/tools/$(word 1,$(subst <, ,$(PAIR)));)
+- touch $(GCC_DIR)/stamp-tools
+-
+-# gnatmake/link tools cannot always be built with gnatmake/link for bootstrap
+-# reasons: gnatmake should be built with a recent compiler, a recent compiler
+-# may not generate ALI files compatible with an old gnatmake so it is important
+-# to be able to build gnatmake without a version of gnatmake around. Once
+-# everything has been compiled once, gnatmake can be recompiled with itself
+-# (see target regnattools)
+-gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib
+- # gnattools1
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_1) \
+- ../../gnatmake$(exeext) ../../gnatlink$(exeext) ../../gnatbl$(exeext)
+- # gnattools2
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_NATIVE) \
+- $(GNATTOOLS2_FILES)
+-
+-# gnatmake/link can be built with recent gnatmake/link if they are available.
+-# This is especially convenient for building cross tools or for rebuilding
+-# the tools when the original bootstrap has already be done.
+-regnattools: $(GCC_DIR)/stamp-gnatlib
+- # gnattools1-re
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_1re) \
+- gnatmake-re gnatlink-re
+- # gnattools2
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_NATIVE) \
+- $(GNATTOOLS2_FILES)
+-
+-# For cross builds of gnattools,
+-# put the host RTS dir first in the PATH to hide the default runtime
+-# files that are among the sources
+-# FIXME: This should be done in configure.
+-RTS_DIR:=$(strip $(subst \,/,$(shell gnatls -v | grep adalib )))
+-gnattools-cross: $(GCC_DIR)/stamp-tools
+- # gnattools1-re
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_CROSS) INCLUDES="" \
+- gnatmake-re gnatlink-re
+- # gnattools2
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_CROSS) \
+- $(GNATTOOLS2_FILES)
+- # gnattools4 (cross only)
+- $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
+- $(TOOLS_FLAGS_TO_PASS_CROSS) \
+- top_buildir=../../.. \
+- ../../vxaddr2line$(exeext)
+- # Rename cross tools to where the GCC makefile wants them when
+- # installing. FIXME: installation should be done elsewhere.
+- if [ -f $(GCC_DIR)/gnatbind$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatbind$(exeext) $(GCC_DIR)/gnatbind-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatbl$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatbl$(exeext) $(GCC_DIR)/gnatbl-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatchop$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatchop$(exeext) $(GCC_DIR)/gnatchop-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnat$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnat$(exeext) $(GCC_DIR)/gnat-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatkr$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatkr$(exeext) $(GCC_DIR)/gnatkr-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatlink$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatlink$(exeext) $(GCC_DIR)/gnatlink-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatls$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatls$(exeext) $(GCC_DIR)/gnatls-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatmake$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatmake$(exeext) $(GCC_DIR)/gnatmake-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatmem$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatmem$(exeext) $(GCC_DIR)/gnatmem-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatname$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatname$(exeext) $(GCC_DIR)/gnatname-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatprep$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatprep$(exeext) $(GCC_DIR)/gnatprep-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatxref$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatxref$(exeext) $(GCC_DIR)/gnatxref-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatfind$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatfind$(exeext) $(GCC_DIR)/gnatfind-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatclean$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatclean$(exeext) $(GCC_DIR)/gnatclean-cross$(exeext); \
+- fi
+- if [ -f $(GCC_DIR)/gnatsym$(exeext) ] ; then \
+- mv $(GCC_DIR)/gnatsym$(exeext) $(GCC_DIR)/gnatsym-cross$(exeext); \
+- fi
++%.o: %.c
++ $(GCC) -c -o $@ $< $(CFLAGS) $(INCLUDES)
+
+ # Other
+ # -----
+@@ -311,6 +316,7 @@
+
+ # Installation rules.
+ install:
++ $(INSTALL) -s gnatmake gnatlink $(TOOLS) gnatbl $(DESTDIR)$(bindir)
+
+ install-info:
+
+@@ -320,8 +326,10 @@
+
+ # Cleaning rules.
+ mostlyclean:
++ $(RM) gnatmake gnatlink $(TOOLS) gnatbl *.o *.ali
+
+ clean:
++ $(RM) *.ads *.adb stamp-gnattools-sources
+
+ distclean:
+ $(RM) Makefile config.status config.log
+Index: libada/Makefile.in
+===================================================================
+--- libada/Makefile.in.orig 2007-03-04 01:29:34.000000000 +0100
++++ libada/Makefile.in 2008-01-29 12:16:44.696811771 +0100
+@@ -49,7 +49,7 @@
+
+ # For finding the GCC build dir, which is used far too much
+ host_subdir = @host_subdir@
+-GCC_DIR=../../$(host_subdir)/gcc
++GCC_DIR=../$(host_subdir)/gcc
+ # Include fragment generated by GCC configure.
+ include $(GCC_DIR)/libada-mk
+
+Index: Makefile.def
+===================================================================
+--- Makefile.def.orig 2007-11-21 12:21:09.000000000 +0100
++++ Makefile.def 2008-01-29 12:16:44.696811771 +0100
+@@ -116,7 +116,20 @@
+ missing=distclean;
+ missing=maintainer-clean; };
+ host_modules= { module= utils; no_check=true; };
+-host_modules= { module= gnattools; };
++host_modules= { module= libada; no_install=true; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
++host_modules= { module= gnattools; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+
+ target_modules = { module= libstdc++-v3; lib_path=.libs; raw_cxx=true; };
+ target_modules = { module= libmudflap; lib_path=.libs; };
+@@ -141,7 +154,13 @@
+ target_modules = { module= boehm-gc; };
+ target_modules = { module= qthreads; };
+ target_modules = { module= rda; };
+-target_modules = { module= libada; };
++target_modules = { module= libada; no_install=true; no_check=true;
++ missing= info;
++ missing= dvi;
++ missing= html;
++ missing= TAGS;
++ missing= install-info;
++ missing= installcheck; };
+ target_modules = { module= libgomp; lib_path=.libs; };
+
+ // These are (some of) the make targets to be done in each subdirectory.
+@@ -311,7 +330,7 @@
+
+ dependencies = { module=all-fixincludes; on=all-libiberty; };
+
+-dependencies = { module=all-gnattools; on=all-target-libada; };
++dependencies = { module=all-gnattools; on=all-libada; };
+
+ dependencies = { module=configure-mpfr; on=all-gmp; };
+
+Index: Makefile.in
+===================================================================
+--- Makefile.in.orig 2008-01-13 22:19:42.000000000 +0100
++++ Makefile.in 2008-01-29 12:16:44.740811997 +0100
+@@ -699,6 +699,7 @@
+ maybe-configure-tk \
+ maybe-configure-libtermcap \
+ maybe-configure-utils \
++ maybe-configure-libada \
+ maybe-configure-gnattools
+ .PHONY: configure-target
+ configure-target: \
+@@ -849,6 +850,7 @@
+ all-host: maybe-all-tk
+ all-host: maybe-all-libtermcap
+ all-host: maybe-all-utils
++all-host: maybe-all-libada
+ all-host: maybe-all-gnattools
+
+ .PHONY: all-target
+@@ -962,6 +964,7 @@
+ info-host: maybe-info-tk
+ info-host: maybe-info-libtermcap
+ info-host: maybe-info-utils
++info-host: maybe-info-libada
+ info-host: maybe-info-gnattools
+
+ .PHONY: info-target
+@@ -1068,6 +1071,7 @@
+ dvi-host: maybe-dvi-tk
+ dvi-host: maybe-dvi-libtermcap
+ dvi-host: maybe-dvi-utils
++dvi-host: maybe-dvi-libada
+ dvi-host: maybe-dvi-gnattools
+
+ .PHONY: dvi-target
+@@ -1174,6 +1178,7 @@
+ pdf-host: maybe-pdf-tk
+ pdf-host: maybe-pdf-libtermcap
+ pdf-host: maybe-pdf-utils
++pdf-host: maybe-pdf-libada
+ pdf-host: maybe-pdf-gnattools
+
+ .PHONY: pdf-target
+@@ -1280,6 +1285,7 @@
+ html-host: maybe-html-tk
+ html-host: maybe-html-libtermcap
+ html-host: maybe-html-utils
++html-host: maybe-html-libada
+ html-host: maybe-html-gnattools
+
+ .PHONY: html-target
+@@ -1386,6 +1392,7 @@
+ TAGS-host: maybe-TAGS-tk
+ TAGS-host: maybe-TAGS-libtermcap
+ TAGS-host: maybe-TAGS-utils
++TAGS-host: maybe-TAGS-libada
+ TAGS-host: maybe-TAGS-gnattools
+
+ .PHONY: TAGS-target
+@@ -1492,6 +1499,7 @@
+ install-info-host: maybe-install-info-tk
+ install-info-host: maybe-install-info-libtermcap
+ install-info-host: maybe-install-info-utils
++install-info-host: maybe-install-info-libada
+ install-info-host: maybe-install-info-gnattools
+
+ .PHONY: install-info-target
+@@ -1598,6 +1606,7 @@
+ install-pdf-host: maybe-install-pdf-tk
+ install-pdf-host: maybe-install-pdf-libtermcap
+ install-pdf-host: maybe-install-pdf-utils
++install-pdf-host: maybe-install-pdf-libada
+ install-pdf-host: maybe-install-pdf-gnattools
+
+ .PHONY: install-pdf-target
+@@ -1704,6 +1713,7 @@
+ install-html-host: maybe-install-html-tk
+ install-html-host: maybe-install-html-libtermcap
+ install-html-host: maybe-install-html-utils
++install-html-host: maybe-install-html-libada
+ install-html-host: maybe-install-html-gnattools
+
+ .PHONY: install-html-target
+@@ -1810,6 +1820,7 @@
+ installcheck-host: maybe-installcheck-tk
+ installcheck-host: maybe-installcheck-libtermcap
+ installcheck-host: maybe-installcheck-utils
++installcheck-host: maybe-installcheck-libada
+ installcheck-host: maybe-installcheck-gnattools
+
+ .PHONY: installcheck-target
+@@ -1916,6 +1927,7 @@
+ mostlyclean-host: maybe-mostlyclean-tk
+ mostlyclean-host: maybe-mostlyclean-libtermcap
+ mostlyclean-host: maybe-mostlyclean-utils
++mostlyclean-host: maybe-mostlyclean-libada
+ mostlyclean-host: maybe-mostlyclean-gnattools
+
+ .PHONY: mostlyclean-target
+@@ -2022,6 +2034,7 @@
+ clean-host: maybe-clean-tk
+ clean-host: maybe-clean-libtermcap
+ clean-host: maybe-clean-utils
++clean-host: maybe-clean-libada
+ clean-host: maybe-clean-gnattools
+
+ .PHONY: clean-target
+@@ -2128,6 +2141,7 @@
+ distclean-host: maybe-distclean-tk
+ distclean-host: maybe-distclean-libtermcap
+ distclean-host: maybe-distclean-utils
++distclean-host: maybe-distclean-libada
+ distclean-host: maybe-distclean-gnattools
+
+ .PHONY: distclean-target
+@@ -2234,6 +2248,7 @@
+ maintainer-clean-host: maybe-maintainer-clean-tk
+ maintainer-clean-host: maybe-maintainer-clean-libtermcap
+ maintainer-clean-host: maybe-maintainer-clean-utils
++maintainer-clean-host: maybe-maintainer-clean-libada
+ maintainer-clean-host: maybe-maintainer-clean-gnattools
+
+ .PHONY: maintainer-clean-target
+@@ -2394,6 +2409,7 @@
+ maybe-check-tk \
+ maybe-check-libtermcap \
+ maybe-check-utils \
++ maybe-check-libada \
+ maybe-check-gnattools
+
+ .PHONY: check-target
+@@ -2526,6 +2542,7 @@
+ maybe-install-tk \
+ maybe-install-libtermcap \
+ maybe-install-utils \
++ maybe-install-libada \
+ maybe-install-gnattools
+
+ .PHONY: install-host
+@@ -2599,6 +2616,7 @@
+ maybe-install-tk \
+ maybe-install-libtermcap \
+ maybe-install-utils \
++ maybe-install-libada \
+ maybe-install-gnattools
+
+ .PHONY: install-target
+@@ -38875,6 +38893,321 @@
+
+
+
++.PHONY: configure-libada maybe-configure-libada
++maybe-configure-libada:
++@if gcc-bootstrap
++configure-libada: stage_current
++@endif gcc-bootstrap
++@if libada
++maybe-configure-libada: configure-libada
++configure-libada:
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ test ! -f $(HOST_SUBDIR)/libada/Makefile || exit 0; \
++ $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libada ; \
++ $(HOST_EXPORTS) \
++ echo Configuring in $(HOST_SUBDIR)/libada; \
++ cd "$(HOST_SUBDIR)/libada" || exit 1; \
++ case $(srcdir) in \
++ /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
++ *) topdir=`echo $(HOST_SUBDIR)/libada/ | \
++ sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
++ esac; \
++ srcdiroption="--srcdir=$${topdir}/libada"; \
++ libsrcdir="$$s/libada"; \
++ $(SHELL) $${libsrcdir}/configure \
++ $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
++ --target=${target_alias} $${srcdiroption} \
++ || exit 1
++@endif libada
++
++
++
++
++
++.PHONY: all-libada maybe-all-libada
++maybe-all-libada:
++@if gcc-bootstrap
++all-libada: stage_current
++@endif gcc-bootstrap
++@if libada
++TARGET-libada=all
++maybe-all-libada: all-libada
++all-libada: configure-libada
++ @: $(MAKE); $(unstage)
++ @r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(FLAGS_TO_PASS) $(TARGET-libada))
++@endif libada
++
++
++
++
++.PHONY: check-libada maybe-check-libada
++maybe-check-libada:
++@if libada
++maybe-check-libada: check-libada
++
++check-libada:
++
++@endif libada
++
++.PHONY: install-libada maybe-install-libada
++maybe-install-libada:
++@if libada
++maybe-install-libada: install-libada
++
++install-libada:
++
++@endif libada
++
++# Other targets (info, dvi, pdf, etc.)
++
++.PHONY: maybe-info-libada info-libada
++maybe-info-libada:
++@if libada
++maybe-info-libada: info-libada
++
++# libada doesn't support info.
++info-libada:
++
++@endif libada
++
++.PHONY: maybe-dvi-libada dvi-libada
++maybe-dvi-libada:
++@if libada
++maybe-dvi-libada: dvi-libada
++
++# libada doesn't support dvi.
++dvi-libada:
++
++@endif libada
++
++.PHONY: maybe-pdf-libada pdf-libada
++maybe-pdf-libada:
++@if libada
++maybe-pdf-libada: pdf-libada
++
++pdf-libada: \
++ configure-libada
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing pdf in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ pdf) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-html-libada html-libada
++maybe-html-libada:
++@if libada
++maybe-html-libada: html-libada
++
++# libada doesn't support html.
++html-libada:
++
++@endif libada
++
++.PHONY: maybe-TAGS-libada TAGS-libada
++maybe-TAGS-libada:
++@if libada
++maybe-TAGS-libada: TAGS-libada
++
++# libada doesn't support TAGS.
++TAGS-libada:
++
++@endif libada
++
++.PHONY: maybe-install-info-libada install-info-libada
++maybe-install-info-libada:
++@if libada
++maybe-install-info-libada: install-info-libada
++
++# libada doesn't support install-info.
++install-info-libada:
++
++@endif libada
++
++.PHONY: maybe-install-pdf-libada install-pdf-libada
++maybe-install-pdf-libada:
++@if libada
++maybe-install-pdf-libada: install-pdf-libada
++
++install-pdf-libada: \
++ configure-libada \
++ pdf-libada
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing install-pdf in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-pdf) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-install-html-libada install-html-libada
++maybe-install-html-libada:
++@if libada
++maybe-install-html-libada: install-html-libada
++
++install-html-libada: \
++ configure-libada \
++ html-libada
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing install-html in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ install-html) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-installcheck-libada installcheck-libada
++maybe-installcheck-libada:
++@if libada
++maybe-installcheck-libada: installcheck-libada
++
++# libada doesn't support installcheck.
++installcheck-libada:
++
++@endif libada
++
++.PHONY: maybe-mostlyclean-libada mostlyclean-libada
++maybe-mostlyclean-libada:
++@if libada
++maybe-mostlyclean-libada: mostlyclean-libada
++
++mostlyclean-libada:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing mostlyclean in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ mostlyclean) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-clean-libada clean-libada
++maybe-clean-libada:
++@if libada
++maybe-clean-libada: clean-libada
++
++clean-libada:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing clean in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ clean) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-distclean-libada distclean-libada
++maybe-distclean-libada:
++@if libada
++maybe-distclean-libada: distclean-libada
++
++distclean-libada:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing distclean in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ distclean) \
++ || exit 1
++
++@endif libada
++
++.PHONY: maybe-maintainer-clean-libada maintainer-clean-libada
++maybe-maintainer-clean-libada:
++@if libada
++maybe-maintainer-clean-libada: maintainer-clean-libada
++
++maintainer-clean-libada:
++ @: $(MAKE); $(unstage)
++ @[ -f ./libada/Makefile ] || exit 0; \
++ r=`${PWD_COMMAND}`; export r; \
++ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
++ $(HOST_EXPORTS) \
++ for flag in $(EXTRA_HOST_FLAGS) ; do \
++ eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
++ done; \
++ echo "Doing maintainer-clean in libada" ; \
++ (cd $(HOST_SUBDIR)/libada && \
++ $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
++ "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
++ "RANLIB=$${RANLIB}" \
++ "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
++ maintainer-clean) \
++ || exit 1
++
++@endif libada
++
++
++
+ .PHONY: configure-gnattools maybe-configure-gnattools
+ maybe-configure-gnattools:
+ @if gcc-bootstrap
+@@ -38934,12 +39267,6 @@
+ maybe-check-gnattools: check-gnattools
+
+ check-gnattools:
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(FLAGS_TO_PASS) check)
+
+ @endif gnattools
+
+@@ -38965,24 +39292,8 @@
+ @if gnattools
+ maybe-info-gnattools: info-gnattools
+
+-info-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing info in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- info) \
+- || exit 1
++# gnattools doesn't support info.
++info-gnattools:
+
+ @endif gnattools
+
+@@ -38991,24 +39302,8 @@
+ @if gnattools
+ maybe-dvi-gnattools: dvi-gnattools
+
+-dvi-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing dvi in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- dvi) \
+- || exit 1
++# gnattools doesn't support dvi.
++dvi-gnattools:
+
+ @endif gnattools
+
+@@ -39043,24 +39338,8 @@
+ @if gnattools
+ maybe-html-gnattools: html-gnattools
+
+-html-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing html in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- html) \
+- || exit 1
++# gnattools doesn't support html.
++html-gnattools:
+
+ @endif gnattools
+
+@@ -39069,24 +39348,8 @@
+ @if gnattools
+ maybe-TAGS-gnattools: TAGS-gnattools
+
+-TAGS-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing TAGS in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- TAGS) \
+- || exit 1
++# gnattools doesn't support TAGS.
++TAGS-gnattools:
+
+ @endif gnattools
+
+@@ -39095,25 +39358,8 @@
+ @if gnattools
+ maybe-install-info-gnattools: install-info-gnattools
+
+-install-info-gnattools: \
+- configure-gnattools \
+- info-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing install-info in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- install-info) \
+- || exit 1
++# gnattools doesn't support install-info.
++install-info-gnattools:
+
+ @endif gnattools
+
+@@ -39176,24 +39422,8 @@
+ @if gnattools
+ maybe-installcheck-gnattools: installcheck-gnattools
+
+-installcheck-gnattools: \
+- configure-gnattools
+- @: $(MAKE); $(unstage)
+- @[ -f ./gnattools/Makefile ] || exit 0; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(HOST_EXPORTS) \
+- for flag in $(EXTRA_HOST_FLAGS) ; do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- echo "Doing installcheck in gnattools" ; \
+- (cd $(HOST_SUBDIR)/gnattools && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- installcheck) \
+- || exit 1
++# gnattools doesn't support installcheck.
++installcheck-gnattools:
+
+ @endif gnattools
+
+@@ -48296,13 +48526,8 @@
+ @if target-libada
+ maybe-check-target-libada: check-target-libada
+
++# Dummy target for uncheckable module.
+ check-target-libada:
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+
+ @endif target-libada
+
+@@ -48311,13 +48536,8 @@
+ @if target-libada
+ maybe-install-target-libada: install-target-libada
+
+-install-target-libada: installdirs
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
++# Dummy target for uninstallable.
++install-target-libada:
+
+ @endif target-libada
+
+@@ -48328,24 +48548,8 @@
+ @if target-libada
+ maybe-info-target-libada: info-target-libada
+
+-info-target-libada: \
+- configure-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing info in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- info) \
+- || exit 1
++# libada doesn't support info.
++info-target-libada:
+
+ @endif target-libada
+
+@@ -48354,24 +48558,8 @@
+ @if target-libada
+ maybe-dvi-target-libada: dvi-target-libada
+
+-dvi-target-libada: \
+- configure-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing dvi in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- dvi) \
+- || exit 1
++# libada doesn't support dvi.
++dvi-target-libada:
+
+ @endif target-libada
+
+@@ -48406,24 +48594,8 @@
+ @if target-libada
+ maybe-html-target-libada: html-target-libada
+
+-html-target-libada: \
+- configure-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing html in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- html) \
+- || exit 1
++# libada doesn't support html.
++html-target-libada:
+
+ @endif target-libada
+
+@@ -48432,24 +48604,8 @@
+ @if target-libada
+ maybe-TAGS-target-libada: TAGS-target-libada
+
+-TAGS-target-libada: \
+- configure-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing TAGS in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- TAGS) \
+- || exit 1
++# libada doesn't support TAGS.
++TAGS-target-libada:
+
+ @endif target-libada
+
+@@ -48458,25 +48614,8 @@
+ @if target-libada
+ maybe-install-info-target-libada: install-info-target-libada
+
+-install-info-target-libada: \
+- configure-target-libada \
+- info-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing install-info in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- install-info) \
+- || exit 1
++# libada doesn't support install-info.
++install-info-target-libada:
+
+ @endif target-libada
+
+@@ -48539,24 +48678,8 @@
+ @if target-libada
+ maybe-installcheck-target-libada: installcheck-target-libada
+
+-installcheck-target-libada: \
+- configure-target-libada
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing installcheck in $(TARGET_SUBDIR)/libada" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libada && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" "WINDMC=$${WINDMC}" \
+- installcheck) \
+- || exit 1
++# libada doesn't support installcheck.
++installcheck-target-libada:
+
+ @endif target-libada
+
+@@ -51490,7 +51613,7 @@
+ all-stageprofile-libcpp: maybe-all-stageprofile-intl
+ all-stagefeedback-libcpp: maybe-all-stagefeedback-intl
+ all-fixincludes: maybe-all-libiberty
+-all-gnattools: maybe-all-target-libada
++all-gnattools: maybe-all-libada
+ configure-mpfr: maybe-all-gmp
+
+ configure-stage1-mpfr: maybe-all-stage1-gmp
+Index: configure.ac
+===================================================================
+--- configure.ac.orig 2008-01-29 12:10:06.002765243 +0100
++++ configure.ac 2008-01-29 12:16:44.744812017 +0100
+@@ -155,7 +155,7 @@
+
+ # these libraries are used by various programs built for the host environment
+ #
+-host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr"
++host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr libada"
+
+ # these tools are built for the host environment
+ # Note, the powerpc-eabi build depends on sim occurring before gdb in order to
+@@ -263,7 +263,7 @@
+
+ # Similarly, some are only suitable for cross toolchains.
+ # Remove these if host=target.
+-cross_only="target-libgloss target-newlib target-opcodes"
++cross_only="target-libgloss target-newlib target-opcodes target-libada"
+
+ case $is_cross_compiler in
+ no) skipdirs="${skipdirs} ${cross_only}" ;;