On Saturday, 24 August 2019 at 00:26:43 UTC, Jonathan Levi wrote:
I am trying to find the D runtime/standard-library
object(.o)/library(.a) files inorder to link them with some
foreign code (Haskell as it happens).
I am writing a program in Haskell but want to use D for some of
the imperative style logic. I expect to have a large section
of code in D so I want to take advantage of the D runtime,
garbage collector, and standard libraries.
I found several discussions on getting the D runtime going, so
I expect that to be easy, but (obviously) I get link errors
when I do not have it to link.
What is the advised way to get the object(.o)/library(.a) files
for the D runtime and standard library?
Thanks!
Okay,
It looks like what needs to be found are "libphobos2" and
"libdruntime". They can be found where ever your system puts lib
files. Windows (as far as I know) does not have a joined place
for lib files so you need to look where dmd/ldc/etc installed
itself. On Linux lib files are generally put in `/usr/lib`.
Ideally the hunting for lib files should be left to a build tool
in order to be system agnostic. In Cabal (Haskell's build tool)
add "druntime" and "phobos2" to `extra-libraries`.