Cygwin Perl and -Duselongdouble
Thu Jul 26 13:55:00 GMT 2007
> ----- Original Message ----- From: "Brian Dessent" <email@example.com>
> To: <firstname.lastname@example.org>
> 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
More information about the Cygwin