libphobos: Use libdruntime as a convenience library for libphobos.
authorIain Buclaw <ibuclaw@gdcproject.org>
Fri, 10 Apr 2020 07:35:09 +0000 (09:35 +0200)
committerIain Buclaw <ibuclaw@gdcproject.org>
Fri, 10 Apr 2020 10:46:12 +0000 (12:46 +0200)
commit7478addd84ab6808307f4f285ab05f3a76bbb257
treea02427985f419db2885fb3a43c254876a39a8baf
parent6c4a05f251ae8a39fa896524defaf4228328c259
libphobos: Use libdruntime as a convenience library for libphobos.

As a prerequesite for PR94304, it becomes easier to manage selectively
compiling sublibraries when there's only one library to link to.

So a druntime convenience library is built to be part of phobos, however
separate druntime library is still built and installed, to allow linking
only to the core runtime explicitly, rather than pulling in the entire
standard library with it.

The gdc driver no longer generates an '-lgdruntime' option, and the
inclusion of the libdruntime library path has been removed from the
testsuite.

gcc/d/ChangeLog:

* d-spec.cc (LIBDRUNTIME): Remove.
(LIBDRUNTIME_PROFILE): Remove.
(lang_specific_driver): Don't link in libgdruntime.

gcc/testsuite/ChangeLog:

* lib/gdc.exp (gdc_link_flags): Remove libdruntime library path.

libphobos/ChangeLog:

* d_rules.am (libdgruntime_la_LINK): Move to libdruntime/Makefile.am.
(libgphobos_la_LINK): Move to src/Makefile.am
* libdruntime/Makefile.am: Add libgdruntime_convenience library.
* libdruntime/Makefile.in: Regenerate.
* src/Makefile.am (libgphobos_la_LIBADD): Add libgdruntime_convenience
library.
(libgphobos_la_DEPENDENCIES): Likewise.
* src/Makefile.in: Regenerate.
* testsuite/lib/libphobos.exp: Remove libdruntime library paths.
* testsuite/testsuite_flags.in: Likewise.
12 files changed:
gcc/d/ChangeLog
gcc/d/d-spec.cc
gcc/testsuite/ChangeLog
gcc/testsuite/lib/gdc.exp
libphobos/ChangeLog
libphobos/d_rules.am
libphobos/libdruntime/Makefile.am
libphobos/libdruntime/Makefile.in
libphobos/src/Makefile.am
libphobos/src/Makefile.in
libphobos/testsuite/lib/libphobos.exp
libphobos/testsuite/testsuite_flags.in