Porting DMD compiler to haiku OS

iridium via Digitalmars-d digitalmars-d at puremagic.com
Fri May 9 00:21:35 PDT 2014


On Thursday, 8 May 2014 at 10:02:53 UTC, Joakim wrote:
> On Thursday, 8 May 2014 at 08:18:16 UTC, iridium wrote:
>> On Thursday, 8 May 2014 at 07:55:04 UTC, Jacob Carlborg wrote:
>>> On 08/05/14 08:53, iridium wrote:
>>>
>>>> That's what happens when linking:
>>>> http://itmages.ru/image/view/1655772/669acb30
>>>
>>> You need to link with both Phobos and the C standard library. 
>>> Run "dmd -v main.d" and look at the linking step at the end.
>>
>> dmd -v test.d result: 
>> http://itmages.ru/image/view/1655879/d0bb1c62
>>
>> gcc -o main test.o 
>> ../../phobos/generated/haiku/release/32/libphobos2.a -lstdc++ 
>> -lroot result: http://itmages.ru/image/view/1655886/0be9d48f
>
> Try linking to druntime alone first, before you start messing 
> with phobos.  You'll notice that the makefile for druntime 
> builds a libdruntime-haiku32.a library, if you modify the 
> makefile for Haiku.  Try building some simple executables with 
> that first before moving on to phobos.
>
> You need to go through all the TARGET_FREEBSD blocks in the dmd 
> source and all the version(FreeBSD) blocks in druntime and add 
> TARGET_HAIKU, version(Haiku), and the appropriate source for 
> Haiku inside those blocks.  We can't sit here and help you do 
> that, unless it's something truly unusual that you're unable to 
> figure out.  Most of these errors seem to be the result of 
> missing some blocks here and there.
>
> Admittedly, porting to a new OS is not a small job, and you 
> seem to be going pretty fast.  Keep plugging away at it and I'm 
> sure you'll be able to figure it out.
I'm not asking to solve the problem for me. Just tell me what is 
that. I try to building some simple executables and get this and 
that: http://itmages.ru/image/view/1657447/92442093

dmd -c -v main.d: http://itmages.ru/image/view/1657453/3f46cbd9

main.d contains:

module main;

void main()
{

}



More information about the Digitalmars-d mailing list