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