How to build shared objects with popular build environments
Philip Van Hoof
philip at codeminded.be
Mon Aug 6 13:14:08 UTC 2018
Having been ~ involved in a variety of ways (hobby & community a few
years ago, professional, and because I cared about it) in technologies
related to the so called freedesktop, I learned that lot of uncertainty
and (mis)interpretation exists over how to do certain things the right
way in autotools, (pure) make + libtool, qmake, cmake or meson.
Usually as packagers correct enthusiasts' attempts at understanding the
sometimes bizarre complexities of for example autotools, it ends up
somewhat right. Somewhat. I noticed that especially in corporate world,
things tend to go spectacularly wrong. Almost without exception.
In particular am I concerned about ABI versioning of shared object
files so that they are easy to package and distribute by various
operating systems (like, among others, Linux distributions). But also
API versioning of development files (compiler header files and pkg-
config) and installing to the right installation paths.
I wanted to invite the community to scrutinize some equivalent examples
that I made for autotools (with libtool), qmake, cmake and meson.
The idea is that the examples are as correct as possible. Implying that
I should probably ask the people who made the build tools. Also that
the examples should simple and educational. Easing (some amount) of
platform independence (ie. supporting Windows) and packaging.
I hope to find and reach those people with this E-mail. So that they
can go over the example I made using their build tools, and correct me.
ps. I don't think CC-ing a huge amount of mailing lists is necessarily
a good idea. So feel free to forward to the appropriate people.
ps. I attached no license to the examples yet. Perhaps I should attach
one? My goal would be that as much entities could copy and use it.
Including for, indeed, non-free purposes (as much as they want).
Philip Van Hoof
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 833 bytes
Desc: This is a digitally signed message part
More information about the pkg-config