Provide configuration support and usage for MINGW32 platform


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28639 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/System/Win32/DynamicLibrary.inc b/lib/System/Win32/DynamicLibrary.inc
index 310d3dc..d214ba0 100644
--- a/lib/System/Win32/DynamicLibrary.inc
+++ b/lib/System/Win32/DynamicLibrary.inc
@@ -14,12 +14,18 @@
 #include "Win32.h"
 
 #ifdef __MINGW32__
-#include <imagehlp.h>
+ #include <imagehlp.h>
 #else
-#include <dbghelp.h>
+ #include <dbghelp.h>
 #endif
 
-#pragma comment(lib, "dbghelp.lib")
+#ifdef __MINGW32__
+ #if (HAVE_LIBIMAGEHLP != 1)
+  #error "libimagehlp.a should be present"
+ #endif
+#else
+ #pragma comment(lib, "dbghelp.lib")
+#endif
 
 namespace llvm {
 using namespace sys;
diff --git a/lib/System/Win32/Process.inc b/lib/System/Win32/Process.inc
index 5b090da..d5e80b4 100644
--- a/lib/System/Win32/Process.inc
+++ b/lib/System/Win32/Process.inc
@@ -16,7 +16,13 @@
 #include <malloc.h>
 #include <io.h>
 
-#pragma comment(lib, "psapi.lib")
+#ifdef __MINGW32__
+ #if (HAVE_LIBPSAPI != 1)
+  #error "libpsapi.a should be present"
+ #endif
+#else
+ #pragma comment(lib, "psapi.lib")
+#endif
 
 //===----------------------------------------------------------------------===//
 //=== WARNING: Implementation here must contain only Win32 specific code 
diff --git a/lib/System/Win32/Signals.inc b/lib/System/Win32/Signals.inc
index 333e387..a44c034 100644
--- a/lib/System/Win32/Signals.inc
+++ b/lib/System/Win32/Signals.inc
@@ -16,14 +16,20 @@
 #include <vector>
 
 #ifdef __MINGW32__
-#include <imagehlp.h>
+ #include <imagehlp.h>
 #else
-#include <dbghelp.h>
+ #include <dbghelp.h>
 #endif
 #include <psapi.h>
 
-#pragma comment(lib, "psapi.lib")
-#pragma comment(lib, "dbghelp.lib")
+#ifdef __MINGW32__
+ #if ((HAVE_LIBIMAGEHLP != 1) || (HAVE_LIBPSAPI != 1))
+  #error "libimagehlp.a & libpsapi.a should be present"
+ #endif
+#else
+ #pragma comment(lib, "psapi.lib")
+ #pragma comment(lib, "dbghelp.lib")
+#endif
 
 // Forward declare.
 static LONG WINAPI LLVMUnhandledExceptionFilter(LPEXCEPTION_POINTERS ep);