aboutsummaryrefslogtreecommitdiff
path: root/Makefile.tpl
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2023-08-07 13:07:39 +0200
committerAlan Modra <amodra@gmail.com>2023-08-12 10:25:06 +0930
commitf553b1471e7718b9deefa0d038af284181a302c0 (patch)
treefac1d7f794dd8c7b44f1e66a299e34dc69a72d27 /Makefile.tpl
parent68a78f460a70df71be94681d9aa14a76ca12a4ef (diff)
downloadgdb-f553b1471e7718b9deefa0d038af284181a302c0.zip
gdb-f553b1471e7718b9deefa0d038af284181a302c0.tar.gz
gdb-f553b1471e7718b9deefa0d038af284181a302c0.tar.bz2
d: Import dmd b8384668f, druntime e6caaab9, phobos 5ab9ad256 (v2.098.0-beta.1)
The D front-end is now itself written in D, in order to build GDC, you will need a working GDC compiler (GCC version 9.1 or later). GCC changes: - Add support for bootstrapping the D front-end. These add the required components in order to have a D front-end written in D itself. Because the compiler front-end only depends on the core runtime modules, only libdruntime is built for the bootstrap stages. D front-end changes: - Import dmd v2.098.0-beta.1. Druntime changes: - Import druntime v2.098.0-beta.1. Phobos changes: - Import phobos v2.098.0-beta.1. The jump from v2.076.1 to v2.098.0 covers nearly 4 years worth of development on the D programming language and run-time libraries. * Makefile.def: Add bootstrap to libbacktrace, libphobos, zlib, and libatomic. * Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Fix command for GDC. (STAGE1_CONFIGURE_FLAGS): Add --with-libphobos-druntime-only if target-libphobos-bootstrap. (STAGE2_CONFIGURE_FLAGS): Likewise.
Diffstat (limited to 'Makefile.tpl')
-rw-r--r--Makefile.tpl12
1 files changed, 10 insertions, 2 deletions
diff --git a/Makefile.tpl b/Makefile.tpl
index deb8ab4..485b2f1 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -278,11 +278,14 @@ POSTSTAGE1_HOST_EXPORTS = \
$(POSTSTAGE1_CXX_EXPORT) \
$(LTO_EXPORTS) \
GDC="$$r/$(HOST_SUBDIR)/prev-gcc/gdc$(exeext) -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
- -B$(build_tooldir)/bin/ $(GDC_FLAGS_FOR_TARGET) \
+ -B$(build_tooldir)/bin/ $(GDCFLAGS_FOR_TARGET) \
+ -B$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/gcc \
-B$$r/prev-$(TARGET_SUBDIR)/libphobos/src \
+ -B$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
-I$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime -I$$s/libphobos/libdruntime \
-L$$r/prev-$(TARGET_SUBDIR)/libphobos/src/.libs \
- -L$$r/prev-$(TARGET_SUBDIR)/libphobos/libdruntime/.libs"; \
+ -B$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
+ -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; \
export GDC; \
GDC_FOR_BUILD="$$GDC"; export GDC_FOR_BUILD; \
GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \
@@ -533,6 +536,11 @@ STAGE1_CONFIGURE_FLAGS = --disable-intermodule $(STAGE1_CHECKING) \
--disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" \
--disable-build-format-warnings
+@if target-libphobos-bootstrap
+STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
+STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
+@endif target-libphobos-bootstrap
+
# When using the slow stage1 compiler disable IL verification and forcefully
# enable it when using the stage2 compiler instead. As we later compare
# stage2 and stage3 we are merely avoid doing redundant work, plus we apply