slackbuilds/academic/cxsparse/autotoolize.diff

326 lines
8.7 KiB
Diff

diff --git a/Demo/Makefile.am b/Demo/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Demo/Makefile.am
@@ -0,0 +1,131 @@
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS)
+LDADD = $(top_builddir)/Source/libcxsparse.la
+
+noinst_HEADERS = \
+ cs_demo.h \
+ cs_ci_demo.h \
+ cs_cl_demo.h \
+ cs_di_demo.h \
+ cs_dl_demo.h
+
+check_PROGRAMS = \
+ cs_demo1 \
+ cs_demo2 \
+ cs_demo3 \
+ cs_ci_demo1 \
+ cs_ci_demo2 \
+ cs_ci_demo3 \
+ cs_cl_demo1 \
+ cs_cl_demo2 \
+ cs_cl_demo3 \
+ cs_di_demo1 \
+ cs_di_demo2 \
+ cs_di_demo3 \
+ cs_dl_demo1 \
+ cs_dl_demo2 \
+ cs_dl_demo3 \
+ cs_idemo \
+ cs_ldemo
+
+cs_demo1_SOURCES = cs_demo1.c
+cs_demo2_SOURCES = cs_demo2.c cs_demo.c
+cs_demo3_SOURCES = cs_demo3.c cs_demo.c
+cs_ci_demo1_SOURCES = cs_ci_demo1.c
+cs_ci_demo2_SOURCES = cs_ci_demo2.c cs_ci_demo.c
+cs_ci_demo3_SOURCES = cs_ci_demo3.c cs_ci_demo.c
+cs_cl_demo1_SOURCES = cs_cl_demo1.c
+cs_cl_demo2_SOURCES = cs_cl_demo2.c cs_cl_demo.c
+cs_cl_demo3_SOURCES = cs_cl_demo3.c cs_cl_demo.c
+cs_di_demo1_SOURCES = cs_di_demo1.c
+cs_di_demo2_SOURCES = cs_di_demo2.c cs_di_demo.c
+cs_di_demo3_SOURCES = cs_di_demo3.c cs_di_demo.c
+cs_dl_demo1_SOURCES = cs_dl_demo1.c
+cs_dl_demo2_SOURCES = cs_dl_demo2.c cs_dl_demo.c
+cs_dl_demo3_SOURCES = cs_dl_demo3.c cs_dl_demo.c
+
+cs_idemo_SOURCES = cs_idemo.c
+cs_ldemo_SOURCES = cs_ldemo.c
+cs_ldemo_CPPFLAGS = $(AM_CPPFLAGS) -DCS_LONG
+
+MATRICES = \
+ $(top_srcdir)/Matrix/ash219 \
+ $(top_srcdir)/Matrix/bcsstk01 \
+ $(top_srcdir)/Matrix/bcsstk16 \
+ $(top_srcdir)/Matrix/c4 \
+ $(top_srcdir)/Matrix/c_mbeacxc \
+ $(top_srcdir)/Matrix/c_west0067 \
+ $(top_srcdir)/Matrix/fs_183_1 \
+ $(top_srcdir)/Matrix/lp_afiro \
+ $(top_srcdir)/Matrix/mbeacxc \
+ $(top_srcdir)/Matrix/mhd1280b \
+ $(top_srcdir)/Matrix/neumann \
+ $(top_srcdir)/Matrix/qc324 \
+ $(top_srcdir)/Matrix/t1 \
+ $(top_srcdir)/Matrix/t2 \
+ $(top_srcdir)/Matrix/t3 \
+ $(top_srcdir)/Matrix/t4 \
+ $(top_srcdir)/Matrix/west0067 \
+ $(top_srcdir)/Matrix/young1c
+
+check-local: $(check_PROGRAMS) $(MATRICES)
+ -./cs_demo1 < $(top_srcdir)/Matrix/t1
+ -./cs_demo2 < $(top_srcdir)/Matrix/t1
+ -./cs_demo2 < $(top_srcdir)/Matrix/fs_183_1
+ -./cs_demo2 < $(top_srcdir)/Matrix/west0067
+ -./cs_demo2 < $(top_srcdir)/Matrix/lp_afiro
+ -./cs_demo2 < $(top_srcdir)/Matrix/ash219
+ -./cs_demo2 < $(top_srcdir)/Matrix/mbeacxc
+ -./cs_demo2 < $(top_srcdir)/Matrix/bcsstk01
+ -./cs_demo3 < $(top_srcdir)/Matrix/bcsstk01
+ -./cs_demo2 < $(top_srcdir)/Matrix/bcsstk16
+ -./cs_demo3 < $(top_srcdir)/Matrix/bcsstk16
+ -./cs_di_demo1 < $(top_srcdir)/Matrix/t1
+ -./cs_di_demo2 < $(top_srcdir)/Matrix/t1
+ -./cs_di_demo2 < $(top_srcdir)/Matrix/fs_183_1
+ -./cs_di_demo2 < $(top_srcdir)/Matrix/west0067
+ -./cs_di_demo2 < $(top_srcdir)/Matrix/lp_afiro
+ -./cs_di_demo2 < $(top_srcdir)/Matrix/ash219
+ -./cs_di_demo2 < $(top_srcdir)/Matrix/mbeacxc
+ -./cs_di_demo2 < $(top_srcdir)/Matrix/bcsstk01
+ -./cs_di_demo3 < $(top_srcdir)/Matrix/bcsstk01
+ -./cs_di_demo2 < $(top_srcdir)/Matrix/bcsstk16
+ -./cs_di_demo3 < $(top_srcdir)/Matrix/bcsstk16
+ -./cs_dl_demo1 < $(top_srcdir)/Matrix/t1
+ -./cs_dl_demo2 < $(top_srcdir)/Matrix/t1
+ -./cs_dl_demo2 < $(top_srcdir)/Matrix/fs_183_1
+ -./cs_dl_demo2 < $(top_srcdir)/Matrix/west0067
+ -./cs_dl_demo2 < $(top_srcdir)/Matrix/lp_afiro
+ -./cs_dl_demo2 < $(top_srcdir)/Matrix/ash219
+ -./cs_dl_demo2 < $(top_srcdir)/Matrix/mbeacxc
+ -./cs_dl_demo2 < $(top_srcdir)/Matrix/bcsstk01
+ -./cs_dl_demo3 < $(top_srcdir)/Matrix/bcsstk01
+ -./cs_dl_demo2 < $(top_srcdir)/Matrix/bcsstk16
+ -./cs_dl_demo3 < $(top_srcdir)/Matrix/bcsstk16
+ -./cs_ci_demo1 < $(top_srcdir)/Matrix/t2
+ -./cs_ci_demo2 < $(top_srcdir)/Matrix/t2
+ -./cs_ci_demo2 < $(top_srcdir)/Matrix/t3
+ -./cs_ci_demo2 < $(top_srcdir)/Matrix/t4
+ -./cs_ci_demo2 < $(top_srcdir)/Matrix/c_west0067
+ -./cs_ci_demo2 < $(top_srcdir)/Matrix/c_mbeacxc
+ -./cs_ci_demo2 < $(top_srcdir)/Matrix/young1c
+ -./cs_ci_demo2 < $(top_srcdir)/Matrix/qc324
+ -./cs_ci_demo2 < $(top_srcdir)/Matrix/neumann
+ -./cs_ci_demo2 < $(top_srcdir)/Matrix/c4
+ -./cs_ci_demo3 < $(top_srcdir)/Matrix/c4
+ -./cs_ci_demo2 < $(top_srcdir)/Matrix/mhd1280b
+ -./cs_ci_demo3 < $(top_srcdir)/Matrix/mhd1280b
+ -./cs_cl_demo1 < $(top_srcdir)/Matrix/t2
+ -./cs_cl_demo2 < $(top_srcdir)/Matrix/t2
+ -./cs_cl_demo2 < $(top_srcdir)/Matrix/t3
+ -./cs_cl_demo2 < $(top_srcdir)/Matrix/t4
+ -./cs_cl_demo2 < $(top_srcdir)/Matrix/c_west0067
+ -./cs_cl_demo2 < $(top_srcdir)/Matrix/c_mbeacxc
+ -./cs_cl_demo2 < $(top_srcdir)/Matrix/young1c
+ -./cs_cl_demo2 < $(top_srcdir)/Matrix/qc324
+ -./cs_cl_demo2 < $(top_srcdir)/Matrix/neumann
+ -./cs_cl_demo2 < $(top_srcdir)/Matrix/c4
+ -./cs_cl_demo3 < $(top_srcdir)/Matrix/c4
+ -./cs_cl_demo2 < $(top_srcdir)/Matrix/mhd1280b
+ -./cs_cl_demo3 < $(top_srcdir)/Matrix/mhd1280b
+ -./cs_idemo < $(top_srcdir)/Matrix/t2
+ -./cs_ldemo < $(top_srcdir)/Matrix/t2
diff --git a/Include/Makefile.am b/Include/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Include/Makefile.am
@@ -0,0 +1 @@
+pkginclude_HEADERS = cs.h
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,5 @@
+SUBDIRS = Include Source Matrix Demo
+EXTRA_DIST = README.txt Doc/ChangeLog Doc/License.txt Doc/lesser.txt
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = cxsparse.pc
diff --git a/Matrix/Makefile.am b/Matrix/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Matrix/Makefile.am
@@ -0,0 +1,23 @@
+dist_noinst_DATA = \
+ ash219 \
+ bcsstk01 \
+ bcsstk16 \
+ c4 \
+ c_ibm32a \
+ c_ibm32b \
+ c_mbeacxc \
+ c_west0067 \
+ fs_183_1 \
+ ibm32a \
+ ibm32b \
+ lp_afiro \
+ mbeacxc \
+ mhd1280b \
+ neumann \
+ qc324 \
+ t1 \
+ t2 \
+ t3 \
+ t4 \
+ west0067 \
+ young1c
diff --git a/Source/Makefile.am b/Source/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Source/Makefile.am
@@ -0,0 +1,72 @@
+AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS)
+
+CS_SOURCE = \
+ cs_add.c \
+ cs_amd.c \
+ cs_chol.c \
+ cs_cholsol.c \
+ cs_compress.c \
+ cs_counts.c \
+ cs_cumsum.c \
+ cs_dfs.c \
+ cs_dmperm.c \
+ cs_droptol.c \
+ cs_dropzeros.c \
+ cs_dupl.c \
+ cs_entry.c \
+ cs_ereach.c \
+ cs_etree.c \
+ cs_fkeep.c \
+ cs_gaxpy.c \
+ cs_happly.c \
+ cs_house.c \
+ cs_ipvec.c \
+ cs_leaf.c \
+ cs_load.c \
+ cs_lsolve.c \
+ cs_ltsolve.c \
+ cs_lu.c \
+ cs_lusol.c \
+ cs_malloc.c \
+ cs_maxtrans.c \
+ cs_multiply.c \
+ cs_norm.c \
+ cs_permute.c \
+ cs_pinv.c \
+ cs_post.c \
+ cs_print.c \
+ cs_pvec.c \
+ cs_qr.c \
+ cs_qrsol.c \
+ cs_randperm.c \
+ cs_reach.c \
+ cs_scatter.c \
+ cs_scc.c \
+ cs_schol.c \
+ cs_spsolve.c \
+ cs_sqr.c \
+ cs_symperm.c \
+ cs_tdfs.c \
+ cs_transpose.c \
+ cs_updown.c \
+ cs_usolve.c \
+ cs_util.c \
+ cs_utsolve.c
+
+lib_LTLIBRARIES = libcxsparse.la
+noinst_LTLIBRARIES = libcxsparse_di.la libcxsparse_dl.la libcxsparse_ci.la libcxsparse_cl.la
+
+libcxsparse_di_la_SOURCES = $(CS_SOURCE)
+
+libcxsparse_dl_la_SOURCES = $(CS_SOURCE)
+libcxsparse_dl_la_CPPFLAGS = $(AM_CPPFLAGS) -DCS_LONG
+
+libcxsparse_ci_la_SOURCES = $(CS_SOURCE)
+libcxsparse_ci_la_CPPFLAGS = $(AM_CPPFLAGS) -DCS_COMPLEX
+
+libcxsparse_cl_la_SOURCES = $(CS_SOURCE)
+libcxsparse_cl_la_CPPFLAGS = $(AM_CPPFLAGS) -DCS_LONG -DCS_COMPLEX
+
+libcxsparse_la_SOURCES = cs_convert.c
+libcxsparse_la_LIBADD = libcxsparse_di.la libcxsparse_dl.la libcxsparse_ci.la libcxsparse_cl.la -lm
+libcxsparse_la_LDFLAGS = -no-undefined -release $(PACKAGE_VERSION)
diff --git a/configure.ac b/configure.ac
new file mode 100644
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,45 @@
+# -*- Autoconf -*-
+# Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.69])
+AC_INIT([CXSparse],[3.1.4],[DrTimothyAldenDavis@gmail.com],[cxsparse],[http://www.suitesparse.com/])
+AC_CONFIG_SRCDIR([Source/cs_print.c])
+AC_CONFIG_HEADERS([config.h])
+AM_INIT_AUTOMAKE([foreign])
+LT_INIT
+
+# Checks for programs.
+AC_PROG_INSTALL
+AC_PROG_CC
+
+LIBS_SAVED=$LIBS
+
+# Checks for libraries.
+AC_CHECK_LIB([m], [sqrt])
+
+PKG_PROG_PKG_CONFIG
+PKG_CHECK_MODULES([SUITESPARSECONFIG],[suitesparseconfig],
+ [],
+ [AC_MSG_ERROR([cannot find suitesparseconfig])])
+
+# Checks for header files.
+AC_CHECK_HEADERS([limits.h stdlib.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_TYPE_SIZE_T
+
+# Checks for library functions.
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_CHECK_FUNCS([sqrt])
+
+LIBS=$LIBS_SAVED
+
+AC_CONFIG_FILES([
+ cxsparse.pc
+ Makefile
+ Demo/Makefile
+ Include/Makefile
+ Matrix/Makefile
+ Source/Makefile])
+AC_OUTPUT
diff --git a/cxsparse.pc.in b/cxsparse.pc.in
new file mode 100644
--- /dev/null
+++ b/cxsparse.pc.in
@@ -0,0 +1,13 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: @PACKAGE_NAME@
+Description: An extended version of CSparse
+Version: @PACKAGE_VERSION@
+URL: @PACKAGE_URL@
+Requires.private: suitesparseconfig
+Libs: -L${libdir} -lcxsparse
+Libs.private: -lm
+Cflags: -I${includedir}/cxsparse