Joost Kraaijeveld wrote:
Hi,
I am trying to compile MICO, a CRBA implementation. It uses configure
for it's configuration.
Using "AC_CHECK_FUNCS(infnanl isnanl isinfl asinl ldexpl frexpl fabsl
floorl ceill):" in configure.in results in "#define HAVE_ASINL 1" in
config.h
This appears however to be not true: during the actual compilation the
compiler complains when encountering the function. There is actually no
header that defines the function, so the compiler is right ;-).
According to a mail I found on internet
(http://www.mico.org/pipermail/mico-devel/2005-March/009248.html) this
happens because configure does not uses a compiler header but creates
its own function prototype and the function is included in the libraries
(as far as I can see it appears to be in libstdc++.a)
1. Is the diagnose of the problem correct (I have looked into the macros
but I have to admit that I do not understand what they do) ?
2. If so, is there a solution for this problem?
3. If stdc++ contains asinl, is there a reason why it is not used?
Maybe you have omitted information, which might explain why you
discarded some obvious possibilities, but here are some points:
newlib doesn't include full support for long double math, as you hinted.
You could supply your own asinl() (easy way: use the built in x87
atan2l())).
If the function you want is in libstdc++, gcc doesn't see it, but g++
should see it.
You could fix the config.h manually, if, for example, you have a reason
for running it only under g++, but you want the result to be applicable
to gcc as well.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/