Proposal for a standard for D library naming

Anders F Björklund afb at algonet.se
Tue Sep 19 01:08:14 PDT 2006


Gregor Richards wrote:

> (This section applies only to UNIX)
> 
> The UNIX convention for naming of libraries is:
> 
> lib<name>.so.<major>.<minor>.<revision>
> 
> with symlinks for each of:
> 
> lib<name>.so.<major>.<minor>
> lib<name>.so.<major>
> 
> and also a symlink of:
> 
> lib<name>.so
> 
> if the library has its headers installed. There is no compelling
> reason to break from this standard, so it is left as such in this
> document.

Not to rain on your parade, but Darwin libraries use:

lib<name>.<major>.<minor>.<revision>.dylib
lib<name>.<major>.<minor>.dylib ->
lib<name>.<major>.dylib ->
lib<name>.dylib ->

So you might want to make the "so" name flexible... ?

Using the -L and -l flags works as expected, though.
(With GDC that is, DMD uses those flags differently)

Everything else applies.
--anders


SIDE NOTE:
However, most Mac OS X libraries are instead packaged
as "frameworks" which include *both* libs and includes.
(Similar to how the Mac OS X applications are bundled up
as "apps" which include both executables and resources)

Frameworks are linked with the -framework flag, and the
headers are automatically searched for in the system dirs.
Don't think that the D libraries will ever be packaged as
frameworks, so it only applies to libs like OpenGL and SDL.



More information about the Digitalmars-d mailing list