dmd/druntime/phobos makefile horror

Trass3r un at known.com
Fri Dec 16 07:48:49 PST 2011


I've always built my libs like that:

cd druntime
git pull -v
make MODEL=64 -f posix.mak -j2
make MODEL=32 -f posix.mak -j2

cd ../phobos
git pull -v
make MODEL=64 -f posix.mak -j2 && mv  
generated/linux/release/64/libphobos2.a ../../linux/lib64
make MODEL=32 -f posix.mak -j2 && mv  
generated/linux/release/32/libphobos2.a ../../linux/lib32


Normally I don't need 32bit but now I tried to build an app which fails  
miserably with phobos2 not found.
After removing -L--no-warn-search-mismatch and playing with 'ar x' and  
'file' I finally found out 32bit libphobos contains the 64bit version of  
druntime.
The reason is druntime doesn't build separate libs like phobos does.

This is just an example of the incoherence of the build system. (Another  
really bad one is dmd's makefile not allowing to specify debug/release  
while the windows version sort of does)
Can't we get this straight once and for all?


More information about the Digitalmars-d mailing list