D for sciencetific scripting / rapid protoryping
Arun Chandrasekaran
aruncxy at gmail.com
Tue Oct 22 08:04:32 UTC 2019
On Tuesday, 22 October 2019 at 07:51:16 UTC, Arun Chandrasekaran
wrote:
> On Tuesday, 22 October 2019 at 07:40:01 UTC, Prokop Hapala
> wrote:
>> [...]
>
> If you are building individual files, use ldc2 with
> --link-defaultlib-shared flag:
>
> arun at home-pc:/tmp$ cat a.d
> void main() { import std; writeln("Hai"); }
> arun at home-pc:/tmp$ ldc2 a.d
> arun at home-pc:/tmp$ ldd a
> linux-vdso.so.1 (0x00007fff6395b000)
> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
> (0x00007f1ec91ea000)
> libpthread.so.0 =>
> /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1ec91c7000)
> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
> (0x00007f1ec9078000)
> libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
> (0x00007f1ec905e000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
> (0x00007f1ec8e6d000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f1ec92c4000)
> arun at home-pc:/tmp$ ldc2 a.d --link-defaultlib-shared
> arun at home-pc:/tmp$ ldd a
> linux-vdso.so.1 (0x00007ffcbda7f000)
> libphobos2-ldc-shared.so.88 =>
> /home/arun/.bin/ldc2-1.18.0-linux-x86_64/bin/../lib/libphobos2-ldc-shared.so.88 (0x00007f1b57be8000)
> libdruntime-ldc-shared.so.88 =>
> /home/arun/.bin/ldc2-1.18.0-linux-x86_64/bin/../lib/libdruntime-ldc-shared.so.88 (0x00007f1b57abc000)
> libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
> (0x00007f1b57a84000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
> (0x00007f1b57893000)
> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
> (0x00007f1b57744000)
> libpthread.so.0 =>
> /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1b57721000)
> librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
> (0x00007f1b57714000)
> libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
> (0x00007f1b5770e000)
> /lib64/ld-linux-x86-64.so.2 (0x00007f1b58067000)
> arun at home-pc:/tmp$
If you want similar behavior with dub, here is a sample dub.json
arun at home-pc:/tmp/test$ cat dub.json
{
"authors": [
"Arun"
],
"copyright": "Copyright © 2019, Arun",
"description": "A minimal D application.",
"license": "proprietary",
"dflags-ldc": ["-link-defaultlib-shared"],
"name": "test"
}
arun at home-pc:/tmp/test$
Dub settings can be at times intimidating, but still give it a
read https://dub.pm/package-format-json#build-settings
More information about the Digitalmars-d-learn
mailing list