[EMAIL PROTECTED] wrote:
----- Original Message ----- From: "Brian Dessent" <[EMAIL PROTECTED]>
To: <cygwin@cygwin.com>
Sent: Thursday, July 26, 2007 10:29 PM
Subject: Re: Cygwin Perl and -Duselongdouble
Oh ... it's probably just ignorance on my part.
If I can successfully run 'gcc script.c' (where 'script.c' contains a
call to 'sqrtl') then I'm inclined to say that sqrtl is "available in
the C compiler" (or something like that).
If your position is that availability as a built-in should suffice, you
may have a long row to hoe.
I gather from your response (and Corinna's) that there are also a couple
of things called 'newlib' and 'libc' that enter into the equation.
gcc itself supports only built-in functions. There are plenty of posts
in the archives concerning why cygwin doesn't use glibc rather than newlib.
I find it all quite confusing. My MinGW version of math.h specifically
prototypes the "long double" version of a number of functions (ceill,
floorl, sqrtl, modfl, ...), yet I can't find any mention of those
functions in any of the gcc headers on Linux or Cygwin.
mingw relies on Microsoft library support, where again there is no
separate long double. You are free to add prototypes to your cygwin
<math.h>, but you must take the further step of actually supplying a
function. It should not be difficult to make one for cygwin which
satisfies your purposes, whatever they are. For example, you could
build a function which uses the built-in, with its limitations.
/definitely Off Topic
If I call sqrtl on linux I have to link to -lm, on Cygwin I don't.
Most compilers on linux also have a built-in sqrtl. If you set the
right options in gcc, for example, you should be able to make a simple
test which gets by with that. You may have to check for bugs in
mathinline.h. Many distros do ugly things which can't be blamed on gcc
or glibc maintainers.
--
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/