********************************************************************************
SharedMeatAxe Version 1.0                                                 README
********************************************************************************

This is an autotoolized shared library version of C MeatAxe 2.4.24, a set of
programs for computing with modular representations.

See INSTALL for installing shared_meataxe-1.0.

The package comprises a shared library "libmtx", as well as several
executables.

See COPYING for licence information.

Arithmetic tables
-----------------
By default, configure selects DATADIR/meataxe (normally PREFIX/share/meataxe)
as the library's arithmetic table directory. DATADIR is selected by the standard
--datadir=DIR configure option. Use --with-mtxlib=DIR to select the table directory
independently of DATADIR. For example, --datadir=/srv/share selects
/srv/share/meataxe, while --with-mtxlib=/srv/field-tables selects that exact
directory. The resolved path is compiled into libmtx and its
programs, and is available through pkg-config --variable=mtxlibdir libmtx.

Table generation and installation are disabled by default, as in earlier
releases; --disable-tables explicitly selects this behavior. Packagers can
enable them with --enable-tables. In that mode, make generates the tables for
all prime powers from 2 through 256 in the build tree; make install copies them
to the configured directory, respecting DESTDIR. Installed programs and library
clients can then read the tables without setting MTXLIB or having write access
to the installation directory. When tables are disabled, packagers must provide
them separately or users must choose a writable table directory for runtime
generation.
The programs still accept MTXLIB and -L/--mtxlib as runtime overrides, with
the command-line option taking precedence. Library clients can override the
default by setting MtxLibDir before performing finite-field operations.

Arithmetic tables are read from the selected table directory and, if missing,
generated there. There is no search of the current directory first. Ordinary
input and output file names are used as given, with relative paths interpreted
in the current directory. At the library API level, only SysFopen() calls with
the FM_LIB flag prefix the file name with MtxLibDir.

Continuous integration and releases
-----------------------------------
GitHub Actions builds and runs make -j8 check on every push and pull request,
using separate out-of-tree builds with --enable-tables and --disable-tables.
Build and test logs are saved as workflow artifacts. Successful builds also
produce source archives with make dist, including the generated configure script.

Pushing a tag runs the same checks and, if both configurations pass, creates a
GitHub release with generated release notes and the .tar.gz and .tar.bz2 source
archives attached. Before tagging a release, update the version in configure.ac
and the corresponding entry in NEWS. The workflow uses GitHub's built-in token;
no additional release secret is needed.

================================================================================
PACKAGE OVERVIEW
================================================================================

Directory	Contents
----------	--------------------------------------------
src/		Source files.
test/		Test suite.
etc/ 		Helpers for creating docs with doxygen.
