[Ecls-list] ecl 9.4.1 build trouble on Solaris 10/x86
Juan Jose Garcia-Ripoll
juanjose.garciaripoll at googlemail.com
Sat May 16 23:00:49 UTC 2009
On Sun, May 17, 2009 at 12:36 AM, Gabriel Dos Reis
<gdr at integrable-solutions.net> wrote:
> The point wasn't whether it was ugly. But whether it works on the platforms
> that do provide the headers. I believe ECL should use any approach that is
> deemed superior in that it works whenever Autoconf works. The current
> approach does not look it does.
What makes you say this? Just a single, outdated line in ecl.h that
affects a single platform and that I said I will change? I know we are
all tired -- at least I am -- but let's keep the misinformation at a
minimum. Keep on reading.
> The unimpressive array of #ifdefs is annoying, but it does not look like
> the implementation language (C) is the only t blame. It seems that
> writing a portable software in a "system" language implies some amount
> of that kind of stuff.
Yes, but it can be done in more or less obstrusive ways. "ugly" also
means dificult to maintain. The current approach of filling everything
with HAVE_ HAVE_nots is really annoying. I am now trying other
alternatives, defining macros that are computed at configuration time
by an autoconf program and then injected into config.h, not using
#ifdef It works and it does more than bare autoconf checks do, because
we need more information.
Except for _that_ platform, and that line, ECL currently tests the
existence of stdint, finds out whether this header defines the
appropriate types ([u]int{16,32,64}_t) and most important whether they
have the promised size. I did this for 16, 32 and 64 bits a few months
ago. Forgot to do it for 8. Period.
Juanjo
--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)
http://juanjose.garciaripoll.googlepages.com
More information about the ecl-devel
mailing list