diff -Nur SPQR.orig/configure.ac SPQR/configure.ac --- SPQR.orig/configure.ac 1970-01-01 01:00:00.000000000 +0100 +++ SPQR/configure.ac 2009-03-14 11:20:10.319915444 +0000 @@ -0,0 +1,54 @@ +AC_PREREQ(2.59) +AC_INIT(spqr, 1.1.0, davis@cise.ufl.edu) +AM_INIT_AUTOMAKE([foreign]) +AC_CONFIG_SRCDIR([Source/spqr_kernel.cpp]) +AM_INIT_AUTOMAKE([foreign]) + +AC_PROG_LIBTOOL +AC_PROG_CXX +AC_LANG(C++) + +AC_CHECK_LIB(m, sqrt) +AC_CHECK_HEADERS(UFconfig.h) +AC_CHECK_HEADERS(cholmod.h) +AC_CHECK_LIB(cholmod, cholmod_solve, [], \ + [AC_MSG_ERROR([Cannot find libcholmod])]) + +AC_ARG_WITH(metis, + [AC_HELP_STRING([--with-metis], + [Use METIS for partitioning])], + [with_metis=$withval], + [with_metis="yes"]) +if test x$with_metis = xyes; then + PKG_PROG_PKG_CONFIG + if test -n "$PKG_CONFIG"; then + PKG_CHECK_MODULES([metis], [metis]) + else + AC_CHECK_HEADERS(metis.h) + AC_CHECK_LIB(metis, METIS_NodeND, [METIS_LIBS=-lmetis], \ + [AC_MSG_ERROR([Cannot find libmetis])]) + fi + AC_DEFINE(NPARTITION) +fi +AM_CONDITIONAL([METIS], [test x$with_metis = xyes]) + +AC_ARG_WITH(tbb, + [AC_HELP_STRING([--with-tbb], + [Use Intel Threading Building Block for multithreading])], + [with_tbb=$withval], + [with_tbb="yes"]) +if test x$with_tbb = xyes; then + AC_CHECK_HEADERS(tbb/task.h) + TBB_CFLAGS="" + TBB_LIBS="-ltbb" + AC_SUBST(TBB_CFLAGS) + AC_SUBST(TBB_LIBS) + AC_DEFINE(HAVE_TBB) +fi +AM_CONDITIONAL([WITH_TBB], [test x$with_tbb = xyes]) + +AC_CONFIG_FILES([Makefile + Source/Makefile + Include/Makefile + Demo/Makefile]) +AC_OUTPUT diff -Nur SPQR.orig/Demo/Makefile.am SPQR/Demo/Makefile.am --- SPQR.orig/Demo/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ SPQR/Demo/Makefile.am 2009-03-14 11:03:44.580364074 +0000 @@ -0,0 +1,78 @@ +AM_CPPFLAGS = -I$(top_srcdir)/Include + +LDADD = $(top_builddir)/Source/libspqr.la \ + $(CHOLMOD_LIBS) $(AMD_LIBS) $(CAMD_LIBS) \ + $(COLAMD_LIBS) $(CCOLAMD_LIBS) \ + $(METIS_LIBS) $(BLAS_LIBS) $(LAPACK_LIBS) $(TBB_LIBS) + +check_PROGRAMS = \ + qrsimple qrsimplec \ + qrdemo qrdemoc + +qrsimple_SOURCES = qrsimple.cpp +qrsimplec = qrsimplec.c +qrsimplec_CFLAGS = -ansi +qrdemo_SOURCES = qrdemo.cpp +qrdemoc_SOURCES = qrdemoc.c +qrdemoc_CFLAGS = -ansi + + +check-local: $(check_PROGRAMS) + ./qrsimple < ../Matrix/ash219.mtx || exit 1 + ./qrsimplec < ../Matrix/ash219.mtx || exit 1 + ./qrsimple < ../Matrix/west0067.mtx || exit 1 + ./qrsimplec < ../Matrix/west0067.mtx || exit 1 + ./qrdemo < ../Matrix/a2.mtx || exit 1 + ./qrdemo < ../Matrix/r2.mtx || exit 1 + ./qrdemo < ../Matrix/a04.mtx || exit 1 + ./qrdemo < ../Matrix/a2.mtx || exit 1 + ./qrdemo < ../Matrix/west0067.mtx || exit 1 + ./qrdemo < ../Matrix/c2.mtx || exit 1 + ./qrdemo < ../Matrix/a0.mtx || exit 1 + ./qrdemo < ../Matrix/lfat5b.mtx || exit 1 + ./qrdemo < ../Matrix/bfwa62.mtx || exit 1 + ./qrdemo < ../Matrix/LFAT5.mtx || exit 1 + ./qrdemo < ../Matrix/b1_ss.mtx || exit 1 + ./qrdemo < ../Matrix/bcspwr01.mtx || exit 1 + ./qrdemo < ../Matrix/lpi_galenet.mtx || exit 1 + ./qrdemo < ../Matrix/lpi_itest6.mtx || exit 1 + ./qrdemo < ../Matrix/ash219.mtx || exit 1 + ./qrdemo < ../Matrix/a4.mtx || exit 1 + ./qrdemo < ../Matrix/s32.mtx || exit 1 + ./qrdemo < ../Matrix/c32.mtx || exit 1 + ./qrdemo < ../Matrix/lp_share1b.mtx || exit 1 + ./qrdemo < ../Matrix/a1.mtx || exit 1 + ./qrdemo < ../Matrix/GD06_theory.mtx || exit 1 + ./qrdemo < ../Matrix/GD01_b.mtx || exit 1 + ./qrdemo < ../Matrix/Tina_AskCal_perm.mtx || exit 1 + ./qrdemo < ../Matrix/Tina_AskCal.mtx || exit 1 + ./qrdemo < ../Matrix/GD98_a.mtx || exit 1 + ./qrdemo < ../Matrix/Ragusa16.mtx || exit 1 + ./qrdemo < ../Matrix/young1c.mtx || exit 1 + ./qrdemoc < ../Matrix/a2.mtx || exit 1 + ./qrdemoc < ../Matrix/r2.mtx || exit 1 + ./qrdemoc < ../Matrix/a04.mtx || exit 1 + ./qrdemoc < ../Matrix/a2.mtx || exit 1 + ./qrdemoc < ../Matrix/west0067.mtx || exit 1 + ./qrdemoc < ../Matrix/c2.mtx || exit 1 + ./qrdemoc < ../Matrix/a0.mtx || exit 1 + ./qrdemoc < ../Matrix/lfat5b.mtx || exit 1 + ./qrdemoc < ../Matrix/bfwa62.mtx || exit 1 + ./qrdemoc < ../Matrix/LFAT5.mtx || exit 1 + ./qrdemoc < ../Matrix/b1_ss.mtx || exit 1 + ./qrdemoc < ../Matrix/bcspwr01.mtx || exit 1 + ./qrdemoc < ../Matrix/lpi_galenet.mtx || exit 1 + ./qrdemoc < ../Matrix/lpi_itest6.mtx || exit 1 + ./qrdemoc < ../Matrix/ash219.mtx || exit 1 + ./qrdemoc < ../Matrix/a4.mtx || exit 1 + ./qrdemoc < ../Matrix/s32.mtx || exit 1 + ./qrdemoc < ../Matrix/c32.mtx || exit 1 + ./qrdemoc < ../Matrix/lp_share1b.mtx || exit 1 + ./qrdemoc < ../Matrix/a1.mtx || exit 1 + ./qrdemoc < ../Matrix/GD06_theory.mtx || exit 1 + ./qrdemoc < ../Matrix/GD01_b.mtx || exit 1 + ./qrdemoc < ../Matrix/Tina_AskCal_perm.mtx || exit 1 + ./qrdemoc < ../Matrix/Tina_AskCal.mtx || exit 1 + ./qrdemoc < ../Matrix/GD98_a.mtx || exit 1 + ./qrdemoc < ../Matrix/Ragusa16.mtx || exit 1 + ./qrdemoc < ../Matrix/young1c.mtx || exit 1 diff -Nur SPQR.orig/Include/Makefile.am SPQR/Include/Makefile.am --- SPQR.orig/Include/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ SPQR/Include/Makefile.am 2009-03-14 10:56:08.933594972 +0000 @@ -0,0 +1,5 @@ +include_HEADERS = \ + spqr.hpp \ + SuiteSparseQR_C.h \ + SuiteSparseQR_definitions.h \ + SuiteSparseQR.hpp diff -Nur SPQR.orig/Makefile.am SPQR/Makefile.am --- SPQR.orig/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ SPQR/Makefile.am 2009-03-14 10:27:25.415020632 +0000 @@ -0,0 +1,2 @@ +SUBDIRS = Include Source Demo +EXTRA_DIST = README.txt diff -Nur SPQR.orig/Source/Makefile.am SPQR/Source/Makefile.am --- SPQR.orig/Source/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ SPQR/Source/Makefile.am 2009-03-14 10:10:07.617029851 +0000 @@ -0,0 +1,48 @@ +AM_CPPFLAGS=-I$(top_srcdir)/Include + +lib_LTLIBRARIES = libspqr.la + +libspqr_la_SOURCES = \ + spqr_rmap.cpp \ + SuiteSparseQR_C.cpp \ + SuiteSparseQR_expert.cpp \ + spqr_parallel.cpp \ + spqr_kernel.cpp \ + spqr_analyze.cpp \ + spqr_assemble.cpp \ + spqr_cpack.cpp \ + spqr_csize.cpp \ + spqr_fcsize.cpp \ + spqr_debug.cpp \ + spqr_front.cpp \ + spqr_factorize.cpp \ + spqr_freenum.cpp \ + spqr_freesym.cpp \ + spqr_freefac.cpp \ + spqr_fsize.cpp \ + spqr_maxcolnorm.cpp \ + spqr_rconvert.cpp \ + spqr_rcount.cpp \ + spqr_rhpack.cpp \ + spqr_rsolve.cpp \ + spqr_stranspose1.cpp \ + spqr_stranspose2.cpp \ + spqr_hpinv.cpp \ + spqr_1fixed.cpp \ + spqr_1colamd.cpp \ + SuiteSparseQR.cpp \ + spqr_1factor.cpp \ + spqr_cumsum.cpp \ + spqr_shift.cpp \ + spqr_happly.cpp \ + spqr_panel.cpp \ + spqr_happly_work.cpp \ + SuiteSparseQR_qmult.cpp \ + spqr_trapezoidal.cpp \ + spqr_larftb.cpp \ + spqr_append.cpp \ + spqr_type.cpp \ + spqr_tol.cpp + +libspqr_la_CPPFLAGS = $(AM_CPPFLAGS) $(METIS_CFLAGS) $(TBB_CFLAGS) +libspqr_la_LIBADD = $(METIS_LIBS) $(TBB_LIBS)