aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Leise <marco.leise@gmx.de>2021-01-25 17:27:15 +0100
committerMarco Leise <marco.leise@gmx.de>2021-01-25 17:49:37 +0100
commit7988b41505fc29433890ea1bf4a9822bec339f3d (patch)
tree18b18f3b8ffb9d2528a91cfd83bbb992345d905e /eclass/dmd.eclass
parentstabilization sweep (diff)
downloaddlang-7988b41505fc29433890ea1bf4a9822bec339f3d.tar.gz
dlang-7988b41505fc29433890ea1bf4a9822bec339f3d.tar.bz2
dlang-7988b41505fc29433890ea1bf4a9822bec339f3d.zip
dmd-2.094.2
Signed-off-by: Marco Leise <marco.leise@gmx.de>
Diffstat (limited to 'eclass/dmd.eclass')
-rw-r--r--eclass/dmd.eclass11
1 files changed, 9 insertions, 2 deletions
diff --git a/eclass/dmd.eclass b/eclass/dmd.eclass
index 8373f5f..6d29a46 100644
--- a/eclass/dmd.eclass
+++ b/eclass/dmd.eclass
@@ -122,7 +122,6 @@ dmd_src_compile() {
# A native build of dmd is used to compile the runtimes for both x86 and amd64
# We cannot use multilib-minimal yet, as we have to be sure dmd for amd64
# always gets build first.
- einfo "Building dmd..."
# 2.068 used HOST_DC instead of HOST_DMD
dmd_eq 2.068 && HOST_DMD="HOST_DC" || HOST_DMD="HOST_DMD"
@@ -149,7 +148,15 @@ dmd_src_compile() {
esac
export DMD="../../${kernel}/bin${model}/dmd"
fi
- emake -C dmd/src -f posix.mak TARGET_CPU=X86 ${HOST_DMD}="${DMD}" ${HOST_CXX}="$(tc-getCXX)" ${ENABLE_RELEASE}=1 ${LTO}
+ if dmd_ge 2.094; then
+ einfo "Building dmd build script..."
+ dlang_compile_bin dmd/generated/build dmd/src/build.d
+ einfo "Building dmd..."
+ env ${ENABLE_RELEASE}=1 ${LTO} dmd/generated/build dmd
+ else
+ einfo "Building dmd..."
+ emake -C dmd/src -f posix.mak TARGET_CPU=X86 ${HOST_DMD}="${DMD}" ${HOST_CXX}="$(tc-getCXX)" ${ENABLE_RELEASE}=1 ${LTO}
+ fi
# Don't pick up /etc/dmd.conf when calling $(dmd_gen_exe_dir)/dmd !
if [ ! -f "$(dmd_gen_exe_dir)/dmd.conf" ]; then