On Friday, 30 December 2011 at 00:34:13 UTC, Trass3r wrote:
The reason is druntime doesn't build separate libs like phobos does.

A quick and dirty patch would be:

diff --git a/posix.mak b/posix.mak
index 5fd7fee..9ed2004 100644
--- a/posix.mak
+++ b/posix.mak
@@ -32,9 +32,9 @@ UDFLAGS=-m$(MODEL) -O -release -nofloat -w -d -Isrc -Iimport -property

CFLAGS=-m$(MODEL) -O

-OBJDIR=obj
+OBJDIR=obj/$(MODEL)
DRUNTIME_BASE=druntime
-DRUNTIME=lib/lib$(DRUNTIME_BASE).a
+DRUNTIME=lib/$(MODEL)/lib$(DRUNTIME_BASE).a

DOCFMT=

I've been using a similar patch for a while, originally from https://bugs.gentoo.org/show_bug.cgi?id=355527 but less of those changes are needed now so it's been stripped down a lot. Would be nice to have this upstream so a proper multilib d toolchain can be built out of the box

--- a/src/druntime/posix.mak    2011-06-25 01:39:28.000000000 +0100
+++ b/src/druntime/posix.mak    2011-07-13 16:27:21.307999841 +0100
@@ -25,16 +25,16 @@
DOCDIR=doc
IMPDIR=import

-MODEL=32
+MODEL?=32

DFLAGS=-m$(MODEL) -O -release -inline -nofloat -w -d -Isrc -Iimport -property UDFLAGS=-m$(MODEL) -O -release -nofloat -w -d -Isrc -Iimport -property

CFLAGS=-m$(MODEL) -O

-OBJDIR=obj
+OBJDIR=obj$(MODEL)
DRUNTIME_BASE=druntime
-DRUNTIME=lib/lib$(DRUNTIME_BASE).a
+DRUNTIME=lib$(MODEL)/lib$(DRUNTIME_BASE).a

DOCFMT=

--- a/src/phobos/posix.mak      2011-07-10 21:19:30.000000000 +0100
+++ b/src/phobos/posix.mak      2011-07-13 16:27:11.585999804 +0100
@@ -75,7 +75,7 @@

# Set DRUNTIME name and full path
ifeq (,$(findstring win,$(OS)))
-       DRUNTIME = $(DRUNTIME_PATH)/lib/libdruntime.a
+       DRUNTIME = $(DRUNTIME_PATH)/lib$(MODEL)/libdruntime.a
else
        DRUNTIME = $(DRUNTIME_PATH)/lib/druntime.lib
endif

Reply via email to