Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework -defaultlib/-debuglib; split druntime/Phobos #416

Closed
dnadlinger opened this issue Jun 22, 2013 · 0 comments
Closed

Rework -defaultlib/-debuglib; split druntime/Phobos #416

dnadlinger opened this issue Jun 22, 2013 · 0 comments

Comments

@dnadlinger
Copy link
Member

In preparation for properly supporting shared libraries, it will be necessary to split druntime and Phobos into two separate libraries, instead of also linking in druntime into Phobos statically. I propose calling the new ("slim") Phobos library libphobos2-ldc, to match what DMD does and not mess up versioning for people already trying to use it as a shared library (which is unfortunately done, despite being catastrophically unstable).

We should also take this opportunity to rethink the way -defaultlib/-debuglib work: Currently, specifying the flag multiple times concatenates all the libraries together in a list. However, this makes it impossible for the user to actually override the default (in order to e.g. not link in Phobos altogether or use a different runtime), making the flags much less useful.

Thus, I'd propose to change the flags so that only the last flag counts, with multiple default libraries being specified a single string with delimiters, e.g. -defaultlib="phobos2-ldc;druntime-ldc".

dnadlinger added a commit to dnadlinger/ldc that referenced this issue Jul 1, 2014
This is necessary for shared libraries linked only against
druntime to be possible. The library name has changed to
libphobos2-ldc (added '2') to avoid confusion.

See Github issue ldc-developers#416.
dnadlinger added a commit to dnadlinger/ldc that referenced this issue Jul 1, 2014
…efaultlib.

This is necessary as the only point of having -defaultlib
and -debuglib is to enable the user to customize the defaults
set in the configuration, for example to avoid linking to
Phobos.

GitHub: Fixes ldc-developers#416.
GitHub: Fixes ldc-developers#601.
dnadlinger added a commit to dnadlinger/ldc that referenced this issue Jul 1, 2014
This is necessary for shared libraries linked only against
druntime to be possible. The library name has changed to
libphobos2-ldc (added '2') to avoid confusion.

See Github issue ldc-developers#416.
dnadlinger added a commit to dnadlinger/ldc that referenced this issue Jul 1, 2014
…efaultlib.

This is necessary as the only point of having -defaultlib
and -debuglib is to enable the user to customize the defaults
set in the configuration, for example to avoid linking to
Phobos.

GitHub: Fixes ldc-developers#416.
GitHub: Fixes ldc-developers#601.
dnadlinger added a commit to dnadlinger/ldc that referenced this issue Jul 2, 2014
…efaultlib.

This is necessary as the only point of having -defaultlib
and -debuglib is to enable the user to customize the defaults
set in the configuration, for example to avoid linking to
Phobos.

GitHub: Fixes ldc-developers#416.
GitHub: Fixes ldc-developers#601.
dnadlinger added a commit to dnadlinger/ldc that referenced this issue Jul 4, 2014
This is necessary for shared libraries linked only against
druntime to be possible. The library name has changed to
libphobos2-ldc (added '2') to avoid confusion.

See Github issue ldc-developers#416.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant