diff --git a/configure.ac b/configure.ac index 14b2c4705..56c2f68e9 100644 --- a/configure.ac +++ b/configure.ac @@ -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"]) diff --git a/src/include/ngspice/Makefile.am b/src/include/ngspice/Makefile.am index 232b95c9f..a1fabb986 100644 --- a/src/include/ngspice/Makefile.am +++ b/src/include/ngspice/Makefile.am @@ -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 diff --git a/src/maths/KLU/Makefile.am b/src/maths/KLU/Makefile.am index 5a2b1293a..b972ae12c 100644 --- a/src/maths/KLU/Makefile.am +++ b/src/maths/KLU/Makefile.am @@ -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 diff --git a/src/maths/SuperLU/Makefile.am b/src/maths/SuperLU/Makefile.am index bc034d3e9..383a1e59d 100644 --- a/src/maths/SuperLU/Makefile.am +++ b/src/maths/SuperLU/Makefile.am @@ -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 diff --git a/src/maths/UMFPACK/Makefile.am b/src/maths/UMFPACK/Makefile.am index fa406bb87..afa206e88 100644 --- a/src/maths/UMFPACK/Makefile.am +++ b/src/maths/UMFPACK/Makefile.am @@ -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 \