Corrected a bug which didn't let ngspice compile in an

external folder (e.g. "sourcedir/ngspice-klu-release")
Added a check for ATLAS library when SuperLU is selected
 as solver
This commit is contained in:
Francesco Lannutti 2012-03-18 16:25:18 +01:00 committed by Francesco Lannutti
parent 9819c17813
commit e560532e58
5 changed files with 91 additions and 44 deletions

View File

@ -1089,6 +1089,9 @@ AC_ARG_ENABLE(superlu,
# Add SuperLU solver to ngspice
if test "$enable_superlu" = "yes"; then
AC_MSG_RESULT(Checking for ATLAS library...)
AC_CHECK_LIB(atlas, ATL_buildinfo, [], AC_MSG_ERROR([ERROR!!! You must have ATLAS installed]))
AC_CHECK_LIB(f77blas, dgemm_, [], AC_MSG_ERROR([ERROR!!! You must have ATLAS installed]))
AC_DEFINE(SuperLU,[],[Define if we want SuperLU linear systems solver])
AC_MSG_RESULT(WARNING: SuperLU solver enabled - at the moment it only works with transient analyses)
fi
@ -1104,7 +1107,7 @@ if test "$enable_umfpack" = "yes"; then
AC_CHECK_LIB(atlas, ATL_buildinfo, [], AC_MSG_ERROR([ERROR!!! You must have ATLAS installed]))
AC_CHECK_LIB(f77blas, dgemm_, [], AC_MSG_ERROR([ERROR!!! You must have ATLAS installed]))
AC_DEFINE(UMFPACK,[],[Define if we want UMFPACK linear systems solver])
AC_MSG_RESULT(WARNING: UMFPACK solver enabled)
AC_MSG_RESULT(WARNING: UMFPACK solver enabled - at the moment it only works with transient analyses)
fi
AM_CONDITIONAL([UMFPACK_WANTED], [test "$enable_umfpack" = "yes"])

View File

@ -128,6 +128,46 @@ include_HEADERS = \
FastNorm3.h \
fftext.h \
wallace.h \
wstdio.h
wstdio.h \
slu_Cnames.h \
slu_dcomplex.h \
slu_ddefs.h \
slu_util.h \
slu_zdefs.h \
superlu_enum_consts.h \
supermatrix.h \
umfpack_col_to_triplet.h \
umfpack_defaults.h \
umfpack_free_numeric.h \
umfpack_free_symbolic.h \
umfpack_get_determinant.h \
umfpack_get_lunz.h \
umfpack_get_numeric.h \
umfpack_get_symbolic.h \
umfpack_global.h \
umfpack.h \
umfpack_load_numeric.h \
umfpack_load_symbolic.h \
umfpack_numeric.h \
umfpack_qsymbolic.h \
umfpack_report_control.h \
umfpack_report_info.h \
umfpack_report_matrix.h \
umfpack_report_numeric.h \
umfpack_report_perm.h \
umfpack_report_status.h \
umfpack_report_symbolic.h \
umfpack_report_triplet.h \
umfpack_report_vector.h \
umfpack_save_numeric.h \
umfpack_save_symbolic.h \
umfpack_scale.h \
umfpack_solve.h \
umfpack_symbolic.h \
umfpack_tictoc.h \
umfpack_timer.h \
umfpack_transpose.h \
umfpack_triplet_to_col.h \
umfpack_wsolve.h
MAINTAINERCLEANFILES = Makefile.in

View File

@ -40,7 +40,7 @@ libKLU_real_la_SOURCES = \
klu_tsolve.c
libKLU_real_la_CPPFLAGS = -I$(top_srcdir)/src/include
libKLU_real_la_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include
libKLU_complex_la_SOURCES = \
@ -81,7 +81,7 @@ libKLU_complex_la_SOURCES = \
klu_tsolve.c
libKLU_complex_la_CPPFLAGS = -I$(top_srcdir)/src/include -DCOMPLEX
libKLU_complex_la_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include -DCOMPLEX
libKLU_la_SOURCES = \
@ -92,6 +92,6 @@ libKLU_la_LIBADD = \
libKLU_complex.la
libKLU_la_CPPFLAGS = -I$(top_srcdir)/src/include
libKLU_la_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include
MAINTAINERCLEANFILES = Makefile.in

View File

@ -63,9 +63,9 @@ libSuperLU_real_la_SOURCES = \
util.c \
xerbla.c
libSuperLU_real_la_CPPFLAGS = -DAdd_ -DUSE_VENDOR_BLAS -I$(top_srcdir)/src/include
libSuperLU_real_la_CPPFLAGS = @AM_CPPFLAGS@ -DAdd_ -DUSE_VENDOR_BLAS -I$(top_srcdir)/src/include
libSuperLU_real_la_LDFLAGS = -L/usr/lib -lblas
libSuperLU_real_la_LDFLAGS = -lf77blas -latlas
libSuperLU_complex_la_SOURCES = \
@ -130,14 +130,16 @@ libSuperLU_complex_la_SOURCES = \
zdiagonal.c \
zlacon.c
libSuperLU_complex_la_CPPFLAGS = -DAdd_ -DUSE_VENDOR_BLAS -I$(top_srcdir)/src/include
libSuperLU_complex_la_CPPFLAGS = @AM_CPPFLAGS@ -DAdd_ -DUSE_VENDOR_BLAS -I$(top_srcdir)/src/include
libSuperLU_complex_la_LDFLAGS = -L/usr/lib -lblas
libSuperLU_complex_la_LDFLAGS = -lf77blas -latlas
libSuperLU_la_SOURCES = \
superlusmp.c
libSuperLU_la_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include
libSuperLU_la_LIBADD = \
libSuperLU_real.la \
libSuperLU_complex.la

View File

@ -41,7 +41,7 @@ libUMFPACK_AMD_la_SOURCES = \
amd_preprocess.c \
amd_valid.c
libUMFPACK_AMD_la_CPPFLAGS = -I$(top_srcdir)/src/include
libUMFPACK_AMD_la_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include
libUMFPACK_global_la_SOURCES = \
@ -50,66 +50,66 @@ libUMFPACK_global_la_SOURCES = \
umfpack_timer.c \
umf_triplet.c
libUMFPACK_global_la_CPPFLAGS = -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_global_la_CPPFLAGS = @AM_CPPFLAGS@ -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_global_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_global_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_CONJ_DINT_la_SOURCES = \
umf_ltsolve.c \
umf_utsolve.c
libUMFPACK_CONJ_DINT_la_CPPFLAGS = -DDINT -DCONJUGATE_SOLVE -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_CONJ_DINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DDINT -DCONJUGATE_SOLVE -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_CONJ_DINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_CONJ_DINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DOMAP_DINT_la_SOURCES = \
umf_triplet.c
libUMFPACK_DOMAP_DINT_la_CPPFLAGS = -DDINT -DDO_MAP -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOMAP_DINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DDINT -DDO_MAP -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOMAP_DINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DOMAP_DINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DOVALUES_DINT_la_SOURCES = \
umf_triplet.c
libUMFPACK_DOVALUES_DINT_la_CPPFLAGS = -DDINT -DDO_VALUES -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOVALUES_DINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DDINT -DDO_VALUES -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOVALUES_DINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DOVALUES_DINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DOMAP_DOVALUES_DINT_la_SOURCES = \
umf_triplet.c
libUMFPACK_DOMAP_DOVALUES_DINT_la_CPPFLAGS = -DDINT -DDO_MAP -DDO_VALUES -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOMAP_DOVALUES_DINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DDINT -DDO_MAP -DDO_VALUES -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOMAP_DOVALUES_DINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DOMAP_DOVALUES_DINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DFIXQ_DINT_la_SOURCES = \
umf_assemble.c
libUMFPACK_DFIXQ_DINT_la_CPPFLAGS = -DDINT -DFIXQ -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DFIXQ_DINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DDINT -DFIXQ -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DFIXQ_DINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DFIXQ_DINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DDROP_DINT_la_SOURCES = \
umf_store_lu.c
libUMFPACK_DDROP_DINT_la_CPPFLAGS = -DDINT -DDROP -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DDROP_DINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DDINT -DDROP -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DDROP_DINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DDROP_DINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DWSOLVE_DINT_la_SOURCES = \
umfpack_solve.c
libUMFPACK_DWSOLVE_DINT_la_CPPFLAGS = -DDINT -DWSOLVE -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DWSOLVE_DINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DDINT -DWSOLVE -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DWSOLVE_DINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DWSOLVE_DINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DINT_la_SOURCES = \
@ -189,9 +189,9 @@ libUMFPACK_DINT_la_SOURCES = \
umf_valid_numeric.c \
umf_valid_symbolic.c
libUMFPACK_DINT_la_CPPFLAGS = -DDINT -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DDINT -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DINT_la_LDFLAGS = -lf77blas -latlas
@ -262,66 +262,66 @@ libUMFPACK_ZINT_la_SOURCES = \
umf_valid_numeric.c \
umf_valid_symbolic.c
libUMFPACK_ZINT_la_CPPFLAGS = -DZINT -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_ZINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DZINT -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_ZINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_ZINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_CONJ_ZINT_la_SOURCES = \
umf_ltsolve.c \
umf_utsolve.c
libUMFPACK_CONJ_ZINT_la_CPPFLAGS = -DZINT -DCONJUGATE_SOLVE -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_CONJ_ZINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DZINT -DCONJUGATE_SOLVE -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_CONJ_ZINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_CONJ_ZINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DOMAP_ZINT_la_SOURCES = \
umf_triplet.c
libUMFPACK_DOMAP_ZINT_la_CPPFLAGS = -DZINT -DDO_MAP -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOMAP_ZINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DZINT -DDO_MAP -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOMAP_ZINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DOMAP_ZINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DOVALUES_ZINT_la_SOURCES = \
umf_triplet.c
libUMFPACK_DOVALUES_ZINT_la_CPPFLAGS = -DZINT -DDO_VALUES -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOVALUES_ZINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DZINT -DDO_VALUES -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOVALUES_ZINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DOVALUES_ZINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DOMAP_DOVALUES_ZINT_la_SOURCES = \
umf_triplet.c
libUMFPACK_DOMAP_DOVALUES_ZINT_la_CPPFLAGS = -DZINT -DDO_MAP -DDO_VALUES -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOMAP_DOVALUES_ZINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DZINT -DDO_MAP -DDO_VALUES -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DOMAP_DOVALUES_ZINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DOMAP_DOVALUES_ZINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DFIXQ_ZINT_la_SOURCES = \
umf_assemble.c
libUMFPACK_DFIXQ_ZINT_la_CPPFLAGS = -DZINT -DFIXQ -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DFIXQ_ZINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DZINT -DFIXQ -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DFIXQ_ZINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DFIXQ_ZINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DDROP_ZINT_la_SOURCES = \
umf_store_lu.c
libUMFPACK_DDROP_ZINT_la_CPPFLAGS = -DZINT -DDROP -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DDROP_ZINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DZINT -DDROP -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DDROP_ZINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DDROP_ZINT_la_LDFLAGS = -lf77blas -latlas
libUMFPACK_DWSOLVE_ZINT_la_SOURCES = \
umfpack_solve.c
libUMFPACK_DWSOLVE_ZINT_la_CPPFLAGS = -DZINT -DWSOLVE -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DWSOLVE_ZINT_la_CPPFLAGS = @AM_CPPFLAGS@ -DZINT -DWSOLVE -DNCHOLMOD -I$(top_srcdir)/src/include
libUMFPACK_DWSOLVE_ZINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latlas
libUMFPACK_DWSOLVE_ZINT_la_LDFLAGS = -lf77blas -latlas
@ -329,6 +329,8 @@ libUMFPACK_DWSOLVE_ZINT_la_LDFLAGS = -L/usr/lib/atlas-corei7sse3 -lf77blas -latl
libUMFPACK_la_SOURCES = \
umfpacksmp.c
libUMFPACK_la_CPPFLAGS = @AM_CPPFLAGS@ -I$(top_srcdir)/src/include
libUMFPACK_la_LIBADD = \
libUMFPACK_AMD.la \
libUMFPACK_global.la \