diff -urN taucs-2.2.1_orig/config/mingw.mk taucs-2.2.1/config/mingw.mk
--- taucs-2.2.1_orig/config/mingw.mk	1970-01-01 01:00:00.000000000 +0100
+++ taucs-2.2.1/config/mingw.mk	2025-10-15 18:39:53.236312200 +0200
@@ -0,0 +1,42 @@
+#########################################################
+# Mingw                                                #
+#########################################################
+OBJEXT=.o
+LIBEXT=.a
+EXEEXT= 
+F2CEXT=.f
+PATHSEP=/
+DEFFLG=-D
+
+FC        = gfortran
+FFLAGS    = -O3 -g -fno-second-underscore -Wall -std=legacy -ffixed-form
+FOUTFLG   =-o 
+
+COUTFLG   = -o
+
+# Sivan Feb 2025
+CFLAGS    = -O3 -Wall -std=c99  -Wno-implicit-function-declaration
+
+LD        = $(CC) 
+LDFLAGS   = 
+LOUTFLG   = $(COUTFLG)
+
+ARFLAGS   = cr
+AOUTFLG   =
+
+RANLIB    = ranlib
+RM        = rm -rf
+
+LIBF77 = -lg2c  
+
+# Sivan Feb 2025 trying to get it to compile and link again
+LIBBLAS   = -lopenblas
+LIBLAPACK = -lopenblas
+
+LIBMETIS  = -lmetis 
+LIBF77    = -lgfortran
+
+LIBC   = -lm 
+
+#########################################################
+
diff -urN taucs-2.2.1_orig/configurator/taucs_config.c taucs-2.2.1/configurator/taucs_config.c
--- taucs-2.2.1_orig/configurator/taucs_config.c	2025-02-17 06:49:06.000000000 +0100
+++ taucs-2.2.1/configurator/taucs_config.c	2025-10-15 18:42:09.479094600 +0200
@@ -2,6 +2,11 @@
 #include <stdlib.h>
 #include <string.h>
 
+#include <sys/stat.h>
+#include <sys/types.h>
+
+//extern int mkdir();
+
 #include "taucs_structure.h"
 
 #define INPUT_LEN 1024
@@ -240,14 +244,13 @@
   else
     sprintf(name,"%s%c%s",  configdir,pathsep,ostype);
 
-  if (win32) {
+  #ifdef _WIN32
     mkdir(configdir);
     mkdir(name);
-  }
-  else {
+  #else
     mkdir(configdir,0777);
     mkdir(name,0777);
-  }
+  #endif
 
   /* now create the configuration file */
 
@@ -299,14 +302,13 @@
   else
     sprintf(name,"%s%c%s",  configdir,pathsep,ostype);
 
-  if (win32) {
+  #ifdef _WIN32
     mkdir(configdir);
     mkdir(name);
-  }
-  else {
+  #else
     mkdir(configdir,0777);
     mkdir(name,0777);
-  }
+  #endif
 
   /* now create the makefile */
 
@@ -558,7 +560,7 @@
 
       fprintf(f, "%s: $(%s_content) $(STDDEPS)\n",get_full_name(i,0),base);
       fprintf(f,"\t- $(RM) %s\n",get_full_name(i,0));
-      fprintf(f,"\t$(AR) $(AOUTFLG)%s $(%s_content)\n",get_full_name(i,0),base);
+      fprintf(f,"\t$(AR) $(ARFLAGS) $(AOUTFLG)%s $(%s_content)\n",get_full_name(i,0),base);
       fprintf(f,"\t$(RANLIB) %s\n",get_full_name(i,0));
     }
 