On Sun, 29 Sept 2024 at 12:16, Sad Clouds <cryintotheblue...@gmail.com> wrote: > OK thanks for the info. Maybe ABI was the wrong word to use, I guess I was > referring to a mixture of ABI and API changes that may occur during OS major > version upgrade. To give you a specific example, some of the software I work > on is using thread affinity APIs to bind threads to specific CPUs. Solaris < > 11.2 and Illumos only support processor_bind()which has a limitation where a > thread can be bound to only one CPU, where Solaris >= 11.2 also supports > processor_affinity() where a thread can be bound to multiple CPUs. I quite > dislike GNU autoconf scripts and tend to extract OS name and major/minor > version via uname commands in a makefile and then expose various C macros to > work around API differences.
I would strongly advise feature detection instead of using versions. I don't think anybody particularly enjoys autoconf, but in this area they are often doing the right thing: if you care about the presence of a specific interface, you should use some feature detection mechanism to check for it. Cheers. -- Joshua M. Clulow http://blog.sysmgr.org ------------------------------------------ illumos: illumos-discuss Permalink: https://illumos.topicbox.com/groups/discuss/Te614dba5c9d949ba-M5373e902a4e28bd922dbb21a Delivery options: https://illumos.topicbox.com/groups/discuss/subscription