Shared library packaging issues

Marco Leise via Digitalmars-d digitalmars-d at puremagic.com
Tue Nov 18 08:37:45 PST 2014


Am Mon, 17 Nov 2014 19:36:08 +0000
schrieb "GreatEmerald" <pastas4 at gmail.com>:

> On Monday, 17 November 2014 at 02:29:54 UTC, Marco Leise wrote:
> > Exactly a year ago I created a poll[1] about the include path
> > and 65% voted for "dlang" over just "d". We should stick to
> > "/usr/include/dlang" now for a consistent experience across
> > distributions. Compilers' import paths are less of an issue as
> > they are either built-in or configured in dmd.conf. But for
> > build tools it would be nice if imports for library X could
> > always be found in "/usr/include/dlang/X/".
> 
> Fair enough, although if the issue with different compilers 
> making a different ABI persists, then wouldn't it be a good idea 
> to put it into /usr/include/{dmd,gdc,ldc} or something?

ABI differences in source files only apply to druntime/Phobos
and these imports are generally on the default import path. I
was more concerned with GtkD and similar 3rd party libraries,
for which you have to specify the import path.
Or am I missing a case where 3rd party import files should also
differ for each compiler?

As for the ABI incompatibilities of libraries themselves I'm
using -rpath and install them to /opt/<compiler>-<version>/lib
or GCC's own version specific library path in case of GDC. My
hope is that some day the issue can be settled and this is
only a stop-gap measure. (We'd still have a pretty fast
changing Phobos and possibly ABI changes due to bug fixes or
enhancements, so it is likely we end up with some "dlang-2070"
pre- or postfix, but not one library per compiler vendor and
Dlang version as it is now.)

-- 
Marco



More information about the Digitalmars-d mailing list