On Sun, Sep 19, 2010 at 3:30 AM, Dr. David Kirkby <firstname.lastname@example.org>
One of the points about autoconf is you can make a test program and compile that. You should not need to hard-code information about a specific platform, but test on that platform.
On 09/18/10 11:36 PM, Juan Jose Garcia-Ripoll wrote:
What should I check for? What should I need on each version of Solaris that
exists out there? There is no way to treat that platform in a portable way
if that is waht you mean. It is not portable at all what the solaris people
opted for (having a separate library for sockets and also other libraries I
do not even know what for), and it is also not portable their changes among
OS releases. Autoconf does not help here: one would have to hardcode the
knowledge of which libraries are needed and which are not.
Autoconf is giving you a fake sense of security. Outside of standard features, the list of tests to be made is proportional to the number of differences of those platforms. And even then one cannot add those tests without checking the platform first. I mean I cannot add a check for -lintl without _knowing_ in advance in which platform it is going to succeed because that test may have the wrong effect in another platform.
In this case we are not talking about the existence or not of a library or of a function, but which libraries are needed on a certain platform to get a certain feature. That is not a portability check: it needs the history of that operating system, which chose to go an incompatible path. Now the question is when did Solaris stop needing intl library when linking sockets, if it ever did -- if it is used internally for error messages its need might not be obvious.