* Don't install pkg-config files for unbuilt libraries
The autotools build is configured to skip entire directories depending
on the configuration. Each directory's Makefile is responsible for
installing what it needs, and moving the .pc files to the toplevel broke
that.
In the pkg-config files, leave ${includedir} unmodified from how
configure defines it.
* Install arpackicb.h only when ICB is ON.
---------
Co-authored-by: Franck HOUSSEN <fghoussen@users.noreply.github.com>
The second argument to AC_SUBST is placed on the right-hand-side of a
shell variable assignment. Without the single quotes, ${libdir} is
expanded when that variable assignment is executed, which is earlier
than we want.
Removes the manual search for library files (where the static lib was
preferred by default), instead passes the library name as a -l flag so
the system can search for it in the preferred manner.
MPI libraries and includes should not be part of PARPACK's interface,
instead they belong in the equivalent of Libs.private/Requires.private
in the pkgconfig files. Remove them.
PARPACK has no header files of its own. Remove them from the
target_include_directories stuff.
Use QUIET to suppress warnings about missing FindEigen3.cmake.
pkg_check_modules defines EIGEN3_INCLUDE_DIRS, not EIGEN3_INCLUDE_DIR,
so define the latter as the former.
Eigen3 is only needed for arpackSolver.hpp, which is independent from
the library. If desired, a separate pkg-config file should be created
for the solver itself, which should contain something like:
Requires: arpack, eigen3 >= 3.3
Also remove Eigen3 from arpack-ng-config.cmake since it serves the same
purpose.
I believe many of the incorrect dependency problems are due to building
static libs, which don't contain any dependency info.
If needed, these can be enabled with --enable-static (for autotools) or
-DBUILD_SHARED_LIBS=OFF (for cmake).
SH_LOG_COMPILER has no effect since TEST_EXTENSIONS does not contain .sh
The test driver runs the script directly and therefore uses its #! line
to find the appropriate shell and its options.
This partially reverts commit 8fe4734da8.
The original issue (#183) appears to be some sort of syntax error,
likely from not having pkg-config installed at the time of generating
the configure script. Specifying our own error text won't improve that
problem.
This reverts commit ad9f74b962.
Move all installation commands after include(GNUInstallDirs) so that the
CMAKE_INSTALL_* variables have correct values at the time of use.
This reverts commit 6b04aa4bcc.
* Version numbers need to be kept up-to-date
* arpack.pc: includedir should match the corresponding ./configure option
* Override pkgincludedir instead of creating a new directory variable
* Supplying arguments to AC_OUTPUT is obsolete behavior
* Distribute the entire source regardless of build options
Otherwise you won't be able to build ICB/MPI/etc. if the tarball wasn't
originally built with those options, because those files will be
missing. Missing files leads to more breakage.
DIST_SUBDIRS is handled automatically.
* Clean up conditional recursion into subdirectories
Don't need to check for ICB inside a subdirectory if it won't be
descended into from the parent directory.
* Fix various include path problems
Should be using $(top_srcdir), not $(top_builddir).
-I flags go in CPPFLAGS, not CFLAGS nor FCFLAGS.
* Minor rearrangement of autoconf macros
Put all AC_CONFIG_*s together near the end.
Put all AM_CONDITIONALs together near the end. These should never be
conditionally expanded.
* Run Fortran flag tests against the correct compiler
* Simplify --enable arguments
AC_HELP_STRING has been replaced by AS_HELP_STRING.
Setting enable_foo to $enableval is an unnecessary self-assignment.
* Fix missing files in the distribution
* Simplify creation of arpackdef.h
The ax_gen_arpack.m4 macro would add a bunch of extra garbage to
arpackdef.h, such as PACKAGE_NAME, VERSION, HAVE_BLAS, etc. that would
clash if any other project tried to #include it. Shorten it to only the
one #define that we care about.
This file is placed in $(top_builddir) so add that path to CPPFLAGS.
-I$(top_builddir) should be first. Note that autoheader would do this,
but now we don't need to use autoheader.
Move #include lines inside the include guards.
* Need PKG_PROG_PKG_CONFIG if first PKG_CHECK_MODULES is conditional
* Populate the version and URL fields of arpack.pc from CMake
Still not installing this yet because it doesn't contain full dependency
info for LAPACK/BLAS.
* Bump version to 3.7.0
* Update shared library version
Updating the minor number (libtool "age") due to the new dbgini/staini
symbols. Note that CMake doesn't follow libtool's current:revision:age
numbering scheme, so care should be taken with any future changes to
make sure they generate files with the same numbers.
* Enable checks for eigen3 headers
* Add the --with-pkgconfigdir option
* Ignore more autoreconf-generated files
* Various portability improvements
Use the 2nd argument to AX_BLAS and AX_LAPACK to handle errors. Don't
rely on $ax_blas_ok and $ax_lapack_ok having any particular value.
AC_ARG_ENABLE([x], ...) will define $enable_x to $enableval. No need to
do this ourselves.
The default for $enable_mpi is "no", so only compare to "no".
* Add gitignore patterns for files generated by test-driver
* Add a workaround for those without pkg-config >= 0.27
* Update CHANGES
* Automatically determine installation locations
* Set the library version to match the autotools build
* First attempt at generating arpack.pc from CMake
* Update CHANGES
This is meant to be used around something like AC_TRY_COMPILE. The
ax_mpi.m4 script will print out several similar lines, so there's no
need to convert it to AC_MSG_NOTICE.
Set up the BLACS variant to install libparpack and build examples just
like the MPI variant. You can now choose one of the two from
configure.ac. The BLACS variant is disabled for now. Because it is
disabled, note that the sources are no longer built and then left
unused.
LAPACK/BLAS is not a direct dependency. If it was, we would also need
to link with $(FLIBS) as determined by AC_F77_LIBRARY_LDFLAGS since
we're mixing C and Fortran.
As a compromise for anyone who doesn't have MPI support but wants to run
`make distcheck`, only check PARPACK if --enable-mpi was given during
./configure.
Fixes the following autoreconf warnings:
EXAMPLES/BAND/Makefile.am:84: variable `snband_SOURCES' is defined but no program or
EXAMPLES/BAND/Makefile.am:84: library has `snband' as canonical name (possible typo)
EXAMPLES/BAND/Makefile.am:86: variable `snband_LDADD' is defined but no program or
EXAMPLES/BAND/Makefile.am:86: library has `snband' as canonical name (possible typo)