rts: fix filename case for mingw32 target
authorSergei Trofimovich <slyfox@gentoo.org>
Tue, 5 Dec 2017 07:49:24 +0000 (07:49 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Tue, 5 Dec 2017 07:50:25 +0000 (07:50 +0000)
The failure is visible when we build a cross-compiler
from linux to mingw32 as:

```
    $ ./configure --host=x86_64-pc-linux-gnu \
                  --target=x86_64-w64-mingw32
    $ make
    rts/linker/PEi386.c:159:10: error:
         fatal error: Psapi.h: No such file or directory
         #include <Psapi.h>
                  ^~~~~~~~~
        |
    159 | #include <Psapi.h>
        |          ^
```

The problem here is case-sensitive linux filesystem. On windows
it does not matter what case is used for includes and libraries.

mingw32 provides all libraries and headers lowercase. This change
fixes case for <dbghelp.h>, <psapi.h>, -ldbghelp, -lpsapi.

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Reviewers: bgamari, erikd, simonmar

Reviewed By: bgamari

Subscribers: rwbarton, thomie, carter

Differential Revision: https://phabricator.haskell.org/D4247

rts/linker/PEi386.c
rts/package.conf.in
rts/rts.cabal.in
rts/win32/veh_excn.c

index 3dcf8c4..364f778 100644 (file)
@@ -156,7 +156,7 @@ static uint8_t* cstring_from_COFF_symbol_name(
 #include <inttypes.h>
 #include <dbghelp.h>
 #include <stdlib.h>
-#include <Psapi.h>
+#include <psapi.h>
 
 #if defined(x86_64_HOST_ARCH)
 static size_t makeSymbolExtra_PEi386(
index 52d7ef8..1746af5 100644 (file)
@@ -45,8 +45,8 @@ extra-libraries:
                               ,"wsock32"    /* for the linker */
                               ,"gdi32"      /* for the linker */
                               ,"winmm"      /* for the linker */
-                              ,"Dbghelp"    /* for crash dump */
-                              ,"Psapi"      /* for process information.  */
+                              ,"dbghelp"    /* for crash dump */
+                              ,"psapi"      /* for process information.  */
 #endif
 #if NEED_PTHREAD_LIB
                               , "pthread"   /* for pthread_getthreadid_np, pthread_create, etc. */
index 71aef3d..53b6271 100644 (file)
@@ -58,9 +58,9 @@ library
           -- for the linker
           wsock32 gdi32 winmm
           -- for crash dump
-          Dbghelp
+          dbghelp
           -- for process information
-          Psapi
+          psapi
     if flag(need-pthread)
        -- for pthread_getthreadid_np, pthread_create, ...
        extra-libraries: pthread
index fd50562..4b7d29a 100644 (file)
@@ -20,7 +20,7 @@
 #include <stdio.h>
 #include <excpt.h>
 #include <inttypes.h>
-#include <Dbghelp.h>
+#include <dbghelp.h>
 
 /////////////////////////////////
 // Exception / signal handlers.