updated build system and version set to 1.5

This commit is contained in:
jiri committed 2026-10-30 23:03:04 +01:00
1 parent 764290e413
commit 20a03cc1b2
3 files changed
+58 -9

No files matched your search

+10
View File
@@ -67,4 +67,14 @@ npytest
*.prompt *.prompt
testoptimize testoptimize
readme.gelfand readme.gelfand
doc/.build
doxygen-doc
test-driver
*.pdf
answers*
bugtests
doc_questions.md
instructions
suspected_bugs.md
optimize_discussion*.md
# CVS default ignores end # CVS default ignores end
+32 -1
View File
@@ -4,6 +4,7 @@ libla_la_SOURCES = simple.cc optimize.cc tensor.cc miscfunc.cc quaternion.cc vec
nodist_libla_la_SOURCES = version.cc nodist_libla_la_SOURCES = version.cc
noinst_HEADERS = testoptimize.h noinst_HEADERS = testoptimize.h
check_PROGRAMS = t test tX test_reg test_regsurf testoptimize check_PROGRAMS = t test tX test_reg test_regsurf testoptimize
TESTS = testoptimize
t_SOURCES = t.cc t2.cc t_SOURCES = t.cc t2.cc
#nodist_t_SOURCES = #nodist_t_SOURCES =
test_SOURCES = test.cc test_SOURCES = test.cc
@@ -43,9 +44,39 @@ AM_LDFLAGS += $(CUDALIBS)
tX_LDFLAGS = $(AM_LDFLAGS) -lX11 -lm tX_LDFLAGS = $(AM_LDFLAGS) -lX11 -lm
.PHONY: always .PHONY: always manual
version.cc: always version.cc: always
./get_git_version >version.cc ./get_git_version >version.cc
# commented out since autoreconf complains about duplicit .PHONY # commented out since autoreconf complains about duplicit .PHONY
#include $(top_srcdir)/aminclude.am #include $(top_srcdir)/aminclude.am
#documentation: make manual (alias doc) builds doc/manual.pdf, make doxygen the doxygen pages in doxygen-doc,
#make all builds both besides the library (each only if its tool was found by configure)
MANUAL_TEX = doc/biblio.tex doc/bitvector.tex doc/building.tex doc/concepts.tex doc/fourindex.tex doc/introduction.tex doc/iterative.tex doc/lamacros.tex doc/manual.tex doc/mat.tex doc/nonclass.tex doc/optimize.tex doc/permutation.tex doc/polynomial.tex doc/quaternion.tex doc/regression.tex doc/smat.tex doc/sparse.tex doc/tensor.tex doc/utilities.tex doc/vec.tex doc/vecmat3.tex \
doc/bib/iterative.tex doc/bib/optimize.tex doc/bib/permutation.tex doc/bib/polynomial.tex doc/bib/quaternion.tex doc/bib/utilities.tex doc/bib/vecmat3.tex
EXTRA_DIST += doc/manual.pdf $(MANUAL_TEX)
doc/manual.pdf: $(MANUAL_TEX)
mkdir -p doc/.build
cd doc && for i in 1 2 3; do $(PDFLATEX) -interaction=nonstopmode -halt-on-error -output-directory=.build manual.tex >/dev/null 2>&1 || { tail -20 .build/manual.log; exit 1; }; done
cp doc/.build/manual.pdf $@
manual doc: doc/manual.pdf
doxygen-doc/html/index.html: doxygen.cfg $(include_HEADERS) $(libla_la_SOURCES)
$(DX_ENV) $(DX_DOXYGEN) $(DX_CONFIG) >/dev/null
doxygen: doxygen-doc/html/index.html
ALL_DOCS =
if HAVE_PDFLATEX
ALL_DOCS += doc/manual.pdf
endif
#if DX_COND_doc
#ALL_DOCS += doxygen-doc/html/index.html
#endif
all-local: $(ALL_DOCS)
clean-local:
rm -rf doc/.build doxygen-doc
+16 -8
View File
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script. # Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69]) AC_PREREQ([2.69])
AC_INIT([libla],[1.4],[jiri@pittnerovi.com]) AC_INIT([libla],[1.5],[jiri@pittnerovi.com])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
AM_PROG_AR AM_PROG_AR
@@ -12,6 +12,7 @@ LT_INIT
# Checks for programs. # Checks for programs.
AC_PROG_CXX AC_PROG_CXX
AX_CXX_COMPILE_STDCXX([14],[ext],[mandatory])
LT_INIT LT_INIT
AC_PROG_CC AC_PROG_CC
#AC_PROG_RANLIB obsoleted by libtool #AC_PROG_RANLIB obsoleted by libtool
@@ -107,17 +108,20 @@ AC_SUBST([MATPTROPT])
#process options #process options
FORINTOPT="" FORINTOPT=""
AC_ARG_ENABLE([fotran64int],[ --enable-fotran64int to link with 64-bit-integer-BLAS+LAPACK ], forint64=""
[case "${enableval}" in AC_ARG_ENABLE([fortran64int],[ --enable-fortran64int to link with 64-bit-integer-BLAS+LAPACK ],[forint64=${enableval}],)
AC_ARG_ENABLE([fotran64int],[ --enable-fotran64int old misspelled alias of --enable-fortran64int ],[forint64=${enableval}],)
if test -n "${forint64}"; then
case "${forint64}" in
yes) FORINTOPT="-DLONG_FORTRAN_INT" yes) FORINTOPT="-DLONG_FORTRAN_INT"
CBLASLIB="" CBLASLIB=""
CBLASOPT=-DNONCBLAS CBLASOPT=-DNONCBLAS
CLAPACKOPT=-DNONCLAPACK CLAPACKOPT=-DNONCLAPACK
;; ;;
no) FORINTOPT="" ;; no) FORINTOPT="" ;;
*) FORINTOPT=${enableval} *) FORINTOPT=${forint64}
esac], esac
,) fi
AC_SUBST([FORINTOPT]) AC_SUBST([FORINTOPT])
@@ -169,6 +173,10 @@ AC_CHECK_FUNCS([getpagesize memset sqrt])
#Doxygen support #Doxygen support
DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.cfg) DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.cfg)
#LaTeX manual (doc/manual.tex), built by make if pdflatex is available
AC_CHECK_PROG([PDFLATEX],[pdflatex],[pdflatex])
AM_CONDITIONAL([HAVE_PDFLATEX],[test -n "$PDFLATEX"])
AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([Makefile])
AC_OUTPUT AC_OUTPUT
echo echo
@@ -180,8 +188,8 @@ echo "set to '-I/path' and '-L/path' for your preferred BLAS/LAPACK library vers
echo "Either use export or specify these options on the command line ./configure ..... " echo "Either use export or specify these options on the command line ./configure ..... "
echo "In addition, similarly you might set include and link paths for Nvidia CUBLAS. " echo "In addition, similarly you might set include and link paths for Nvidia CUBLAS. "
echo "Use ./configure --disable-optimize CXXFLAGS='' LDFLAGS='' for a fast compile. " echo "Use ./configure --disable-optimize CXXFLAGS='' LDFLAGS='' for a fast compile. "
echo "Use --enable-fotran64int to link with BLAS and LAPACK using 64-bit integers. " echo "Use --enable-fortran64int to link with BLAS and LAPACK using 64-bit integers. "
echo "For documentation, 'make doxygen-doc' and see doxygen-doc/html/index.html " echo "For documentation see doc/manual.pdf; 'doxygen doxygen.cfg' makes the doxygen pages"
echo "For usage examples see file t.cc. Do not forget using copyonwrite() before " echo "For usage examples see file t.cc. Do not forget using copyonwrite() before "
echo "changing individual matrix/vector elements via l.h.s. operator() " echo "changing individual matrix/vector elements via l.h.s. operator() "
echo "**********************************************************************************" echo "**********************************************************************************"