Add MinGW detection
diff --git a/src/Charmonizer/Core/Compiler.c b/src/Charmonizer/Core/Compiler.c
index 83177f2..f864a5d 100644
--- a/src/Charmonizer/Core/Compiler.c
+++ b/src/Charmonizer/Core/Compiler.c
@@ -69,12 +69,13 @@
     int       intval___clang__;
     int       intval___SUNPRO_C;
     int       is_cygwin;
+    int       is_mingw;
     chaz_CFlags *extra_cflags;
     chaz_CFlags *temp_cflags;
 } chaz_CC = {
     NULL, NULL, NULL,
     "", "", "", "", "", "",
-    0, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     NULL, NULL
 };
 
@@ -183,6 +184,9 @@
         if (chaz_CC_has_macro("__CYGWIN__")) {
             chaz_CC.is_cygwin = 1;
         }
+        if (chaz_CC_has_macro("__MINGW32__")) {
+            chaz_CC.is_mingw = 1;
+        }
     }
     else {
         chaz_Util_die("Failed to detect binary format");
@@ -556,6 +560,11 @@
     return chaz_CC.is_cygwin;
 }
 
+int
+chaz_CC_is_mingw(void) {
+    return chaz_CC.is_mingw;
+}
+
 const char*
 chaz_CC_link_command() {
     if (chaz_CC.intval__MSC_VER) {
diff --git a/src/Charmonizer/Core/Compiler.h b/src/Charmonizer/Core/Compiler.h
index 8190123..02e2925 100644
--- a/src/Charmonizer/Core/Compiler.h
+++ b/src/Charmonizer/Core/Compiler.h
@@ -151,6 +151,9 @@
 int
 chaz_CC_is_cygwin(void);
 
+int
+chaz_CC_is_mingw(void);
+
 const char*
 chaz_CC_link_command(void);