Re: [PATCH 05/14] Add GCC configuration file changes and documentation.

2018-09-19 Thread Iain Buclaw
On 18 September 2018 at 02:35, Iain Buclaw  wrote:
>
> This patch adds the D language front-end to GCC documentation and 
> configuration files, as described on the anatomy of a language front-end.
>

It looks like this was previously ok'd, with reason as it's mostly
auto-generated boilerplate.

https://gcc.gnu.org/ml/gcc-patches/2017-09/msg00592.html

Iain.


[PATCH 05/14] Add GCC configuration file changes and documentation.

2018-09-17 Thread Iain Buclaw

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 = \