[Ecls-list] Help needed, really
DS
ecl at sol42.com
Sat Jan 1 20:23:40 UTC 2011
On 1 Jan 2011, at 20:13, Gabriel Dos Reis wrote:
> Anyway, I do no believe that the suggestion for ECL to make available
> its binary flavor is equivalent to building and maintaining a database
> of all imaginable ABIs and all combinations of processors.
I believe Juanjo was referring to the second obvious way to figure out
system info from C: conditional compilation. In that case the C code
would be sort of like
#if defined(linux)
...
#else if defined(FreeBSD)
...
#else if defined(__HAIKU__)
...
#else
...
#endif
and you have to know the exact symbol used by every supported platform:
some are lowercase, some are uppercase and have underscores, etc. Same
for system version and architecture. This would be the database Juanjo
does not want to build and maintain, and I find that understandable.
BTW this is the only way to tell one C compiler from another from
'inside' C that I know of.
The first obvious way (for me at least) would be the uname() libc call,
but it is more limited and as far as I know is not present on some
platforms, so it would require an autoconf test.
Figuring out the ILP32/LP64/whatever bit is a matter of comparing
sizeof()'s. It is also easy to figure out endianness. This is very
simple and portable C code.
OTOH configure scripts usually do some or all of these tests. GMP is
extremely platform-dependant and surely knows about all this.
Extracting the information from there might be easier and more portable.
Regards.
-DS
More information about the ecl-devel
mailing list