[AD] library file names (version suffixes)

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


It's time we started thinking about this. How do we want to name the
actual library files for 5.0.  Here are some thoughts.


Unix
====

    liballegro.so		(symlink)
    liballegro.so.5.0		(symlink)
    liballegro.so.5.0.1
    liballegro_audio.so		(symlink)
    liballegro_audio.so.5.0	(symlink)
    liballegro_audio.so.5.0.1
    ...

which does not conflict with A4, which has:

    liballeg.so			(symlink)
    liballeg.so.4.4		(symlink)
    liballeg.so.4.4.0

The pkg-config files would be:

    allegro-5.0.pc
    allegro_audio-5.0.pc
    ...

which does not conflict with A4, which has:

    allegro.pc



Windows
=======

    allegro-5.0.dll
    allegro_audio-5.0.dll
    ...
    liballegro-5.0.dll.a	(mingw)
    liballegro_audio-5.0.dll.a	(mingw)
    ...
    allegro-5.0.lib		(msvc)
    allegro_audio-5.0.lib	(msvc)
    ...

I'm worried that the version suffixes might be a bit annoying, as you
have to link with a number of libraries and you don't have pkg-config to
help you.  Ideally the DLL would have the version suffix but not the
import libraries, but I haven't figured out how to do that with CMake.
At worst I could add a custom rule to rename(copy) the import libraries
after they are built.

A4 has:

    alleg44.dll
    liballeg44.dll.a
    
The version number on the import library was not intentional, but it's
a bit late now.



Mac OS X
========

Same as generic Unix for shared libraries (.so -> .dylib)

I'm not sure how the frameworks should be named.  A4 has taken
Allegro.framework.  Maybe:

    Allegro-5.0.framework
    AllegroAudio-5.0.framework
    ...


Peter




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/