Building DMD on OpenBSD
Kai Nacke via Digitalmars-d
digitalmars-d at puremagic.com
Mon Jul 17 22:11:30 PDT 2017
On Monday, 17 July 2017 at 18:58:40 UTC, Joakim wrote:
> On Monday, 17 July 2017 at 18:42:39 UTC, Anonymous wrote:
>> On Monday, 17 July 2017 at 17:18:23 UTC, Joakim wrote:
>>> Unfortunately, dmd has not kept porters in mind and
>>> hasn't kept the C++ version updated, or kept a workflow
>>> that enables easy bootstrapping:
>>>
>>> http://forum.dlang.org/thread/xgtbpcvbikxlilanrzqa@forum.dlang.org
>>>
>>> You will have to build druntime and phobos for 2.067 also and
>>> collect it all in a different location, which you could
>>> invoke to bootstrap a new dmd. You may run into issues
>>> related to D/C++ integration when building the latest dmd, as
>>> that hasn't been tested on OpenBSD, only FreeBSD.
>>>
>>> Why do you want the latest dmd on OpenBSD? I ask because it
>>> will likely require some work, though likely not a lot.
>>
>> I've already tried building 2.067 druntime by mistake and
>> run into problems. Most are resolvable by just adding
>> TARGET_OPENBSD next to TARGET_FREEBSD. But yeah, it's
>> gonna take some work. I want it because I'm using OpenBSD
>> as my main OS and I have a project that I want to port to D.
>>
>> Btw I should've built the `install` target (got confused
>> by the wiki). Now I get:
>>
>> cp: ../ini/openbsd/bin64/dmd.conf: No such file or directory
>>
>> which is more understandable.
>
> Alright, there was a contributor who recently got ldc working
> on NetBSD, take a look at his PRs as a guide for what you'll
> likely have to do:
>
> https://github.com/dlang/dmd/pulls?q=is%3Apr+author%3AnrTQgc
> https://github.com/dlang/druntime/pulls?q=is%3Apr+author%3AnrTQgc
> https://github.com/dlang/phobos/pulls?q=is%3Apr+author%3AnrTQgc
>
> OpenBSD PRs welcome! :)
>
> In the meantime, you can see that I've raised this bootstrap
> issue internally and hopefully we can make it easier for future
> porters.
:-)
In master there is already some OpenBSD support. Some time ago I
worked on druntime support but I still need to finish this.
Mostly there is nothing magic here - just translating the header
files. The only non-obvious work is required for the
module/shared library stuff (in rt.sections). If there is an
OpenBSD expert around who can help here it would be nice.
Regards,
Kai
More information about the Digitalmars-d
mailing list