In my packages I make sure to use $LIBSUFFIX so as to avoid Vincent’s wrath.
There are two other options that go along with $LIBSUFFIX though, $LIBVERSION and $LIBPREFIX. There’s not a lot of information available for them and I don’t think I’ve encountered a third party package that uses them. They were added during the time of Kylix and were apparently primarily intended for use with packages for Linux.
I’m wondering about $LIBVERSION though and whether it could be used as a package versioning strategy in the situation where:
- a package BPL is used is used by multiple applications EXEs,
- and the package BPL and the multiple application EXEs all sit in the same folder,
- and the package needs to be modified to resolve an issue for one of the applications,
- and the package changes need to be deployed urgently to resolve an issue with one of the applications (which will get recompiled also),
- and there isn’t time to test the updated package against all the other EXEs just yet.
Marco’s advice from his Mastering Delphi 7 book is
LIBVERSION is used to add a version number after the extension—something very common in Linux, but you should generally avoid this on Windows.
Perhaps in the ensuing 20 years though someone has had a different experience?