configure.ac: Split CHECKING_P into CHECKING_P and ENABLE_EXTRA_CHECKING.
[gcc.git] / gnattools / Makefile.in
index 46da2df8ba70dbc1cf556cc10fc99ec644c8a239..b0860eaf96d9288893ccdec2bb7d9044ade32fd7 100644 (file)
@@ -1,9 +1,9 @@
 # Makefile for gnattools
-#   Copyright 2003, 2004 Free Software Foundation, Inc.
+#   Copyright 2003, 2004, 2009, 2010 Free Software Foundation, Inc.
 #
 # This file 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 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
 # (at your option) any later version.
 # 
 # This program is distributed in the hope that it will be useful,
@@ -12,8 +12,8 @@
 # GNU General Public License for more details.
 # 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# along with this program; see the file COPYING3.  If not see
+# <http://www.gnu.org/licenses/>.
 
 # Default target; must be first.
 all: gnattools
@@ -21,8 +21,10 @@ all: gnattools
 # Standard autoconf-set variables.
 SHELL = @SHELL@
 srcdir = @srcdir@
+libdir = @libdir@
 build = @build@
 target = @target@
+host = @host@
 prefix = @prefix@
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
@@ -31,8 +33,10 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
 # Nonstandard autoconf-set variables.
 LN_S=@LN_S@
 target_noncanonical=@target_noncanonical@
+host_noncanonical=@host_noncanonical@
 
 # Variables for the user (or the top level) to override.
+exeext = @EXEEXT@
 objext=.o
 TRACE=no
 ADA_FOR_BUILD=
@@ -42,60 +46,61 @@ 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)
+GCC_WARN_CFLAGS = -W -Wall
+WARN_CFLAGS = @warn_cflags@
 
-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)
+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})
+# Full path to top source directory
+ftop_srcdir := $(shell cd $(srcdir)/..;${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)
+# Absolute srcdir for gcc (why do we want absolute?  I dunno)
+fsrcdir := $(shell cd $(srcdir)/../gcc/; ${PWD_COMMAND})
 
-# Variables for gnattools1, native
-TOOLS_FLAGS_TO_PASS_1= \
+# Useful "subroutines" for the excess includes
+INCLUDES_FOR_SUBDIR = -iquote . -iquote .. -iquote ../.. \
+                     -iquote $(fsrcdir)/ada -iquote $(fsrcdir)/config \
+                     -iquote $(fsrcdir) -I$(ftop_srcdir)/include
+ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
+
+CXX_LFLAGS = \
+ -B../../../$(target_noncanonical)/libstdc++-v3/src/.libs \
+ -B../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs \
+ -L../../../$(target_noncanonical)/libstdc++-v3/src/.libs \
+ -L../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs
+
+# Variables for gnattools, native
+TOOLS_FLAGS_TO_PASS_NATIVE= \
        "CC=../../xgcc -B../../" \
+       "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
        "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
        "LDFLAGS=$(LDFLAGS)" \
        "ADAFLAGS=$(ADAFLAGS)" \
+       "ADA_CFLAGS=$(ADA_CFLAGS)" \
        "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
        "ADA_INCLUDES=-I- -I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\
        "exeext=$(exeext)" \
        "fsrcdir=$(fsrcdir)" \
        "srcdir=$(fsrcdir)" \
+       "GNATMAKE=../../gnatmake" \
+       "GNATLINK=../../gnatlink" \
        "GNATBIND=../../gnatbind" \
        "TOOLSCASE=native"
 
 # Variables for regnattools
-TOOLS_FLAGS_TO_PASS_1re= \
+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)" \
        "ADA_INCLUDES=-I../rts $(ADA_INCLUDES_FOR_SUBDIR)"\
        "exeext=$(exeext)" \
@@ -104,38 +109,40 @@ TOOLS_FLAGS_TO_PASS_1re= \
        "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"
+       "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_noncanonical)-gnatmake
+  GNATLINK_FOR_HOST=$(host_noncanonical)-gnatlink
+  GNATBIND_FOR_HOST=$(host_noncanonical)-gnatbind
+  GNATLS_FOR_HOST=$(host_noncanonical)-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)" \
        "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
        "LDFLAGS=$(LDFLAGS)" \
        "ADAFLAGS=$(ADAFLAGS)"  \
+       "ADA_CFLAGS=$(ADA_CFLAGS)" \
        "INCLUDES=$(INCLUDES_FOR_SUBDIR)" \
-       "ADA_INCLUDES=-I$(RTS_DIR)../adainclude -I$(RTS_DIR) $(ADA_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" \
+       "GNATMAKE=$(GNATMAKE_FOR_HOST)" \
+       "GNATLINK=$(GNATLINK_FOR_HOST)" \
+       "GNATBIND=$(GNATBIND_FOR_HOST)" \
        "TOOLSCASE=cross" \
        "LIBGNAT="
 
@@ -153,8 +160,8 @@ TOOLS_TARGET_PAIRS = @TOOLS_TARGET_PAIRS@
 gnattools: @default_gnattools_target@
 
 # Sanity check
-$(GCC_DIR)/stamp-gnatlib:
-       @if [ ! -f $(GCC_DIR)/stamp-gnatlib ] ; \
+$(GCC_DIR)/stamp-gnatlib-rts:
+       @if [ ! -f $(GCC_DIR)/stamp-gnatlib-rts ] ; \
         then \
           echo "Cannot build gnattools while gnatlib is out of date or unbuilt" ; \
           false; \
@@ -170,10 +177,10 @@ $(GCC_DIR)/stamp-gnatlib:
 $(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 .)
+       -(cd $(GCC_DIR)/ada/tools; $(LN_S) ../sdefault.adb ../snames.ads ../snames.adb .)
        -$(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
                  rm -f $(GCC_DIR)/ada/tools/$(word 1,$(subst <, ,$(PAIR)));\
-                 $(LN_S) $(fsrcdir)/$(word 2,$(subst <, ,$(PAIR))) \
+                 $(LN_S) $(fsrcdir)/ada/$(word 2,$(subst <, ,$(PAIR))) \
                        $(GCC_DIR)/ada/tools/$(word 1,$(subst <, ,$(PAIR)));)
        touch $(GCC_DIR)/stamp-tools
 
@@ -183,10 +190,10 @@ $(GCC_DIR)/stamp-tools:
 # 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
+gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib-rts
        # gnattools1
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
-         $(TOOLS_FLAGS_TO_PASS_1) \
+         $(TOOLS_FLAGS_TO_PASS_NATIVE) \
          ../../gnatmake$(exeext) ../../gnatlink$(exeext)
        # gnattools2
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
@@ -195,20 +202,15 @@ gnattools-native: $(GCC_DIR)/stamp-tools $(GCC_DIR)/stamp-gnatlib
 # 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
+regnattools: $(GCC_DIR)/stamp-gnatlib-rts
        # gnattools1-re
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
-         $(TOOLS_FLAGS_TO_PASS_1re) \
+         $(TOOLS_FLAGS_TO_PASS_RE) INCLUDES="" \
          gnatmake-re gnatlink-re
        # gnattools2
        $(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 \
@@ -217,50 +219,6 @@ gnattools-cross: $(GCC_DIR)/stamp-tools
        # gnattools2
        $(MAKE) -C $(GCC_DIR)/ada/tools -f ../Makefile \
          $(TOOLS_FLAGS_TO_PASS_CROSS) common-tools
-       # 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)/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
 
 # Other
 # -----
@@ -283,28 +241,36 @@ pdf:
 # Build HTML (none here).
 html:
 
+.PHONY: check installcheck info dvi pdf html
+
 # Build TAGS (none here).
 TAGS:
 
 # Installation rules.
 install:
 
+install-strip: install
+
 install-info:
 
 install-pdf:
 
 install-html:
 
+.PHONY: install install-strip install-info install-pdf install-html
+
 # Cleaning rules.
 mostlyclean:
 
 clean:
 
 distclean:
-       $(RM) Makefile config.status config.log
+       $(RM) Makefile config.status config.log config.cache
 
 maintainer-clean:
 
+.PHONY: mostlyclean clean distclean maintainer-clean
+
 # Rules for rebuilding this Makefile.
 Makefile: $(srcdir)/Makefile.in config.status
        CONFIG_FILES=$@ ; \
@@ -314,8 +280,14 @@ Makefile: $(srcdir)/Makefile.in config.status
 config.status: $(srcdir)/configure
        $(SHELL) ./config.status --recheck
 
-$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac
-       cd $(srcdir) && autoconf
+AUTOCONF = autoconf
+configure_deps = \
+       $(srcdir)/configure.ac \
+       $(srcdir)/../config/acx.m4 \
+       $(srcdir)/../config/override.m4
+
+$(srcdir)/configure: @MAINT@ $(configure_deps)
+       cd $(srcdir) && $(AUTOCONF)
 
 # Don't export variables to the environment, in order to not confuse
 # configure.