* Makefil.def (languages): New entries.
authorsje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Apr 2009 16:41:54 +0000 (16:41 +0000)
committersje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 1 Apr 2009 16:41:54 +0000 (16:41 +0000)
* Makefile.tpl (check-gcc-*): New generic target.
* Makefile.in: Regenerate.
* gcc/doc/sourcebuild.texi: Update front-end requirements.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145415 138bc75d-0d04-0410-961f-82ee72b054a4

ChangeLog
Makefile.def
Makefile.in
Makefile.tpl
gcc/doc/sourcebuild.texi

index e8fe7ad..533bc9f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-04-01  Steve Ellcey  <sje@cup.hp.com>
+
+       * Makefil.def (languages): New entries.
+       * Makefile.tpl (check-gcc-*): New generic target.
+       * Makefile.in: Regenerate.
+       * gcc/doc/sourcebuild.texi: Update front-end requirements.
+
 2009-03-25  Erven Rohou <erven.rohou@inria.fr>
 
         * MAINTAINERS:  Update my email address.
index a0a5266..c6a9291 100644 (file)
@@ -541,6 +541,19 @@ dependencies = { module=all-target-libgloss; on=all-target-newlib; };
 dependencies = { module=all-target-winsup; on=all-target-libiberty; };
 dependencies = { module=all-target-winsup; on=all-target-libtermcap; };
 
+languages = { language=c;      gcc-check-target=check-gcc; };
+languages = { language=c++;    gcc-check-target=check-c++;
+                               lib-check-target=check-target-libstdc++-v3; };
+languages = { language=fortran;        gcc-check-target=check-fortran;
+                               lib-check-target=check-target-libgfortran; };
+languages = { language=java;   gcc-check-target=check-java;
+                               lib-check-target=check-target-libjava; };
+languages = { language=ada;    gcc-check-target=check-ada;
+                               lib-check-target=check-target-libada; };
+languages = { language=objc;   gcc-check-target=check-objc;
+                               lib-check-target=check-target-libobjc; };
+languages = { language=obj-c++;        gcc-check-target=check-obj-c++; };
+
 // Toplevel bootstrap
 bootstrap_stage = {
        id=1 ;
index 26d1d01..de33e11 100644 (file)
@@ -52921,19 +52921,63 @@ cross: all-build all-gas all-ld
 @endif gcc-no-bootstrap
 
 @if gcc
-.PHONY: check-gcc-c++
+
+.PHONY: check-gcc-c check-c
+check-gcc-c:
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-gcc);
+check-c: check-gcc-c
+
+.PHONY: check-gcc-c++ check-c++
 check-gcc-c++:
-       @if [ -f ./gcc/Makefile ] ; then \
-         r=`${PWD_COMMAND}`; export r; \
-         s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-         $(HOST_EXPORTS) \
-         (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \
-       else \
-         true; \
-       fi
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++);
+check-c++: check-gcc-c++ check-target-libstdc++-v3
+
+.PHONY: check-gcc-fortran check-fortran
+check-gcc-fortran:
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-fortran);
+check-fortran: check-gcc-fortran check-target-libgfortran
+
+.PHONY: check-gcc-java check-java
+check-gcc-java:
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-java);
+check-java: check-gcc-java check-target-libjava
+
+.PHONY: check-gcc-ada check-ada
+check-gcc-ada:
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-ada);
+check-ada: check-gcc-ada check-target-libada
+
+.PHONY: check-gcc-objc check-objc
+check-gcc-objc:
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-objc);
+check-objc: check-gcc-objc check-target-libobjc
+
+.PHONY: check-gcc-obj-c++ check-obj-c++
+check-gcc-obj-c++:
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-obj-c++);
+check-obj-c++: check-gcc-obj-c++
 
-.PHONY: check-c++
-check-c++: check-target-libstdc++-v3 check-gcc-c++
 
 # Install the gcc headers files, but not the fixed include files,
 # which Cygnus is not allowed to distribute.  This rule is very
index acb349f..1de3b06 100644 (file)
@@ -1216,19 +1216,15 @@ cross: all-build all-gas all-ld
 @endif gcc-no-bootstrap
 
 @if gcc
-.PHONY: check-gcc-c++
-check-gcc-c++:
-       @if [ -f ./gcc/Makefile ] ; then \
-         r=`${PWD_COMMAND}`; export r; \
-         s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
-         $(HOST_EXPORTS) \
-         (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \
-       else \
-         true; \
-       fi
-
-.PHONY: check-c++
-check-c++: check-target-libstdc++-v3 check-gcc-c++
+[+ FOR languages +]
+.PHONY: check-gcc-[+language+] check-[+language+]
+check-gcc-[+language+]:
+       r=`${PWD_COMMAND}`; export r; \
+       s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+       $(HOST_EXPORTS) \
+       (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) [+gcc-check-target+]);
+check-[+language+]: check-gcc-[+language+][+ IF lib-check-target +] [+ lib-check-target +][+ ENDIF lib-check-target +]
+[+ ENDFOR languages +]
 
 # Install the gcc headers files, but not the fixed include files,
 # which Cygnus is not allowed to distribute.  This rule is very
index fb63982..e437848 100644 (file)
@@ -499,6 +499,9 @@ directory.  FIXME: document this further.
 @item
 Details of the directories of any runtime libraries in
 @file{gcc/doc/sourcebuild.texi}.
+@item
+Check targets in Makefile.def for the top-level Makefile to check just
+the compiler or the compiler and runtime library for the language.
 @end itemize
 
 If the front end is added to the official GCC source repository, the