What platform is GHC for Windows built on?

I'm trying to solve a knotty problem with the network package on Windows at the moment: http://trac.haskell.org/network/ticket/5 This looks innocuous - the getaddrinfo function isn't available - but it's proving tricky to actually fix. In addition, I'm worried that if I do fix it (i.e. I can get autoconf to notice that getaddrinfo is really present), that the next binary release of GHC or the Platform on Windows might accidentally not work on releases of Windows older than XP, depending on what kind of host the code is built on.

On 13/05/2009 07:42, Bryan O'Sullivan wrote:
I'm trying to solve a knotty problem with the network package on Windows at the moment:
http://trac.haskell.org/network/ticket/5
This looks innocuous - the getaddrinfo function isn't available - but it's proving tricky to actually fix. In addition, I'm worried that if I do fix it (i.e. I can get autoconf to notice that getaddrinfo is really present), that the next binary release of GHC or the Platform on Windows might accidentally not work on releases of Windows older than XP, depending on what kind of host the code is built on.
One option is to check for its existence at runtime. Take a look at http://darcs.haskell.org/packages/directory/cbits/directory.c for an example of somewhere else we do this. GHC currently works on (allegedly) NT4 and later. Cheers, Simon

On Wed, May 13, 2009 at 12:50 AM, Simon Marlow
One option is to check for its existence at runtime. Take a look at
http://darcs.haskell.org/packages/directory/cbits/directory.c
for an example of somewhere else we do this.
GHC currently works on (allegedly) NT4 and later.
Are the prepackaged binaries built on NT4 too? I found a way to get getaddrinfo detected it works properly (which somewhat shocked me), but I have no way to test it on obsolete Windows releases. I can write a DLL-based shim that will look in ws2_32.dll first, then the older IPv6 preview code in wship6.dll, and if neither one is present, it will simply fail. If I do that, do you have a way to test it on, say, Windows 2000 or 2003 Server or such?

Hi
GHC currently works on (allegedly) NT4 and later.
Are the prepackaged binaries built on NT4 too? I found a way to get getaddrinfo detected it works properly (which somewhat shocked me), but I have no way to test it on obsolete Windows releases.
If there is an NT4 machine connected to the internet, you can be reasonably sure it's now part of a zombie net, so I wouldn't worry. I have Windows 2000, XP and Vista in the house. If you send me a fairly simple test, I'll run it and see what happens. Thanks Neil

On 13/05/2009 17:05, Bryan O'Sullivan wrote:
On Wed, May 13, 2009 at 12:50 AM, Simon Marlow
mailto:marlowsd@gmail.com> wrote: One option is to check for its existence at runtime. Take a look at
http://darcs.haskell.org/packages/directory/cbits/directory.c
for an example of somewhere else we do this.
GHC currently works on (allegedly) NT4 and later.
Are the prepackaged binaries built on NT4 too? I found a way to get getaddrinfo detected it works properly (which somewhat shocked me), but I have no way to test it on obsolete Windows releases.
I can write a DLL-based shim that will look in ws2_32.dll first, then the older IPv6 preview code in wship6.dll, and if neither one is present, it will simply fail. If I do that, do you have a way to test it on, say, Windows 2000 or 2003 Server or such?
Yep, we use 2003 Server to build all our Windows bundles. Cheers, Simon
participants (3)
-
Bryan O'Sullivan
-
Neil Mitchell
-
Simon Marlow