Does anyone use $LIBVERSION in their packages?

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?

I haven’t used it, but I can see it might be useful in some cases. That said, it would need to be something you modify as part of the build process.

That seems to be everyone’s experience. The only person I can find who is even contemplating using it is the Ragin’ Cajun for the next major release of Indy.

Looks like one more thing to add to the “future research” todo list.

1 Like