This patch adds the D language front-end to GCC documentation and configuration files, as described on the anatomy of a language front-end.
---
ChangeLog:
* Makefile.def (target_modules): Add libphobos.
(flags_to_pass): Add GDC_FOR_TARGET.
(dependencies): Add dependency from configure-target-libphobos to
configure-target-zlib. Add dependency from all-target-libphobos to
all-target-zlib.
(language): Add languge d.
* Makefile.in: Rebuild.
* Makefile.tpl (BUILT_EXPORTS): Add GDC.
(HOST_EXPORTS): Add GDC.
(BASE_TARGET_EXPORTS): Add GDC.
(GDC_FOR_BUILD, GDC_FOR_TARGET): New variables.
(EXTRA_HOST_FLAGS): Add GDC.
(EXTRA_TARGET_FLAGS): Add GDC.
* config-ml.in: Treat GDC and GDCFLAGS like other compiler/flag
environment variables.
* configure: Rebuild.
* configure.ac: Add target-libphobos to target_libraries. Set and
substitute GDC_FOR_BUILD and GDC_FOR_TARGET.
config/ChangeLog:
* multi.m4: Set GDC.
gcc/ChangeLog:
* doc/contrib.texi (Contributors): Add self for the D frontend.
* doc/frontends.texi (G++ and GCC): Mention D as a supported language.
* doc/install.texi (Configuration): Mention libphobos as an option for
--enable-shared. Mention d as an option for --enable-languages.
(Testing): Mention check-d as a target.
* doc/invoke.texi (Overall Options): Mention .d, .dd, and .di as file
name suffixes. Mention d as a -x option.
* doc/sourcebuild.texi (Top Level): Mention libphobos.
* doc/standards.texi (Standards): Add section on D language.
---
Makefile.def | 9 +
Makefile.in | 506 +++
Makefile.tpl | 11 +
config-ml.in | 16 +-
config/multi.m4 | 3 +-
configure| 217 -
configure.ac | 9 +-
gcc/doc/contrib.texi | 3 +
gcc/doc/frontends.texi | 3 +-
gcc/doc/install.texi | 10 +-
gcc/doc/invoke.texi | 10 +
gcc/doc/sourcebuild.texi | 4 +
gcc/doc/standards.texi | 6 +
13 files changed, 797 insertions(+), 10 deletions(-)
diff --git a/Makefile.def b/Makefile.def
index 31c2bbcd549..538a189e129 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -153,6 +153,7 @@ target_modules = { module= libgfortran; };
target_modules = { module= libobjc; };
target_modules = { module= libgo; };
target_modules = { module= libhsail-rt; };
+target_modules = { module= libphobos; };
target_modules = { module= libtermcap; no_check=true;
missing=mostlyclean;
missing=clean;
@@ -278,6 +279,8 @@ flags_to_pass = { flag= FLAGS_FOR_TARGET ; };
flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
flags_to_pass = { flag= GOC_FOR_TARGET ; };
flags_to_pass = { flag= GOCFLAGS_FOR_TARGET ; };
+flags_to_pass = { flag= GDC_FOR_TARGET ; };
+flags_to_pass = { flag= GDCFLAGS_FOR_TARGET ; };
flags_to_pass = { flag= LD_FOR_TARGET ; };
flags_to_pass = { flag= LIPO_FOR_TARGET ; };
flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
@@ -544,6 +547,9 @@ dependencies = { module=configure-target-libgo; on=all-target-libstdc++-v3; };
dependencies = { module=all-target-libgo; on=all-target-libbacktrace; };
dependencies = { module=all-target-libgo; on=all-target-libffi; };
dependencies = { module=all-target-libgo; on=all-target-libatomic; };
+dependencies = { module=configure-target-libphobos; on=configure-target-zlib; };
+dependencies = { module=all-target-libphobos; on=all-target-zlib; };
+dependencies = { module=all-target-libphobos; on=all-target-libatomic; };
dependencies = { module=configure-target-libstdc++-v3; on=configure-target-libgomp; };
dependencies = { module=configure-target-liboffloadmic; on=configure-target-libgomp; };
dependencies = { module=configure-target-libsanitizer; on=all-target-libstdc++-v3; };
@@ -557,6 +563,7 @@ dependencies = { module=all-target-liboffloadmic; on=all-target-libgomp; };
dependencies = { module=install-target-libgo; on=install-target-libatomic; };
dependencies = { module=install-target-libgfortran; on=install-target-libquadmath; };
dependencies = { module=install-target-libgfortran; on=install-target-libgcc; };
+dependencies = { module=install-target-libphobos; on=install-target-libatomic; };
dependencies = { module=install-target-libsanitizer; on=install-target-libstdc++-v3; };
dependencies = { module=install-target-libsanitizer; on=install-target-libgcc; };
dependencies = { module=install-target-libvtv; on=install-target-libstdc++-v3; };
@@ -598,6 +605,8 @@ languages = { language=go; gcc-check-target=check-go;
lib-check-target=check-gotools; };
languages = { language=brig; gcc-check-target=check-brig;
lib-check-target=check-target-libhsail-rt; };
+languages = { language=d; gcc-check-target=check-d;
+lib-check-target=check-target-libphobos; };
// Toplevel bootstrap
bootstrap_stage = { id=1 ; };
diff --git a/Makefile.in b/Makefile.in
index e0dfad337a6..c12e402b822 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -156,6 +156,8 @@ BUILD_EXPORTS = \