diff --git a/Demo/Makefile.am b/Demo/Makefile.am new file mode 100644 --- /dev/null +++ b/Demo/Makefile.am @@ -0,0 +1,22 @@ +AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS) +LDADD = $(top_builddir)/Source/librbio.la $(SUITESPARSECONFIG_LIBS) + +EXTRA_DIST = \ + RBdemo.out + +# Disable the .out implicit pattern rule. Prevents GNU make from +# adding bogus dependencies for the .out files listed above. +%.out: % + +check_PROGRAMS = \ + RBdemo + +RBdemo_SOURCES = RBdemo.c + +RB = \ + $(top_srcdir)/RBio/private/west0479.rua + +check-local: $(check_PROGRAMS) $(RB) + ./RBdemo < $(top_srcdir)/RBio/private/west0479.rua + +CLEANFILES = temp.rb 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 = RBio.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 RBio Demo Tcov +EXTRA_DIST = README.txt Doc/ChangeLog Doc/License.txt Doc/gpl.txt + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = rbio.pc diff --git a/RBio/Makefile.am b/RBio/Makefile.am new file mode 100644 --- /dev/null +++ b/RBio/Makefile.am @@ -0,0 +1,3 @@ +SUBDIRS = private +dist_noinst_DATA = \ + mywest diff --git a/RBio/private/Makefile.am b/RBio/private/Makefile.am new file mode 100644 --- /dev/null +++ b/RBio/private/Makefile.am @@ -0,0 +1,7 @@ +dist_noinst_DATA = \ + bcsstk01.rb \ + farm.rb \ + lap_25.pse \ + lap_25.rb \ + west0479.rb \ + west0479.rua diff --git a/Source/Makefile.am b/Source/Makefile.am new file mode 100644 --- /dev/null +++ b/Source/Makefile.am @@ -0,0 +1,18 @@ +AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS) + +RBIOSRC = \ + RBio.c + +lib_LTLIBRARIES = librbio.la +noinst_LTLIBRARIES = librbioi.la librbiol.la + +librbioi_la_SOURCES = $(RBIOSRC) +librbioi_la_LIBADD = $(SUITESPARSECONFIG_LIBS) +librbioi_la_CPPFLAGS = $(AM_CPPFLAGS) -DINT + +librbiol_la_SOURCES = $(RBIOSRC) +librbiol_la_LIBADD = $(SUITESPARSECONFIG_LIBS) + +librbio_la_SOURCES = +librbio_la_LIBADD = librbioi.la librbiol.la +librbio_la_LDFLAGS = -no-undefined -version-number 2:1:1 diff --git a/Tcov/Makefile.am b/Tcov/Makefile.am new file mode 100644 --- /dev/null +++ b/Tcov/Makefile.am @@ -0,0 +1,92 @@ +AM_CC = gcc +AM_CFLAGS = -O0 -g --coverage +AM_CPPFLAGS = -I$(top_srcdir)/Include $(SUITESPARSECONFIG_CFLAGS) +LDADD = $(SUITESPARSECONFIG_LIBS) + +dist_noinst_DATA = \ + matrices/Tina_DisCog.tar.gz \ + matrices/dwg961a.tar.gz \ + matrices/m4.rb \ + matrices/m4b.rb \ + matrices/mhd1280a.tar.gz \ + matrices/mhd1280b.tar.gz \ + matrices/plskz362.tar.gz \ + matrices/qc324.tar.gz \ + matrices/s4.rb \ + matrices/west0067.tar.gz \ + mangled/1.rb \ + mangled/2.rb \ + mangled/3.rb \ + mangled/4.rb \ + mangled/5.rb \ + mangled/6.rb \ + mangled/7.rb \ + mangled/8.rb \ + mangled/9.rb \ + mangled/10.rb \ + mangled/11.rb \ + mangled/12.rb \ + mangled/13.rb \ + mangled/14.rb \ + mangled/15.rb + +check_PROGRAMS = \ + RBdemo \ + RBtest + +RBdemo_SOURCES = $(top_srcdir)/Source/RBio.c $(top_srcdir)/Demo/RBdemo.c +RBtest_SOURCES = $(top_srcdir)/Source/RBio.c RBtest.c + +TAR = tar -O -xvvzf + +RB = \ + $(top_srcdir)/RBio/private/bcsstk01.rb \ + $(top_srcdir)/RBio/private/farm.rb \ + $(top_srcdir)/RBio/private/lap_25.pse \ + $(top_srcdir)/RBio/private/lap_25.rb \ + $(top_srcdir)/RBio/private/west0479.rb \ + $(top_srcdir)/RBio/private/west0479.rua \ + $(addprefix $(srcdir)/,$(dist_noinst_DATA)) + +COV = \ + $(top_srcdir)/Source/RBio.c \ + $(top_srcdir)/Demo/RBdemo.c \ + $(srcdir)/RBtest.c + +check-local: $(check_PROGRAMS) $(RB) $(COV) + -./RBdemo $(top_srcdir)/RBio/private/bcsstk01.rb + -./RBdemo $(top_srcdir)/RBio/private/farm.rb + -./RBdemo $(top_srcdir)/RBio/private/lap_25.pse + -./RBdemo $(top_srcdir)/RBio/private/lap_25.rb + -./RBdemo $(top_srcdir)/RBio/private/west0479.rb + -./RBdemo $(top_srcdir)/RBio/private/west0479.rua + -$(TAR) $(srcdir)/matrices/dwg961a.tar.gz dwg961a/dwg961a.rb | ./RBdemo + -$(TAR) $(srcdir)/matrices/mhd1280a.tar.gz mhd1280a/mhd1280a.rb | ./RBdemo + -$(TAR) $(srcdir)/matrices/mhd1280b.tar.gz mhd1280b/mhd1280b.rb | ./RBdemo + -$(TAR) $(srcdir)/matrices/qc324.tar.gz qc324/qc324.rb | ./RBdemo + -$(TAR) $(srcdir)/matrices/plskz362.tar.gz plskz362/plskz362.rb | ./RBdemo + -$(TAR) $(srcdir)/matrices/west0067.tar.gz west0067/west0067.rb | ./RBdemo + -$(TAR) $(srcdir)/matrices/Tina_DisCog.tar.gz Tina_DisCog/Tina_DisCog.rb | ./RBdemo + -./RBdemo $(srcdir)/matrices/m4.rb + -./RBdemo $(srcdir)/matrices/s4.rb + -./RBdemo $(srcdir)/matrices/m4b.rb + -./RBdemo $(srcdir)/mangled/1.rb + -./RBdemo $(srcdir)/mangled/2.rb + -./RBdemo $(srcdir)/mangled/3.rb + -./RBdemo $(srcdir)/mangled/4.rb + -./RBdemo $(srcdir)/mangled/5.rb + -./RBdemo $(srcdir)/mangled/6.rb + -./RBdemo $(srcdir)/mangled/7.rb + -./RBdemo $(srcdir)/mangled/8.rb + -./RBdemo $(srcdir)/mangled/9.rb + -./RBdemo $(srcdir)/mangled/10.rb + -./RBdemo $(srcdir)/mangled/11.rb + -./RBdemo $(srcdir)/mangled/12.rb + -./RBdemo $(srcdir)/mangled/13.rb + -./RBdemo $(srcdir)/mangled/14.rb + -./RBdemo $(srcdir)/mangled/15.rb + -./RBtest + -gcov -o $(builddir) $(COV) > gcov.out + -grep -c "#####" RBio.c.gcov + +CLEANFILES = gcov.out *.gcov *.gcda *.gcno temp*.rb diff --git a/configure.ac b/configure.ac new file mode 100644 --- /dev/null +++ b/configure.ac @@ -0,0 +1,41 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ([2.69]) +AC_INIT([RBio],[2.1.1],[DrTimothyAldenDavis@gmail.com],[rbio],[http://www.suitesparse.com/]) +AC_CONFIG_SRCDIR([Source/RBio.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. +PKG_PROG_PKG_CONFIG +PKG_CHECK_MODULES([SUITESPARSECONFIG],[suitesparseconfig], + [], + [AC_MSG_ERROR([cannot find suitesparseconfig])]) + +# Checks for header files. +AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) + +# Checks for typedefs, structures, and compiler characteristics. + +# Checks for library functions. + +LIBS=$LIBS_SAVED + +AC_CONFIG_FILES([ + rbio.pc + Makefile + Demo/Makefile + Include/Makefile + RBio/Makefile + RBio/private/Makefile + Source/Makefile + Tcov/Makefile]) +AC_OUTPUT diff --git a/rbio.pc.in b/rbio.pc.in new file mode 100644 --- /dev/null +++ b/rbio.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: @PACKAGE_NAME@ +Description: Toolbox for reading/writing sparse matrices in Rutherford/Boeing format +Version: @PACKAGE_VERSION@ +URL: @PACKAGE_URL@ +Requires.private: suitesparseconfig +Libs: -L${libdir} -lrbio +Cflags: -I${includedir}/rbio