re PR ada/55946 (wrong tools used for build of gnattools [native-cross])
authorEric Botcazou <ebotcazou@adacore.com>
Thu, 12 Dec 2013 22:50:07 +0000 (22:50 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Thu, 12 Dec 2013 22:50:07 +0000 (22:50 +0000)
PR ada/55946
gnattools/
* Makefile.in (host): Define.
(host_alias): Likewise.
(TOOLS_FLAGS_TO_PASS_RE): Add LDFLAGS.
(GNATMAKE_FOR_HOST): Define.
(GNATLINK_FOR_HOST): Likewise.
(GNATBIND_FOR_HOST): Likewise.
(GNATLS_FOR_HOST): Likewise.
(RTS_DIR): Move around and use GNATLS_FOR_HOST.
(TOOLS_FLAGS_TO_PASS_CROSS): Use the other *_HOST variables.
gcc/ada/
* gcc-interface/Make-lang.in (ada/doctools/xgnatugn): Use gnatmake.
* gcc-interface/Makefile.in (GCC_LINK): Add LDFLAGS.
(../../gnatmake): Remove LDFLAGS.
(../../gnatlink): Likewise.

Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
From-SVN: r205945

gcc/ada/ChangeLog
gcc/ada/gcc-interface/Make-lang.in
gcc/ada/gcc-interface/Makefile.in
gnattools/ChangeLog
gnattools/Makefile.in

index 9e61ecb9019398e263b6f53369c8ca7f498d9c79..1daf1e4329d7fc851ea7e013a08eb7fc3aaaa604 100644 (file)
@@ -1,3 +1,12 @@
+2013-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+           Iain Sandoe <iain@codesourcery.com>
+
+       PR ada/55946
+       * gcc-interface/Make-lang.in (ada/doctools/xgnatugn): Use gnatmake.
+       * gcc-interface/Makefile.in (GCC_LINK): Add LDFLAGS.
+       (../../gnatmake): Remove LDFLAGS.
+       (../../gnatlink): Likewise.
+
 2013-12-04  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR ada/59382
index cd3676f9447da45d0c3f115aca308f08be51c3d5..8c87b2bba26dd5c2c59a7d2531afa7dadeadbdd3 100644 (file)
@@ -658,7 +658,7 @@ ada.tags: force
 ada/doctools/xgnatugn$(build_exeext): ada/xgnatugn.adb
        -$(MKDIR) ada/doctools
        $(CP) $^ ada/doctools
-       cd ada/doctools && $(GNATMAKE) -q xgnatugn
+       cd ada/doctools && gnatmake -q xgnatugn
 
 # Note that doc/gnat_ugn.texi and doc/projects.texi do not depend on
 # xgnatugn being built so we can distribute a pregenerated doc/gnat_ugn.info
index 885a5edce89f43c1fcd53498279041a6f55a5810..fc84f09628d2f4f542ba0b8ffdd69b3579350bcd 100644 (file)
@@ -2415,7 +2415,7 @@ TOOLS_FLAGS_TO_PASS=              \
        "GNATLINK=$(GNATLINK)"  \
        "GNATBIND=$(GNATBIND)"
 
-GCC_LINK=$(CXX) $(GCC_LINK_FLAGS) $(ADA_INCLUDES)
+GCC_LINK=$(CXX) $(GCC_LINK_FLAGS) $(ADA_INCLUDES) $(LDFLAGS)
 
 # Build directory for the tools. Let's copy the target-dependent
 # sources using the same mechanism as for gnatlib. The other sources are
@@ -2537,12 +2537,10 @@ gnatlink-re: ../stamp-tools gnatmake-re
 
 # Likewise for the tools
 ../../gnatmake$(exeext): $(P) b_gnatm.o $(GNATMAKE_OBJS)
-       +$(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \
-                   $(TOOLS_LIBS)
+       +$(GCC_LINK) $(ALL_CFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) $(TOOLS_LIBS)
 
 ../../gnatlink$(exeext): $(P) b_gnatl.o $(GNATLINK_OBJS)
-       +$(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \
-                   $(TOOLS_LIBS)
+       +$(GCC_LINK) $(ALL_CFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) $(TOOLS_LIBS)
 
 ../stamp-gnatlib-$(RTSDIR):
        @if [ ! -f stamp-gnatlib-$(RTSDIR) ] ; \
index 98f528a4cd5e684c264d912c5789cde1ac67666b..a2dbb2f21ab7587b8b6e39a8730ed56c5b1e0afd 100644 (file)
@@ -1,3 +1,17 @@
+2013-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+           Iain Sandoe <iain@codesourcery.com>
+
+       PR ada/55946
+       * Makefile.in (host): Define.
+       (host_alias): Likewise.
+       (TOOLS_FLAGS_TO_PASS_RE): Add LDFLAGS.
+       (GNATMAKE_FOR_HOST): Define.
+       (GNATLINK_FOR_HOST): Likewise.
+       (GNATBIND_FOR_HOST): Likewise.
+       (GNATLS_FOR_HOST): Likewise.
+       (RTS_DIR): Move around and use GNATLS_FOR_HOST.
+       (TOOLS_FLAGS_TO_PASS_CROSS): Use the other *_HOST variables.
+
 2013-12-04  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR ada/59382
index fdd649194df21de1733a0f34924f13a59e2431e5..4ec7afd5dd87a66dcf10ff55aeb42dd762025727 100644 (file)
@@ -24,6 +24,8 @@ srcdir = @srcdir@
 libdir = @libdir@
 build = @build@
 target = @target@
+host = @host@
+host_alias = @host_alias@
 prefix = @prefix@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -92,6 +94,7 @@ TOOLS_FLAGS_TO_PASS_RE= \
        "CC=../../xgcc -B../../" \
        "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
        "CFLAGS=$(CFLAGS)" \
+       "LDFLAGS=$(LDFLAGS)" \
        "ADAFLAGS=$(ADAFLAGS)" \
        "ADA_CFLAGS=$(ADA_CFLAGS)" \
        "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
@@ -105,6 +108,22 @@ TOOLS_FLAGS_TO_PASS_RE= \
        "TOOLSCASE=cross"
 
 # Variables for gnattools, cross
+ifeq ($(build), $(host))
+  GNATMAKE_FOR_HOST=gnatmake
+  GNATLINK_FOR_HOST=gnatlink
+  GNATBIND_FOR_HOST=gnatbind
+  GNATLS_FOR_HOST=gnatls
+else
+  GNATMAKE_FOR_HOST=$(host_alias)-gnatmake
+  GNATLINK_FOR_HOST=$(host_alias)-gnatlink
+  GNATBIND_FOR_HOST=$(host_alias)-gnatbind
+  GNATLS_FOR_HOST=$(host_alias)-gnatls
+endif
+
+# Put the host RTS dir first in the PATH to hide the default runtime
+# files that are among the sources
+RTS_DIR:=$(strip $(subst \,/,$(shell $(GNATLS_FOR_HOST) -v | grep adalib )))
+
 TOOLS_FLAGS_TO_PASS_CROSS= \
        "CC=$(CC)" \
        "CXX=$(CXX)" \
@@ -117,9 +136,9 @@ TOOLS_FLAGS_TO_PASS_CROSS= \
        "exeext=$(exeext)" \
        "fsrcdir=$(fsrcdir)" \
        "srcdir=$(fsrcdir)" \
-       "GNATMAKE=gnatmake" \
-       "GNATLINK=gnatlink" \
-       "GNATBIND=gnatbind" \
+       "GNATMAKE=$(GNATMAKE_FOR_HOST)" \
+       "GNATLINK=$(GNATLINK_FOR_HOST)" \
+       "GNATBIND=$(GNATBIND_FOR_HOST)" \
        "TOOLSCASE=cross" \
        "LIBGNAT="
 
@@ -188,11 +207,6 @@ regnattools: $(GCC_DIR)/stamp-gnatlib-rts
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
          $(TOOLS_FLAGS_TO_PASS_NATIVE) common-tools
 
-# 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 \