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
testoptimize
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
+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
noinst_HEADERS = testoptimize.h
check_PROGRAMS = t test tX test_reg test_regsurf testoptimize
TESTS = testoptimize
t_SOURCES = t.cc t2.cc
#nodist_t_SOURCES =
test_SOURCES = test.cc
@@ -43,9 +44,39 @@ AM_LDFLAGS += $(CUDALIBS)
tX_LDFLAGS = $(AM_LDFLAGS) -lX11 -lm
.PHONY: always
.PHONY: always manual
version.cc: always
./get_git_version >version.cc
# commented out since autoreconf complains about duplicit .PHONY
#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.
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_MACRO_DIR([m4])
AM_PROG_AR
@@ -12,6 +12,7 @@ LT_INIT
# Checks for programs.
AC_PROG_CXX
AX_CXX_COMPILE_STDCXX([14],[ext],[mandatory])
LT_INIT
AC_PROG_CC
#AC_PROG_RANLIB obsoleted by libtool
@@ -107,17 +108,20 @@ AC_SUBST([MATPTROPT])
#process options
FORINTOPT=""
AC_ARG_ENABLE([fotran64int],[ --enable-fotran64int to link with 64-bit-integer-BLAS+LAPACK ],
[case "${enableval}" in
forint64=""
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"
CBLASLIB=""
CBLASOPT=-DNONCBLAS
CLAPACKOPT=-DNONCLAPACK
;;
no) FORINTOPT="" ;;
*) FORINTOPT=${enableval}
esac],
,)
*) FORINTOPT=${forint64}
esac
fi
AC_SUBST([FORINTOPT])
@@ -169,6 +173,10 @@ AC_CHECK_FUNCS([getpagesize memset sqrt])
#Doxygen support
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_OUTPUT
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 "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 --enable-fotran64int to link with BLAS and LAPACK using 64-bit integers. "
echo "For documentation, 'make doxygen-doc' and see doxygen-doc/html/index.html "
echo "Use --enable-fortran64int to link with BLAS and LAPACK using 64-bit integers. "
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 "changing individual matrix/vector elements via l.h.s. operator() "
echo "**********************************************************************************"