Skip to content

Commit aa9b521

Browse files
committed
Fallback to newly build dmd if no host compiler is available
1 parent ea6d670 commit aa9b521

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

src/posix.mak

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,18 @@ ifeq (,$(AUTO_BOOTSTRAP))
128128
HOST_DMD?=dmd
129129
HOST_DMD_PATH=$(abspath $(shell which $(HOST_DMD)))
130130
ifeq (,$(HOST_DMD_PATH))
131-
$(error '$(HOST_DMD)' not found, get a D compiler or make AUTO_BOOTSTRAP=1)
131+
# On some occasions, even though $(HOST_DC) is undefined, a DMD compiler
132+
# can be found in $(GENERATED)
133+
ifneq (,$(wildcard $G/dmd))
134+
HOST_DMD:=$G/dmd
135+
# Cross-compilation
136+
else ifneq (,$(wildcard $(GENERATED)/$(OS)/$(BUILD)/64/dmd))
137+
HOST_DMD:=$(GENERATED)/$(OS)/$(BUILD)/64/dmd
138+
else ifneq (,$(wildcard $(GENERATED)/$(OS)/$(BUILD)/32/dmd))
139+
HOST_DMD:=$(GENERATED)/$(OS)/$(BUILD)/32/dmd
140+
else
141+
$(error '$(HOST_DMD)' not found, get a D compiler or make AUTO_BOOTSTRAP=1)
142+
endif
132143
endif
133144
HOST_DMD_RUN:=$(HOST_DMD)
134145
else

0 commit comments

Comments
 (0)