Commit Graph
53 Commits
Author SHA1 Message Date
Kyle GuinnandFranck HOUSSEN f73592dd1e Fix header and pkg-config file installation (#426)
* 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>
2025-10-31 15:05:59 +01:00
Kyle Guinn 51ce061ff7 Update changelog 2024-01-31 09:59:28 +01:00
Kyle Guinn ef90e416cf Build all PARPACK files with optimization 2024-01-31 09:59:28 +01:00
Kyle Guinn 243a1011e5 Quote the default pkgconfigdir
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.
2024-01-20 21:25:36 -06:00
Kyle Guinn 4345d4af51 Fix variable name typo 2020-11-23 22:46:29 -06:00
Kyle Guinn 1da025c2d3 Update arpack-ng-config.cmake to match pkgconfig files
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.
2020-11-23 22:38:41 -06:00
Kyle Guinn a583f7d6a5 Add arpackSolver.pc 2020-11-23 22:16:41 -06:00
Kyle Guinn 93a3016fc5 Clean a few more files 2020-11-23 22:16:41 -06:00
Kyle Guinn 068a40817b Add parpack.pc 2020-11-23 22:16:41 -06:00
Kyle Guinn c5e7b021dd Fix the cmake library directory 2020-11-23 22:16:41 -06:00
Kyle Guinn 1d84a81b8f Attempt to make cmake files identical when generated by autotools 2020-11-23 21:29:57 -06:00
Kyle Guinn d1a29c2947 Revert "[BUG FIX] fix cmake/pc files: enable linking from outside. (#216)"
See discussion in #221.

This reverts commit c43cb86854.
2020-11-23 01:58:21 -06:00
Kyle Guinn c06ad87196 Attempt to make arpack.pc identical when generated by CMake 2020-11-23 01:44:48 -06:00
Kyle Guinn fd1a146fbe Fix pkg-config fallback for Eigen3
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.
2020-11-23 01:28:23 -06:00
Kyle Guinn 3914dcbe3b Remove Eigen3 from arpack.pc
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.
2020-11-23 01:19:32 -06:00
Kyle Guinn b42216cbb6 Install arpackSolver.hpp alongside other headers 2020-11-23 01:09:12 -06:00
Kyle Guinn fd2fc43dbc Don't build static libs by default
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).
2020-11-23 00:56:22 -06:00
Kyle Guinn f85e91fa99 Remove SH_LOG_COMPILER
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.
2020-11-23 00:54:33 -06:00
Kyle Guinn 5fbe6161c2 Switch back to the default pkg-config error text
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.
2020-11-23 00:54:05 -06:00
Kyle Guinn d513128421 Update to latest versions of ax_blas.m4 and ax_lapack.m4 2020-11-23 00:53:18 -06:00
turboencabulator 35bffac439 Don't hard-code installation paths (#250)
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.
2020-02-29 18:49:16 +01:00
Kyle Guinn 1e0348423e Update CHANGES 2019-01-11 08:21:30 +01:00
turboencabulator 998b89840e Autotools cleanup (#172)
* 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
2019-01-10 11:12:29 +01:00
turboencabulator 616a91547d Minor autoconf cleanup (#61)
* Move some generated files to build-aux

* Remove unnecessary includes

aclocal handles these includes.

* Update changelog

* Update .gitignore
2017-07-02 15:23:28 -07:00
turboencabulator 0e2ed1b2f2 Improvements to configure.ac (#52)
* 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
2017-03-29 16:35:22 +02:00
turboencabulator 9631eb8b5f Improvements to CMake (#53)
* Automatically determine installation locations

* Set the library version to match the autotools build

* First attempt at generating arpack.pc from CMake

* Update CHANGES
2016-12-16 09:59:38 +01:00
Kyle Guinn 86df5b062e Follow autoconf's error message style suggestions
"The error-description should start with a lower-case letter"
2016-01-08 01:45:31 -06:00
Kyle Guinn 7fc73aae63 Delete an AC_MSG_CHECKING without a corresponding AC_MSG_RESULT
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.
2016-01-08 01:39:46 -06:00
Kyle Guinn 1131e093af Simplify MPI/BLACS selection
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.
2016-01-08 01:08:43 -06:00
Kyle Guinn c6e5122c8e Remove another libtool convenience library
Repeats the last commit on the PARPACK sources.
2016-01-08 00:54:41 -06:00
Kyle Guinn 3d94a2cd3d Remove a libtool convenience library
Instead of creating a convenience lib of everything in SRC and linking
it in the root directory, create the actual libarpack library in SRC
instead.
2016-01-08 00:40:46 -06:00
Kyle Guinn d8f2020144 Shorten the names of some targets
Let the directory name distinguish between BLACS and MPI variants.
2016-01-07 00:32:32 -06:00
Kyle Guinn 33a3efd6ee Remove test-dnsimp.sh
AC_CONFIG_LINKS copies testA.mtx to the build directory, making this
script unnecessary.
2016-01-06 22:47:58 -06:00
Kyle Guinn ddfd843e29 Do not link bug_1315 tests to LAPACK/BLAS
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.
2016-01-06 22:44:28 -06:00
Kyle Guinn 29e06320f6 Remove AM_DEFAULT_SOURCE_EXT
Each executable has a _SOURCES variable defined.  No need for automake
to guess a default value for _SOURCES.
2016-01-06 22:42:32 -06:00
Kyle Guinn e8267ce709 Fix order of BLAS/LAPACK libraries 2016-01-04 22:41:00 -06:00
Kyle Guinn 0a8e936c7a Fix make distcheck
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.
2014-12-31 18:37:11 -06:00
Kyle Guinn 607877d0b2 Enable the PARPACK examples as tests 2014-12-31 18:28:55 -06:00
Kyle Guinn 36f8d20f0f Re-add PARPACK psndrv1 examples 2014-12-31 18:22:50 -06:00
Kyle Guinn 595618eebc Re-add the bug_1323 test 2014-12-31 18:22:50 -06:00
Kyle Guinn 872b44c592 Fix the order of LAPACK/BLAS libs
LAPACK may depend on BLAS, therefore -llapack needs to be given before
-lblas.
2014-12-31 18:22:50 -06:00
Kyle Guinn 8600fd13e4 Clean up EXTRA_DIST for the examples 2014-12-31 18:22:49 -06:00
Kyle Guinn 8a6d23a38f Simplify automake input files
Copy some description comments from the original makefiles.
2014-12-31 18:22:49 -06:00
Kyle Guinn ad373111a0 Fix several whitespace nitpicks 2014-12-31 18:15:44 -06:00
Kyle Guinn 60777efcad Link libparpack to libarpack
Avoids having a duplicate copy of libarpack inside of libparpack, thus
saving disk space.
2014-12-31 18:15:33 -06:00
Kyle Guinn a6395d059d Don't install the examples 2014-12-31 18:15:06 -06:00
Kyle Guinn 1f6cf9d86a Remove two unnecessary automake variables
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)
2014-12-31 18:15:02 -06:00
Kyle Guinn 209bc9967b Remove an extra trailing '/' 2014-12-31 18:14:56 -06:00
Kyle Guinn ff75ef2384 Improve the pkg-config file
Get the library name and URL from configure.ac.
Make the description an actual description.
Remove the empty Cflags.
2014-12-31 18:14:51 -06:00
Kyle Guinn fe9b38df33 Prevent overlinking to BLAS/LAPACK 2014-12-31 18:14:47 -06:00
Kyle Guinn c8dda4c1e7 Update ax_blas.m4 to serial 14
This adds support for OpenBLAS, among other things.
2014-12-31 18:14:38 -06:00
Kyle Guinn 23e4995054 Update .gitignore 2014-12-31 18:14:25 -06:00
Kyle Guinn 4eab7e3a60 Replace auto-generated files with a bootstrap script 2014-12-31 18:13:59 -06:00