File taucs-2.2-configurator.patch of Package taucs

diff -aurN taucs-orig/CGAL-README.TXT taucs/CGAL-README.TXT
--- taucs-orig/CGAL-README.TXT	1970-01-01 01:00:00.000000000 +0100
+++ taucs/CGAL-README.TXT	2012-06-10 21:03:55.640878000 +0200
@@ -0,0 +1,133 @@
+                          taucs_full/CGAL-README.TXT
+                  -----------------------------------------
+
+TAUCS 2.2 official release is available from http://www.tau.ac.il/~stoledo/taucs
+
+This taucs_full.tgz archive contains a version modified by CGAL team
+to fix (minor) bugs and simplify the installation process.
+It contains the third-party libraries used by TAUCS (ATLAS, Metis, f2c, ...)
+precompiled for all platforms supported by CGAL 3.3 (including BLAS and LAPACK).
+
+If your platform is missing, you will have to compile them.
+taucs_exteral_src.tgz, available from the Download section of http://www.cgal.org,
+contains the necessary source files.
+
+
+Install instructions (Unix and Cygwin):
+--------------------------------------
+
+The version modified by CGAL team can be installed on Unix machines by:
+  ./configure [prefix=PREFIX]
+  make
+  make install
+
+See TAUCS documentation taucs.pdf to install the official release or customize TAUCS.
+
+TAUCS comes with the ATLAS library precompiled on some platforms.
+If ATLAS is slow or crashes on your machine, please recompile it. Source code
+can be downloaded from the official site http://math-atlas.sourceforge.net
+and is part of taucs_exteral_src.tgz (available from the Download section 
+of http://www.cgal.org).
+
+
+Install instructions (Windows):
+-------------------------------
+
+On Windows, CGAL 3.3 installer installs TAUCS precompiled for Visual C++ 7.1 and 8.0,
+including the third-party libraries used by TAUCS (ATLAS, Metis, f2c, ...), 
+thus most Windows users do not need to compile TAUCS.
+
+If for any reason you have to recompile TAUCS for the /MD runtime (in an MS-DOS Prompt Shell):
+    vsvars32.bat
+    configure variant=_MD
+    nmake
+Replace _MD by _ML or _MT for the /ML or /MT runtimes.
+
+CAUTION: TAUCS tends to crash when compiled with the debug runtimes /MDd, /MLd or /MTd!!!
+
+build_taucs_win32_for_CGAL.bat is a utility for CGAL developers: it compiles 
+all variants of TAUCS library for Windows/VisualC++, and copies the headers and library
+to include/ and lib/ folders with names appropriate for CGAL 3.3.
+
+ATLAS provides Blas and a subset of Lapack. It is precompiled for a Pentium 4 
+processor with SSE2 instructions. If ATLAS is slow or crashes on your machine, 
+please recompile it. Source code can be downloaded from the official site
+http://math-atlas.sourceforge.net and is part of taucs_exteral_src.tgz 
+(available from the Download section of http://www.cgal.org).
+
+You may use TAUCS with other Blas libraries like Intel's MKL, AMD Core Math
+Library or Goto Blas.
+See TAUCS documentation taucs.pdf to create a "variant" makefile to compile TAUCS
+with the appropriate Blas library and runtime.
+config\win32_mkl_MD.mk is an example compiling TAUCS with the /MD runtime
+and Intel's MKL library.
+Example (in an MS-DOS Prompt Shell):
+    vsvars32.bat
+    configure variant=_mkl_MD
+    nmake
+
+
+Changes in CGAL 3.3
+-------------------
+
+* Added _MT, _ML, _MDd, _MLd and _MTd variants for Visual C++.
+CAUTION: TAUCS tends to crash when compiled with the debug runtimes /MDd, /MLd or /MTd!!!
+
+* Added build_taucs_win32_for_CGAL.bat.
+
+* Fixed bug in taucs_available_memory_size() on Linux 2.6.
+  Implemented taucs_system_memory_size() for Cygwin.
+
+* Added darwin_intel platform for Intel Macs.
+
+* Removed -Werror (all warnings are errors) compilation option to support gcc 4.
+
+* Added libg2c.so in external/lib/linux/ and external/lib/solaris/ to support gcc 4.x.
+TODO: do the same for irix.
+
+* ATLAS' liblapack.a replaced by an hybrid ATLAS/Reference LAPACK implementation library
+(in external/lib/linux/, external/lib/win32_MD/, external/lib/cygwin/ and external/lib/solaris/).
+
+* linux_intel.mk updated for Intel C++ 9.
+
+* testscript restores now TAUCS library and header files at the end of the test.
+
+
+Changes in CGAL 3.2 (compared to TAUCS 2.2 at http://www.tau.ac.il/~stoledo/taucs)
+----------------------------------------------------------------------------------
+
+* Fixed bug in taucs_system_memory_size() on Linux 2.6.
+
+* Fixed bugs in configure in $OSTYPE computation.
+
+* Changed taucs_config.c to add an "install" target to the makefile.
+
+* Changed in all .mk makefiles, "COUTFLG   = -o " by "COUTFLG   = -o ./"
+because by editor removes trailing slashes. Same thing for FOUTFLG.
+
+* Added "LIBMETIS = -Lexternal/lib/solaris -lmetis" to the cc section of solaris.mk.
+
+* Precompiled Metis on Darwin
+
+* Added support for cygwin/gcc:
+- cygwin.mk
+- external/lib/cygwin libraries
+
+* Changed the INTEL MKL library(ies) from "C:\Program Files\Intel\MKL60\ia32\lib\mkl_s.lib"
+to "mkl_c.lib libguide40.lib" in win32.mk
+
+* Added win32_MD variant to compile TAUCS with Visual C++ and the
+multithreaded DLL runtime (option /MD):
+- win32_MD.mk
+- external/lib/win32_MD libraries
+
+* Added win32_mkl_MD.mk to compile TAUCS with Visual C++, INTEL's MKL and the
+multithreaded DLL runtime (option /MD).
+
+* Removed external libraries for Windows and the multithreaded runtime (option /MT)
+in order to save space.
+
+
+Laurent Saboret
+Laurent.Saboret@sophia.inria.fr
+May 2007
diff -aurN taucs-orig/config/cygwin.mk taucs/config/cygwin.mk
--- taucs-orig/config/cygwin.mk	1970-01-01 01:00:00.000000000 +0100
+++ taucs/config/cygwin.mk	2012-06-10 21:03:55.640878000 +0200
@@ -0,0 +1,50 @@
+#########################################################
+# Cygwin/gcc                                            #
+# LS 2006: created from linux.mk                        #
+#########################################################
+OBJEXT=.o
+LIBEXT=.a
+EXEEXT=
+F2CEXT=.f
+PATHSEP=/
+DEFFLG=-D
+
+FC        = g77
+FFLAGS    = -O3 -g -fno-second-underscore -Wall
+FOUTFLG   = -o ./
+
+COUTFLG   = -o ./
+CFLAGS    = -O3 -g -D_POSIX_C_SOURCE=199506L -Wall -pedantic -ansi -fPIC -fexceptions -D_GNU_SOURCE
+CFLAGS    = -g -O3 -Wall -pedantic -ansi
+# for some reason, -std=c99 -pedantic crashes
+# with the error message "imaginary constants are a GCC extension"
+# (seems to be a gcc bug, gcc 3.3.1)
+CFLAGS    = -O3 -Wall -std=c89 -pedantic
+CFLAGS    = -O3 -Wall -std=c99
+
+LD        = $(CC)
+LDFLAGS   =
+LOUTFLG   = $(COUTFLG)
+
+AR        = ar cr
+AOUTFLG   =
+
+RANLIB    = ranlib
+RM        = rm -rf
+
+LIBBLAS   = -L external/lib/cygwin -lf77blas -lcblas -latlas
+LIBLAPACK = -L external/lib/cygwin -llapack
+
+LIBMETIS  = -L external/lib/cygwin -lmetis
+
+LIBF77 = -lg2c
+LIBC   = -lm
+
+#########################################################
+
+
+
+
+
+
+
diff -aurN taucs-orig/config/darwin_intel.mk taucs/config/darwin_intel.mk
--- taucs-orig/config/darwin_intel.mk	1970-01-01 01:00:00.000000000 +0100
+++ taucs/config/darwin_intel.mk	2012-06-10 21:03:55.640878000 +0200
@@ -0,0 +1,44 @@
+#########################################################
+# Darwin (MacOSX) for Intel processors                  #
+#########################################################
+OBJEXT=.o
+LIBEXT=.a
+EXEEXT=
+F2CEXT=.c
+PATHSEP=/
+DEFFLG=-D
+
+#CC        = gcc
+CFLAGS    = -O3
+COUTFLG   = -o ./
+
+FC        = $(CC)
+FFLAGS    = $(CFLAGS)
+FOUTFLG   = $(COUTFLG)
+
+LD        = $(CC)
+LDFLAGS   = $(CFLAGS)
+LOUTFLG   = $(COUTFLG)
+
+AR        = ar -cr
+AOUTFLG   =
+
+RANLIB    = ranlib
+RM        = rm -rf
+
+LIBBLAS   = -framework vecLib
+LIBLAPACK =
+LIBMETIS  = -Lexternal/lib/darwin_intel -lmetis
+
+LIBF77 = -Lexternal/lib/darwin_intel -lf2c
+# crypto is for ftime, which is used by the timing routines
+LIBC   = -lm -lcrypto
+
+#########################################################
+
+
+
+
+
+
+
diff -aurN taucs-orig/config/darwin.mk taucs/config/darwin.mk
--- taucs-orig/config/darwin.mk	2003-08-24 12:10:51.000000000 +0200
+++ taucs/config/darwin.mk	2012-06-10 21:03:55.644878000 +0200
@@ -1,9 +1,9 @@
 #########################################################
-# Linux                                                 #
+# Darwin (MacOSX) for PowerPC processors                #
 #########################################################
 OBJEXT=.o
 LIBEXT=.a
-EXEEXT= 
+EXEEXT=
 F2CEXT=.c
 PATHSEP=/
 DEFFLG=-D
@@ -16,7 +16,7 @@
 FFLAGS    = $(CFLAGS)
 FOUTFLG   = $(COUTFLG)
 
-LD        = $(CC) 
+LD        = $(CC)
 LDFLAGS   = $(CFLAGS)
 LOUTFLG   = $(COUTFLG)
 
@@ -27,7 +27,7 @@
 RM        = rm -rf
 
 LIBBLAS   = -framework vecLib
-LIBLAPACK = 
+LIBLAPACK =
 LIBMETIS  = -Lexternal/lib/darwin -lmetis
 
 LIBF77 = -Lexternal/lib/darwin -lf2c
diff -aurN taucs-orig/config/FreeBSD.mk taucs/config/FreeBSD.mk
--- taucs-orig/config/FreeBSD.mk	2003-08-28 17:13:38.000000000 +0200
+++ taucs/config/FreeBSD.mk	2012-06-10 21:03:55.644878000 +0200
@@ -3,20 +3,20 @@
 #########################################################
 OBJEXT=.o
 LIBEXT=.a
-EXEEXT= 
+EXEEXT=
 F2CEXT=.f
 PATHSEP=/
 DEFFLG=-D
 
 FC        ?= f77
 FFLAGS    += -Os -fno-second-underscore
-FOUTFLG   =-o 
+FOUTFLG   = -o ./
 
 #CC        = cc
 CFLAGS    += -Os -D_POSIX_C_SOURCE=199506L -fPIC
-COUTFLG   = -o
+COUTFLG   = -o ./
 
-LD        = $(CC) 
+LD        = $(CC)
 LDFLAGS   = $(CFLAGS) -static
 LOUTFLG   = $(COUTFLG)
 
@@ -29,10 +29,10 @@
 LIBBLAS   = -L/usr/local/lib -lf77blas -lcblas -latlas -lg2c
 LIBLAPACK = -L/usr/local/lib -llapack
 
-LIBMETIS  = -L/usr/local/lib -lmetis 
+LIBMETIS  = -L/usr/local/lib -lmetis
 
-LIBF77 = -lg2c  
+LIBF77 = -lg2c
 #compat is required for ftime()
-LIBC   = -lm -lcompat 
+LIBC   = -lm -lcompat
 
 #########################################################
diff -aurN taucs-orig/config/irix_cilk.mk taucs/config/irix_cilk.mk
--- taucs-orig/config/irix_cilk.mk	2003-09-04 11:47:58.000000000 +0200
+++ taucs/config/irix_cilk.mk	2012-06-10 21:03:55.644878000 +0200
@@ -10,19 +10,19 @@
 
 CC        = gcc
 COUTFLG   = -o ./
-CFLAGS    = -O3 -Wall -Werror -std=c89
+CFLAGS    = -O3 -Wall -std=c89
 
 CILKC      = ../cilk-devel/current/support/cilkclocal
 CILKOUTFLG = -o ./
 CILKFLAGS  = -O3 -x cilk
 
 LD        = $(CILKC)
-LDFLAGS   = 
+LDFLAGS   =
 LOUTFLG   = -o ./
 
 LIBBLAS   = -lcomplib.sgimath
 LIBMETIS  = -Lexternal/lib/irix -lmetis32
 
 LIBF77    = -L /usr/local/gcc3/lib/gcc-lib/mips-sgi-irix6.5/3.0.4/mabi=64 -lg2c -lgcc
-LIBF77    = 
+LIBF77    =
 LIBC      = -lc -lm
diff -aurN taucs-orig/config/irix.mk taucs/config/irix.mk
--- taucs-orig/config/irix.mk	2003-09-04 11:22:14.000000000 +0200
+++ taucs/config/irix.mk	2012-06-10 21:03:55.644878000 +0200
@@ -3,20 +3,20 @@
 #########################################################
 OBJEXT=.o
 LIBEXT=.a
-EXEEXT= 
+EXEEXT=
 F2CEXT=.f
 PATHSEP=/
 DEFFLG=-D
 
 FC        = f77
 FFLAGS    = -64 -mips4 -O3
-FOUTFLG   = -o
+FOUTFLG   = -o ./
 
 CC        = cc
 CFLAGS    = -64 -mips4 -O3 -diag_suppress 1174,1552
-COUTFLG   = -o
+COUTFLG   = -o ./
 
-LD        = $(CC) 
+LD        = $(CC)
 LDFLAGS   = $(CFLAGS)
 LOUTFLG   = $(COUTFLG)
 
@@ -28,10 +28,10 @@
 
 LIBBLAS   = -lcomplib.sgimath
 LIBBLAS   = -lcomplib.sgimath_mp
-LIBLAPACK = 
+LIBLAPACK =
 LIBMETIS  = -L external/lib/irix -lmetis64
 
-LIBF77    = 
+LIBF77    =
 LIBC      = -lc -lm
 
 #########################################################
diff -aurN taucs-orig/config/linux_intel.mk taucs/config/linux_intel.mk
--- taucs-orig/config/linux_intel.mk	2003-08-31 13:46:20.000000000 +0200
+++ taucs/config/linux_intel.mk	2012-06-10 21:03:55.644878000 +0200
@@ -5,17 +5,17 @@
 #########################################################
 OBJEXT=.o
 LIBEXT=.a
-EXEEXT= 
+EXEEXT=
 F2CEXT=.f
 PATHSEP=/
 DEFFLG=-D
 
-FC        = ifc
-FFLAGS    = -O3 
+FC        = ifort
+FFLAGS    = -O3
 FOUTFLG   =-o ./
 
 # -Xc: strict ANSI (Xa is extended, -c99 is C99)
-# -c99: some c99 features (-c99- to disallow)
+# -c99: some c99 features (-no-c99 to disallow)
 # -axW: generate Pentium4 optimized code, as well as generic 386
 # -axK: generate Pentium3 optimized code, as well as generic 386
 # -xK, -XW: generate Pentium? optimized code only
@@ -24,15 +24,15 @@
 # -fno-fnalias: no array aliasing within functions
 CC        = icc
 CFLAGS    = -O3 -D_POSIX_C_SOURCE=199506L -c99
-CFLAGS    = -O3 -D_POSIX_C_SOURCE=199506L -Xc -axW -ansi_alias -fno-fnalias -w1 -Werror
-CFLAGS    = -c99 -O3 -D_POSIX_C_SOURCE=199506L -Xc \
+CFLAGS    = -O3 -D_POSIX_C_SOURCE=199506L -Xc -axW -ansi_alias -fno-fnalias -w1
+CFLAGS    = -no-c99 -O3 -D_POSIX_C_SOURCE=199506L -Xc \
             -xK \
             -vec_report0 \
             -ansi_alias -fno-fnalias \
-            -w1 -Werror 
+            -w1
 COUTFLG   = -o ./
 
-LD        = $(CC) 
+LD        = $(CC)
 LDFLAGS   = $(CFLAGS)
 LOUTFLG   = $(COUTFLG)
 
@@ -42,13 +42,12 @@
 RANLIB    = ranlib
 RM        = rm -rf
 
-LIBBLAS   = external/lib/linux/blas_aux.o \
-            -L external/lib/linux -lf77blas -lcblas -latlas
-LIBLAPACK = -L external/lib/linux -llapack
-LIBMETIS  = -L external/lib/linux -lmetis 
+LIBBLAS   = -L external/lib/linux_intel -lf77blas -lcblas -latlas
+LIBLAPACK = -L external/lib/linux_intel -llapack
+LIBMETIS  = -L external/lib/linux -lmetis
 
-LIBF77 = -lCEPCF90 -lIEPCF90 -lintrins -lF90 -limf -lpthread 
-LIBC   = 
+LIBF77 = -L /opt/intel/fc/*/lib -lifcore -limf -lpthread
+LIBC   =
 
 #########################################################
 
diff -aurN taucs-orig/config/linux.mk taucs/config/linux.mk
--- taucs-orig/config/linux.mk	2003-09-01 14:14:59.000000000 +0200
+++ taucs/config/linux.mk	2012-06-10 22:06:38.840878001 +0200
@@ -1,28 +1,28 @@
 #########################################################
-# Linux                                                 #
+# Linux gcc 2.9.x or 3.x                                #
 #########################################################
 OBJEXT=.o
 LIBEXT=.a
-EXEEXT= 
+EXEEXT=
 F2CEXT=.f
 PATHSEP=/
 DEFFLG=-D
-
-FC        = g77
-FFLAGS    = -O3 -g -fno-second-underscore -Wall 
-FOUTFLG   =-o 
-
-COUTFLG   = -o
-CFLAGS    = -O3 -g -D_POSIX_C_SOURCE=199506L -Wall -pedantic -ansi -fPIC -fexceptions -D_GNU_SOURCE 
-CFLAGS    = -g -O3 -Wall -Werror -pedantic -ansi 
-# for some reason, -std=c99 -pedantic crashes 
+OPT_FLAGS =
+FC        = gfortran
+FFLAGS    = -O2 -g -fno-second-underscore -Wall $(OPT_FLAGS)
+FOUTFLG   = -o ./
+
+COUTFLG   = -o ./
+#CFLAGS    = -O0 -g -D_POSIX_C_SOURCE=199506L -Wall -pedantic -ansi -fPIC -fexceptions -D_GNU_SOURCE $(OPT_FLAGS)
+#CFLAGS    = -g -O2 -Wall -pedantic -ansi $(OPT_FLAGS)
+# for some reason, -std=c99 -pedantic crashes
 # with the error message "imaginary constants are a GCC extension"
 # (seems to be a gcc bug, gcc 3.3.1)
-CFLAGS    = -O3 -Wall -Werror -std=c89 -pedantic
-CFLAGS    = -O3 -Wall -Werror -std=c99 
+#CFLAGS    = -O2 -Wall -std=c89 -pedantic $(OPT_FLAGS)
+CFLAGS    = -O2 -Wall -std=c99 $(OPT_FLAGS)
 
-LD        = $(CC) 
-LDFLAGS   = 
+LD        = $(FC)
+LDFLAGS   =
 LOUTFLG   = $(COUTFLG)
 
 AR        = ar cr
@@ -39,10 +39,10 @@
 LIBBLAS   = -L external/lib/linux -lf77blas -lcblas -latlas
 LIBLAPACK = -L external/lib/linux -llapack
 
-LIBMETIS  = -L external/lib/linux -lmetis 
+LIBMETIS  = -L external/lib/linux -lmetis
 
-LIBF77 = -lg2c  
-LIBC   = -lm 
+LIBF77 = -lg2c
+LIBC   = -lm
 
 #########################################################
 
diff -aurN taucs-orig/config/solaris_cilk.mk taucs/config/solaris_cilk.mk
--- taucs-orig/config/solaris_cilk.mk	2003-09-04 11:56:17.000000000 +0200
+++ taucs/config/solaris_cilk.mk	2012-06-10 21:03:55.644878000 +0200
@@ -10,14 +10,14 @@
 
 CC        = gcc
 COUTFLG   = -o ./
-CFLAGS    = -O3 -Wall -Werror -std=c89
+CFLAGS    = -O3 -Wall -std=c89
 
 CILKC      = /export/home/stoledo/cilk-devel/current/support/cilkclocal
 CILKOUTFLG = -o ./
 CILKFLAGS  = -O3 -x cilk
 
 LD        = $(CILKC)
-LDFLAGS   = 
+LDFLAGS   =
 LOUTFLG   = -o ./
 
 LIBMETIS  = -Lexternal/lib/solaris -lmetis
@@ -25,7 +25,7 @@
 # the -lpthread is to compensate in some bug in cilkclocal
 # that Bradley reported to me.
 
-LIBF77    = 
+LIBF77    =
 LIBC      = -lpthread -lc -lm
 
 #########################################################
diff -aurN taucs-orig/config/solaris.mk taucs/config/solaris.mk
--- taucs-orig/config/solaris.mk	2003-09-04 11:55:41.000000000 +0200
+++ taucs/config/solaris.mk	2012-06-10 21:03:55.644878000 +0200
@@ -3,7 +3,7 @@
 #########################################################
 OBJEXT=.o
 LIBEXT=.a
-EXEEXT= 
+EXEEXT=
 F2CEXT=.f
 PATHSEP=/
 DEFFLG=-D
@@ -22,7 +22,7 @@
 CFLAGS    = -Xc -xO3
 COUTFLG   = -o ./
 
-LD        = $(CC) 
+LD        = $(CC)
 LDFLAGS   = $(CFLAGS)
 LOUTFLG   = $(COUTFLG)
 
@@ -33,10 +33,10 @@
 RM        = /bin/rm
 
 LIBBLAS   = -L /opt/SUNWspro/lib -lsunperf -lsunmath -lfsu
-LIBLAPACK = 
-LIBMETIS  = 
+LIBLAPACK =
+LIBMETIS  = -Lexternal/lib/solaris -lmetis
 
-LIBF77    = -lF77 -lM77 
+LIBF77    = -lF77 -lM77
 LIBC      = -lsunmath -lm -lcx -lc -lmalloc
 
 #########################################################
@@ -47,13 +47,13 @@
 
 FC        = g77
 FFLAGS    = -O3 -g -fno-second-underscore -Wall
-FOUTFLG   =-o 
+FOUTFLG   = -o ./
 
 CC        = gcc
-CFLAGS    = -O3 -g -D_POSIX_C_SOURCE=199506L -Wall -pedantic -ansi -D_GNU_SOURCE 
-COUTFLG   = -o
+CFLAGS    = -O3 -g -D_POSIX_C_SOURCE=199506L -Wall -pedantic -ansi -D_GNU_SOURCE
+COUTFLG   = -o ./
 
-LD        = $(CC) 
+LD        = $(CC)
 LDFLAGS   = $(CFLAGS)
 LOUTFLG   = $(COUTFLG)
 
@@ -66,10 +66,10 @@
 LIBBLAS   = -Lexternal/lib/solaris -lf77blas -lcblas -latlas -lg2c
 LIBLAPACK = -Lexternal/lib/solaris -llapack -lg2c
 
-LIBMETIS  = -Lexternal/lib/solaris -lmetis 
+LIBMETIS  = -Lexternal/lib/solaris -lmetis
 
-LIBF77 = -lg2c  
-LIBC   = -lm 
+LIBF77 = -lg2c
+LIBC   = -lm
 
 #########################################################
 
diff -aurN taucs-orig/config/win32_MDd.mk taucs/config/win32_MDd.mk
--- taucs-orig/config/win32_MDd.mk	1970-01-01 01:00:00.000000000 +0100
+++ taucs/config/win32_MDd.mk	2012-06-10 21:03:55.644878000 +0200
@@ -0,0 +1,26 @@
+#########################################################
+# WIN32 with debug multithreaded DLL runtime            #
+#########################################################
+
+#CFLAGS    = /nologo /Od /W3 /D "WIN32" /MDd /ZI /Fd"obj\\win32_MDd\\libtaucs.pdb"
+CFLAGS    = /nologo /O2 /W3 /D "WIN32" /MDd
+
+LDFLAGS   = /nologo /MDd /F64000000
+
+#LIBBLAS   = external\\lib\\win32\\blas_win32.lib
+#LIBLAPACK = external\\lib\\win32\\lapack_win32.lib
+
+LIBBLAS   = external\\lib\\win32\\libf77blas.lib external\\lib\\win32\\libcblas.lib external\\lib\\win32\\libatlas.lib
+LIBLAPACK = external\\lib\\win32\\liblapack.lib
+
+LIBMETIS  = external\\lib\\win32_MDd\\libmetis.lib
+LIBF77    = external\\lib\\win32_MDd\\vcf2c.lib
+
+
+
+
+
+
+
+
+
diff -aurN taucs-orig/config/win32_MD.mk taucs/config/win32_MD.mk
--- taucs-orig/config/win32_MD.mk	1970-01-01 01:00:00.000000000 +0100
+++ taucs/config/win32_MD.mk	2012-06-10 21:03:55.648878000 +0200
@@ -0,0 +1,25 @@
+#########################################################
+# WIN32 with multithreaded DLL runtime                  #
+#########################################################
+
+CFLAGS    = /nologo /O2 /W3 /D "WIN32" /MD
+
+LDFLAGS   = /nologo /MD /F64000000
+
+#LIBBLAS   = external\\lib\\win32\\blas_win32.lib
+#LIBLAPACK = external\\lib\\win32\\lapack_win32.lib
+
+LIBBLAS   = external\\lib\\win32\\libf77blas.lib external\\lib\\win32\\libcblas.lib external\\lib\\win32\\libatlas.lib
+LIBLAPACK = external\\lib\\win32\\liblapack.lib
+
+LIBMETIS  = external\\lib\\win32_MD\\libmetis.lib
+LIBF77    = external\\lib\\win32_MD\\vcf2c.lib
+
+
+
+
+
+
+
+
+
diff -aurN taucs-orig/config/win32.mk taucs/config/win32.mk
--- taucs-orig/config/win32.mk	2003-08-24 12:10:51.000000000 +0200
+++ taucs/config/win32.mk	2012-06-10 21:03:55.648878000 +0200
@@ -1,11 +1,11 @@
 #########################################################
-# WIN32                                                 #
+# WIN32 (common part)                                   #
 #########################################################
 OBJEXT=.obj
 LIBEXT=.lib
 EXEEXT=.exe
 F2CEXT=.c
-# make sure there is a space after the backslash
+# make sure there is NO space after the backslash
 PATHSEP=\\
 DEFFLG=/D
 
@@ -27,17 +27,17 @@
 
 RANLIB    = echo
 
-LIBBLAS   = "C:\Program Files\Intel\MKL60\ia32\lib\mkl_s.lib"
-LIBLAPACK = 
+#LIBBLAS   = mkl_c.lib libguide40.lib
+#LIBLAPACK = 
 
-LIBBLAS   = external\\lib\\win32\\blas_win32.lib
-LIBLAPACK = external\\lib\\win32\\lapack_win32.lib
+#LIBBLAS   = external\\lib\\win32\\blas_win32.lib
+#LIBLAPACK = external\\lib\\win32\\lapack_win32.lib
 
-LIBBLAS   = external\\lib\\win32\\libf77blas.lib external\\lib\\win32\\libcblas.lib external\\lib\\win32\\libatlas.lib
-LIBLAPACK = external\\lib\\win32\\liblapack.lib
+#LIBBLAS   = external\\lib\\win32\\libf77blas.lib external\\lib\\win32\\libcblas.lib external\\lib\\win32\\libatlas.lib
+#LIBLAPACK = external\\lib\\win32\\liblapack.lib
 
-LIBMETIS  = external\\lib\\win32\\libmetis.lib
-LIBF77    = external\\lib\\win32\\vcf2c.lib
+#LIBMETIS  = external\\lib\\win32\\libmetis.lib
+#LIBF77    = external\\lib\\win32\\vcf2c.lib
 LIBC      =
 
 
diff -aurN taucs-orig/config/win32_mkl_MD.mk taucs/config/win32_mkl_MD.mk
--- taucs-orig/config/win32_mkl_MD.mk	1970-01-01 01:00:00.000000000 +0100
+++ taucs/config/win32_mkl_MD.mk	2012-06-10 21:03:55.648878000 +0200
@@ -0,0 +1,22 @@
+#########################################################
+# WIN32 MKL variant with multithreaded DLL runtime      #
+#########################################################
+
+CFLAGS    = /nologo /O2 /W3 /D "WIN32" /MD
+
+LDFLAGS   = /nologo /MD /F64000000
+
+LIBBLAS   = mkl_c.lib libguide40.lib
+LIBLAPACK = 
+
+LIBMETIS  = external\\lib\\win32_MD\\libmetis.lib
+LIBF77    = external\\lib\\win32_MD\\vcf2c.lib
+
+
+
+
+
+
+
+
+
diff -aurN taucs-orig/config/win32_MLd.mk taucs/config/win32_MLd.mk
--- taucs-orig/config/win32_MLd.mk	1970-01-01 01:00:00.000000000 +0100
+++ taucs/config/win32_MLd.mk	2012-06-10 21:03:55.648878000 +0200
@@ -0,0 +1,26 @@
+#########################################################
+# WIN32 with debug single thread runtime                #
+#########################################################
+
+#CFLAGS    = /nologo /Od /W3 /D "WIN32" /MLd /ZI /Fd"obj\\win32_MLd\\libtaucs.pdb"
+CFLAGS    = /nologo /O2 /W3 /D "WIN32" /MLd
+
+LDFLAGS   = /nologo /MLd /F64000000
+
+#LIBBLAS   = external\\lib\\win32\\blas_win32.lib
+#LIBLAPACK = external\\lib\\win32\\lapack_win32.lib
+
+LIBBLAS   = external\\lib\\win32\\libf77blas.lib external\\lib\\win32\\libcblas.lib external\\lib\\win32\\libatlas.lib
+LIBLAPACK = external\\lib\\win32\\liblapack.lib
+
+LIBMETIS  = external\\lib\\win32_MLd\\libmetis.lib
+LIBF77    = external\\lib\\win32_MLd\\vcf2c.lib
+
+
+
+
+
+
+
+
+
diff -aurN taucs-orig/config/win32_ML.mk taucs/config/win32_ML.mk
--- taucs-orig/config/win32_ML.mk	1970-01-01 01:00:00.000000000 +0100
+++ taucs/config/win32_ML.mk	2012-06-10 21:03:55.648878000 +0200
@@ -0,0 +1,25 @@
+#########################################################
+# WIN32 with single thread runtime                      #
+#########################################################
+
+CFLAGS    = /nologo /O2 /W3 /D "WIN32" /ML
+
+LDFLAGS   = /nologo /ML /F64000000
+
+#LIBBLAS   = external\\lib\\win32\\blas_win32.lib
+#LIBLAPACK = external\\lib\\win32\\lapack_win32.lib
+
+LIBBLAS   = external\\lib\\win32\\libf77blas.lib external\\lib\\win32\\libcblas.lib external\\lib\\win32\\libatlas.lib
+LIBLAPACK = external\\lib\\win32\\liblapack.lib
+
+LIBMETIS  = external\\lib\\win32_ML\\libmetis.lib
+LIBF77    = external\\lib\\win32_ML\\vcf2c.lib
+
+
+
+
+
+
+
+
+
diff -aurN taucs-orig/config/win32_MTd.mk taucs/config/win32_MTd.mk
--- taucs-orig/config/win32_MTd.mk	1970-01-01 01:00:00.000000000 +0100
+++ taucs/config/win32_MTd.mk	2012-06-10 21:03:55.648878000 +0200
@@ -0,0 +1,26 @@
+#########################################################
+# WIN32 with debug multithreaded static runtime         #
+#########################################################
+
+#CFLAGS    = /nologo /Od /W3 /D "WIN32" /MTd /ZI /Fd"obj\\win32_MTd\\libtaucs.pdb"
+CFLAGS    = /nologo /O2 /W3 /D "WIN32" /MTd
+
+LDFLAGS   = /nologo /MTd /F64000000
+
+#LIBBLAS   = external\\lib\\win32\\blas_win32.lib
+#LIBLAPACK = external\\lib\\win32\\lapack_win32.lib
+
+LIBBLAS   = external\\lib\\win32\\libf77blas.lib external\\lib\\win32\\libcblas.lib external\\lib\\win32\\libatlas.lib
+LIBLAPACK = external\\lib\\win32\\liblapack.lib
+
+LIBMETIS  = external\\lib\\win32_MTd\\libmetis.lib
+LIBF77    = external\\lib\\win32_MTd\\vcf2c.lib
+
+
+
+
+
+
+
+
+
diff -aurN taucs-orig/config/win32_MT.mk taucs/config/win32_MT.mk
--- taucs-orig/config/win32_MT.mk	1970-01-01 01:00:00.000000000 +0100
+++ taucs/config/win32_MT.mk	2012-06-10 21:03:55.648878000 +0200
@@ -0,0 +1,25 @@
+#########################################################
+# WIN32 with multithreaded static runtime               #
+#########################################################
+
+CFLAGS    = /nologo /O2 /W3 /D "WIN32" /MT
+
+LDFLAGS   = /nologo /MT /F64000000
+
+#LIBBLAS   = external\\lib\\win32\\blas_win32.lib
+#LIBLAPACK = external\\lib\\win32\\lapack_win32.lib
+
+LIBBLAS   = external\\lib\\win32\\libf77blas.lib external\\lib\\win32\\libcblas.lib external\\lib\\win32\\libatlas.lib
+LIBLAPACK = external\\lib\\win32\\liblapack.lib
+
+LIBMETIS  = external\\lib\\win32_MT\\libmetis.lib
+LIBF77    = external\\lib\\win32_MT\\vcf2c.lib
+
+
+
+
+
+
+
+
+
diff -aurN taucs-orig/configurator/makefile.unix taucs/configurator/makefile.unix
--- taucs-orig/configurator/makefile.unix	2003-08-05 09:20:44.000000000 +0200
+++ taucs/configurator/makefile.unix	2012-06-10 22:26:36.260878001 +0200
@@ -1,6 +1,6 @@
 
 configurator/configurator: configurator/taucs_config.c configurator/taucs_structure.h
-	$(CC) -o $@ configurator/taucs_config.c
+	$(CC) $(RPM_OPT_FLAGS) -o $@ configurator/taucs_config.c
 
 clean:
 	- /bin/rm configurator/configurator
diff -aurN taucs-orig/configurator/taucs_config.c taucs/configurator/taucs_config.c
--- taucs-orig/configurator/taucs_config.c	2003-09-04 11:08:32.000000000 +0200
+++ taucs/configurator/taucs_config.c	2012-06-10 21:03:55.652878000 +0200
@@ -13,6 +13,15 @@
 char  pathsep      = '/';
 int   win32        = 0;
 
+/* LS 2006: installation directory (default is Unix) */
+#define DEFAULT_UNIX_INSTALL_DIR    "/usr/local"
+#define DEFAULT_WINDOWS_INSTALL_DIR "\"%MSVCDir%\""
+char* install_dir = DEFAULT_UNIX_INSTALL_DIR;
+
+/* LS 2006: installation command */
+#define UNIX_INSTALL_CMD    "install -c -m 644"
+#define WINDOWS_INSTALL_CMD "copy"
+
 void mark_dependants()
 {
   int i,j,k;
@@ -50,7 +59,7 @@
 	     modules[i].name,
 	     modules[i].inc_exc ? "yes" : "no");
       fgets(reply, INPUT_LEN, stdin);
-      
+
       while (modules[i].state == -1) {
 	switch (reply[0]) {
 	case 'y':
@@ -98,7 +107,7 @@
 
     for (j=0; modules[i].sources[j]; j++)
       for (k=0; files[k].name; k++)
-	if ((!strcmp(modules[i].sources[j],files[k].name)) 
+	if ((!strcmp(modules[i].sources[j],files[k].name))
 	    &&
 	    (files[k].flags & source_types)) {
 	  /*printf(">>> %s/%s\n",modules[i].name,files[k].name);*/
@@ -118,11 +127,11 @@
   for (; *p; p++)
     if (*p == '/' || *p == '\\')
       *p = (!strcmp(platform,"win32")) ? '\\' : '/';
-    
+
   return path;
 }
 */
-  
+
 char* get_extension(int flags)
 {
   /*int i,j;*/
@@ -146,7 +155,7 @@
   */
   fprintf(stderr,"error: internal error, missing extension for flag=%x\n",flags);
   exit(1);
-  
+
   return 0;
 }
 
@@ -181,7 +190,7 @@
 	    get_extension(object));
     return name;
   }
-  
+
   if (modifier & executable) {
     for (j=0; number_types[j].flag; j++) {
       if (number_types[j].flag & modifier) {
@@ -199,7 +208,7 @@
 	    get_extension(executable));
     return name;
   }
-  
+
   sprintf(name, "$(%s)%s%s",
 	  files[i].path,
 	  files[i].name,
@@ -255,7 +264,7 @@
     sprintf(name,"%s%c%s%s%c%s",configdir,pathsep,ostype,variant,pathsep,configfile);
   else
     sprintf(name,"%s%c%s%c%s",  configdir,pathsep,ostype,pathsep,configfile);
-  
+
   f = fopen(name,"w");
   if (!f) {
     fprintf(stderr,"error: could not open config file <%s>\n",name);
@@ -280,9 +289,9 @@
     fprintf(f,"#define %s_CONFIG_%s\n",prefix,modules[i].name);
   }
   fprintf(f, "\n");
-  
+
   fclose(f);
-}  
+}
 
 
 void emit_makefile(char* configuration_name)
@@ -291,6 +300,7 @@
   FILE* f;
   char* base;
   char  name[256];
+  char  install_cmd[64];    /* LS 2006: install command */
 
   /* create the configuration directory */
 
@@ -331,9 +341,9 @@
     exit(1);
   }
 
-  fprintf(f, "OSTYPE = %s\n", ostype );  
+  fprintf(f, "OSTYPE = %s\n", ostype );
   if (variant)
-    fprintf(f, "OSTYPE_VARIANT = %s\n", variant );  
+    fprintf(f, "OSTYPE_VARIANT = %s\n", variant );
 
   fprintf(f, "CONFIGURATION = %s\n", configuration_name);
 
@@ -377,7 +387,9 @@
   fprintf(f, "CILKC=$(CC)\n");
   fprintf(f, "CILKFLAGS=$(CFLAGS)\n");
   fprintf(f, "CILKOUTFLG=$(COUTFLG)\n");
-  fprintf(f, "\n");
+
+  /* LS 2006: print installation dir (usually called prefix) */
+  fprintf(f, "PREFIX = %s\n", install_dir);
 
   fprintf(f, "\n");
   if (win32) {
@@ -393,14 +405,14 @@
 
   fprintf(f, "LIBS =");
   for (i=0; modules[i].name; i++)
-    if (modules[i].state) 
+    if (modules[i].state)
       for (k=0; modules[i].extralib[k]; k++)
 	fprintf(f," $(%s)",modules[i].extralib[k]);
   fprintf(f," $(%s)",f77_lib);
   fprintf(f," $(%s)",c_lib);
   fprintf(f,"\n");
 
-  fprintf(f, "default: all\n" );  
+  fprintf(f, "default: all\n" );
   fprintf(f, "\n");
 
   fprintf(f, "include config%cstd.mk\n", pathsep);
@@ -419,7 +431,7 @@
     if ( ! (files[i].flags & test) ) {
       continue;
     }
-    
+
     if (files[i].flags & csource) {
       fprintf(f, "\t- $(CC) -c $(CFLAGS) $(STDDEFS) $(STDINCS) \\\n");
       fprintf(f, "\t  %s \\\n",get_full_name(i,0));
@@ -431,11 +443,11 @@
       fprintf(f, "\t  %s \\\n",get_full_name(i,0));
       fprintf(f, "\t  $(CILKOUTFLG)%s\n", get_full_name(i,object));
     }
-	 
+
     fprintf(f,"\t- $(LD) $(LDFLAGS) \\\n");
     fprintf(f,"\t  $(LOUTFLG)%s \\\n",get_full_name(i,executable));
     fprintf(f,"\t  %s $(LIBS)\n",get_full_name(i,object));
-    
+
     fprintf(f,"\t- %s",get_full_name(i,executable));
     fprintf(f, " %s%c%s%s%c%s\n",
 	    configdir,pathsep,ostype,
@@ -450,7 +462,7 @@
       continue;
     }
 
-    if ( (files[i].flags & csource) 
+    if ( (files[i].flags & csource)
 	 || (files[i].flags & cilksource) ) {
       int generated = 0;
       for (j=0; number_types[j].flag; j++) {
@@ -463,7 +475,7 @@
 	    fprintf(f, "%s: %s $(INCS) $(STDDEPS)\n",
 		    get_full_name(i,object | number_types[j].flag),
 		    get_full_name(i,0));
-	    /*	    
+	    /*
 	    fprintf(f, "\t/bin/cp %s %s\n",get_full_name(i,0),get_full_name(i,cilksource));
 	    fprintf(f, "\t$(CC) -c $(CFLAGS) $(STDDEFS) $(STDINCS) \\\n");
 	    fprintf(f, "\t-D%s \\\n",number_types[j].define);
@@ -615,6 +627,36 @@
   }
   fprintf(f,"\n");
 
+  /* LS 2006: emit the install target */
+  if (!win32)                                                   /* get install command */
+      strcpy(install_cmd, UNIX_INSTALL_CMD);
+  else
+      strcpy(install_cmd, WINDOWS_INSTALL_CMD);
+  fprintf(f,"install:\n");                                      /* target */
+  fprintf(f, "\t%s %s%c%s%s%c%s $(PREFIX)%cinclude%c\n",        /* install headers */
+          install_cmd,
+	  configdir,pathsep,ostype,variant?variant:"",pathsep,configfile,
+	  pathsep,pathsep);
+  fprintf(f, "\t%s %s%c%s%s%c%s $(PREFIX)%cinclude%c\n",
+          install_cmd,
+	  configdir,pathsep,ostype,variant?variant:"",pathsep,testfile,
+	  pathsep,pathsep);
+  for (i=0; files[i].name; i++) {
+    base = files[i].name;
+    if (files[i].flags & hsource)
+      fprintf(f, "\t%s %s $(PREFIX)%cinclude%c\n",
+                 install_cmd,
+                 get_full_name(i,0),
+	         pathsep,pathsep);
+  }
+  fprintf(f, "\t%s $(DIRLIB)libtaucs$(LIBEXT) $(PREFIX)%clib%c\n", /* install libs */
+             install_cmd,                                       
+             pathsep,pathsep);
+  fprintf(f, "\t%s external%clib%c%s%s%c* $(PREFIX)%clib%c\n",
+             install_cmd,
+             pathsep, pathsep, ostype, variant?variant:"", pathsep,
+             pathsep,pathsep);
+
   fclose(f);
 }
 
@@ -646,7 +688,7 @@
     q++;
   }
   *q = 0;
-  
+
   for (i=0; modules[i].name; i++) {
     if (!strcmp(modules[i].name,module_name)) {
       modules[i].state=include_exclude;
@@ -654,7 +696,7 @@
       break;
     }
   }
-  
+
   if (!ok) {
     fprintf(stderr,"error: module name <%s> is not a recognized module\n",module_name);
     exit(1);
@@ -701,7 +743,7 @@
       if (!strncmp(reply+strlen(s),"OFF",3)) {
 	for (i=0; modules[i].name; i++) modules[i].state=0;
 	ok=1;
-      } 
+      }
       if (!strncmp(reply+strlen(s),"ON",2)) {
 	for (i=0; modules[i].name; i++) modules[i].state=1;
 	ok=1;
@@ -725,7 +767,7 @@
 
   for (i=0; modules[i].name; i++)
     sprintf(s,"%s_CONFIG %s\n",prefix, modules[i].name);
-  
+
   sprintf(s,"%s_CONFIG_END\n",prefix);
 
   fclose(f);
@@ -748,7 +790,7 @@
   for (i=0; modules[i].name; i++)
     if (modules[i].state) fprintf(f,"%s_CONFIG %s\n",prefix, modules[i].name);
     else                  fprintf(f,"%s_CONFIG !%s\n",prefix, modules[i].name);
-  
+
   fprintf(f,"%s_CONFIG_END\n",prefix);
 
   fclose(f);
@@ -773,7 +815,7 @@
     *x = arg + strlen(pattern);
     return 1;
   }
-  
+
   return 0;
 }
 
@@ -785,7 +827,7 @@
   if (!fname) return "anonymous";
 
   name = (char*) malloc(strlen(fname)+1);
-  
+
   found_prefix=0;
   if (strrchr(fname,'/')) {
     strcpy(name,strrchr(fname,'/')+1);
@@ -841,6 +883,7 @@
       fprintf(stderr,"  out=<filename>        module selection stored to a file\n");
       fprintf(stderr,"  module=<modulename>   selects a module\n");
       fprintf(stderr,"  module=!<modulename>  de-selects a module\n");
+      fprintf(stderr,"  prefix=PREFIX         install files in PREFIX [%s]\n", install_dir);
       fprintf(stderr,"  \n");
       fprintf(stderr,"  There can be several module= options, and they should\n");
       fprintf(stderr,"  normally follow in= options; the module= options can\n");
@@ -878,7 +921,10 @@
     if (arg_get_string (argv[i],"out="       ,&outfile     )) continue;
 
     if (arg_get_boolean(argv[i],"win32"      ,&win32       )) {
-      if (win32) pathsep = '\\';
+      if (win32) {
+        pathsep = '\\';
+        install_dir = DEFAULT_WINDOWS_INSTALL_DIR; /* LS 2006: default installation dir */
+      }
       continue;
     }
 
@@ -897,6 +943,7 @@
       mark_dependants();
       continue;
     }
+    if (arg_get_string (argv[i],"prefix="    ,&install_dir     )) continue;
 
     fprintf(stderr,"error: command line argument <%s> is invalid\n",argv[i]);
     exit(1);
diff -aurN taucs-orig/configure taucs/configure
--- taucs-orig/configure	2003-08-24 12:11:33.000000000 +0200
+++ taucs/configure	2012-06-10 21:03:55.652878000 +0200
@@ -1,4 +1,4 @@
-#!/bin/sh 
+#!/bin/sh
 
 # The first task is to figure out OSTYPE.
 # In most cases it is set automatically before
@@ -31,6 +31,24 @@
 if [ ${OSTYPE:-fail} = "fail" ] ; then
   OSTYPE=`uname | tr "A-Z" "a-z"`
 fi
+if [ ${OSTYPE:-fail} = "sunos" ] ; then
+  OSTYPE=solaris
+fi
+
+# On platforms like Darwin or Solaris, OSTYPE may be set to
+# "ostypeXXX", with XXX being a version number,
+# which we need to remove.
+
+OSTYPE=`echo $OSTYPE | sed 's/[0-9\.]//g'`
+
+# "darwin" = original Darwin platform = PowerPC architecture.
+# LS 2007: added "darwin_intel" for Intel Macs.
+if [ ${OSTYPE:-fail} = "darwin" ] ; then
+  GENERIC_PROCESSOR=`uname -p`
+  if [ ${GENERIC_PROCESSOR} = "i386" ] ; then
+     OSTYPE=darwin_intel
+  fi
+fi
 
 # If nothing works, we continue, but configurator will abort
 
@@ -43,7 +61,7 @@
 # Second phase: we try to make configurator.
 # The makefile.unix is highly generic and should work
 # on most systems.
-# If we find exceptions that cannot be fixed in a 
+# If we find exceptions that cannot be fixed in a
 # generic way, we should use OSTYPE to fix the problems.
 
 make -f configurator/makefile.unix
@@ -68,5 +86,10 @@
   /bin/rm .lastconf
 fi
 
+# LS 2007: 4th phase: Darwin requires to run ranlib on pre-compiled libraries
+if [ \( ${OSTYPE:-fail} = "darwin" \) -o \( ${OSTYPE:-fail} = "darwin_intel" \) ] ; then
+  ranlib external/lib/${OSTYPE}/*.a
+fi
+
 # end of script
 
openSUSE Build Service is sponsored by