diff --git a/CHANGES b/CHANGES index 4ad3bd160..92b68c066 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,8 @@ arpack-ng - 3.9.1 +[ Kyle Guinn ] + * [BUG FIX] Don't install pkg-config files for libraries that were not built. + [ Fabien Péan ] * pyarpack: Ensure that the matrix properties (symmetric/hermitian) fit the solver (CG/LDL) with which they are used in the tests * [BUG FIX] Tests for PARPACK with C/C++ bindings icb_parpack_c and icb_parpack_cpp are now really parallel and split the problem across MPI processes. diff --git a/CMakeLists.txt b/CMakeLists.txt index 6cc4e25aa..3448bb302 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -807,7 +807,7 @@ endif() set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix \${prefix}) set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) -set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}) +set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) set(PACKAGE_NAME ${PROJECT_NAME}) set(PACKAGE_VERSION ${arpack_ng_VERSION}) set(PACKAGE_URL "https://github.com/opencollab/arpack-ng/") @@ -830,15 +830,15 @@ foreach(lib ${LAPACK_LIBRARIES} ${MPI_Fortran_LIBRARIES}) endforeach() string(REPLACE ";" " " PARPACK_PC_LIBS_PRIVATE "${PARPACK_PC_LIBS_PRIVATE}") -configure_file(pkg-config/arpack.pc.in "${PROJECT_BINARY_DIR}/arpack${LIBSUFFIX}${ITF64SUFFIX}.pc" @ONLY) -configure_file(pkg-config/parpack.pc.in "${PROJECT_BINARY_DIR}/parpack${LIBSUFFIX}${ITF64SUFFIX}.pc" @ONLY) +configure_file(SRC/arpack.pc.in "${PROJECT_BINARY_DIR}/SRC/arpack${LIBSUFFIX}${ITF64SUFFIX}.pc" @ONLY) +configure_file(PARPACK/SRC/MPI/parpack.pc.in "${PROJECT_BINARY_DIR}/PARPACK/SRC/MPI/parpack${LIBSUFFIX}${ITF64SUFFIX}.pc" @ONLY) install(TARGETS arpack EXPORT arpackngTargets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -install(FILES "${PROJECT_BINARY_DIR}/arpack${LIBSUFFIX}${ITF64SUFFIX}.pc" +install(FILES "${PROJECT_BINARY_DIR}/SRC/arpack${LIBSUFFIX}${ITF64SUFFIX}.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) if (MPI) @@ -847,7 +847,7 @@ if (MPI) ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - install(FILES "${PROJECT_BINARY_DIR}/parpack${LIBSUFFIX}${ITF64SUFFIX}.pc" + install(FILES "${PROJECT_BINARY_DIR}/PARPACK/SRC/MPI/parpack${LIBSUFFIX}${ITF64SUFFIX}.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) endif () @@ -880,8 +880,10 @@ endif() configure_file(arpackdef.h.in "${PROJECT_BINARY_DIR}/arpackdef.h" @ONLY) install(FILES "${PROJECT_BINARY_DIR}/arpackdef.h" DESTINATION ${ARPACK_INSTALL_INCLUDEDIR}) -configure_file(arpackicb.h.in "${PROJECT_BINARY_DIR}/arpackicb.h" @ONLY) -install(FILES "${PROJECT_BINARY_DIR}/arpackicb.h" DESTINATION ${ARPACK_INSTALL_INCLUDEDIR}) +if(ICB) + configure_file(arpackicb.h.in "${PROJECT_BINARY_DIR}/arpackicb.h" @ONLY) + install(FILES "${PROJECT_BINARY_DIR}/arpackicb.h" DESTINATION ${ARPACK_INSTALL_INCLUDEDIR}) +endif() install(EXPORT arpackngTargets DESTINATION "${ARPACK_INSTALL_CMAKEDIR}" diff --git a/Makefile.am b/Makefile.am index 9ee2f950e..aa6a8255f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -27,11 +27,6 @@ endif EXTRA_DIST = README.md PARPACK_CHANGES CHANGES DOCUMENTS VISUAL_STUDIO \ detect_arpack_bug.m4 CMakeLists.txt -pkgconfig_DATA = arpack@LIBSUFFIX@@ITF64SUFFIX@.pc parpack@LIBSUFFIX@@ITF64SUFFIX@.pc - cmakedir = $(libdir)/cmake/arpack-ng cmake_DATA = cmake/arpackng-config-version.cmake \ cmake/arpackng-config.cmake - -# Due to the LIBSUFFIX/ITF64SUFFIX, configure doesn't automatically clean this file: -DISTCLEANFILES = arpack@LIBSUFFIX@@ITF64SUFFIX@.pc parpack@LIBSUFFIX@@ITF64SUFFIX@.pc diff --git a/PARPACK/SRC/MPI/Makefile.am b/PARPACK/SRC/MPI/Makefile.am index b574a8207..2dc044fa1 100644 --- a/PARPACK/SRC/MPI/Makefile.am +++ b/PARPACK/SRC/MPI/Makefile.am @@ -46,3 +46,8 @@ if ICB libparpack@LIBSUFFIX@@ITF64SUFFIX@_la_LIBADD += $(top_builddir)/ICB/libdbgicb.la $(top_builddir)/ICB/libstaicb.la libparpack@LIBSUFFIX@@ITF64SUFFIX@_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir) endif + +pkgconfig_DATA = parpack@LIBSUFFIX@@ITF64SUFFIX@.pc + +# Due to the LIBSUFFIX/ITF64SUFFIX, configure doesn't automatically clean this file: +DISTCLEANFILES = parpack@LIBSUFFIX@@ITF64SUFFIX@.pc diff --git a/pkg-config/parpack.pc.in b/PARPACK/SRC/MPI/parpack.pc.in similarity index 84% rename from pkg-config/parpack.pc.in rename to PARPACK/SRC/MPI/parpack.pc.in index c115e2b6e..1ab7f3384 100644 --- a/pkg-config/parpack.pc.in +++ b/PARPACK/SRC/MPI/parpack.pc.in @@ -1,7 +1,7 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ -includedir=@includedir@/arpack@ITF64SUFFIX@ +includedir=@includedir@ Name: @PACKAGE_NAME@ Description: Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems @@ -10,4 +10,4 @@ URL: @PACKAGE_URL@ Requires.private: arpack@LIBSUFFIX@@ITF64SUFFIX@ Libs: -L${libdir} -lparpack@LIBSUFFIX@@ITF64SUFFIX@ Libs.private: @PARPACK_PC_LIBS_PRIVATE@ -Cflags: -I${includedir} +Cflags: -I${includedir}/arpack@ITF64SUFFIX@ diff --git a/SRC/Makefile.am b/SRC/Makefile.am index afc48c051..2d54544e1 100644 --- a/SRC/Makefile.am +++ b/SRC/Makefile.am @@ -33,3 +33,8 @@ if ICB libarpack@LIBSUFFIX@@ITF64SUFFIX@_la_LIBADD += $(top_builddir)/ICB/libdbgicb.la $(top_builddir)/ICB/libstaicb.la libarpack@LIBSUFFIX@@ITF64SUFFIX@_la_CPPFLAGS = $(AM_CPPFLAGS) -I$(top_builddir) endif + +pkgconfig_DATA = arpack@LIBSUFFIX@@ITF64SUFFIX@.pc + +# Due to the LIBSUFFIX/ITF64SUFFIX, configure doesn't automatically clean this file: +DISTCLEANFILES = arpack@LIBSUFFIX@@ITF64SUFFIX@.pc diff --git a/pkg-config/arpack.pc.in b/SRC/arpack.pc.in similarity index 82% rename from pkg-config/arpack.pc.in rename to SRC/arpack.pc.in index 08abf6b06..b549928c2 100644 --- a/pkg-config/arpack.pc.in +++ b/SRC/arpack.pc.in @@ -1,7 +1,7 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ -includedir=@includedir@/arpack@ITF64SUFFIX@ +includedir=@includedir@ Name: @PACKAGE_NAME@ Description: Collection of Fortran77 subroutines designed to solve large scale eigenvalue problems @@ -9,4 +9,4 @@ Version: @PACKAGE_VERSION@ URL: @PACKAGE_URL@ Libs: -L${libdir} -larpack@LIBSUFFIX@@ITF64SUFFIX@ Libs.private: @ARPACK_PC_LIBS_PRIVATE@ -Cflags: -I${includedir} +Cflags: -I${includedir}/arpack@ITF64SUFFIX@ diff --git a/configure.ac b/configure.ac index 7a266d80d..985f593a2 100644 --- a/configure.ac +++ b/configure.ac @@ -347,14 +347,12 @@ AC_SUBST([ARPACK_PC_LIBS_PRIVATE], ["$LAPACK_LIBS $BLAS_LIBS"]) AC_SUBST([PARPACK_PC_LIBS_PRIVATE], ["$LAPACK_LIBS $BLAS_LIBS $MPI_Fortran_LIBS"]) AC_CONFIG_FILES([ - arpack$LIBSUFFIX$ITF64SUFFIX.pc:pkg-config/arpack.pc.in - parpack$LIBSUFFIX$ITF64SUFFIX.pc:pkg-config/parpack.pc.in + SRC/arpack$LIBSUFFIX$ITF64SUFFIX.pc:SRC/arpack.pc.in + PARPACK/SRC/MPI/parpack$LIBSUFFIX$ITF64SUFFIX.pc:PARPACK/SRC/MPI/parpack.pc.in ], [], [LIBSUFFIX="$LIBSUFFIX"; ITF64SUFFIX="$ITF64SUFFIX"]) dnl We do NOT want arpackng*.cmake files to be created: @MPI@ can not be replaced. -AC_CONFIG_FILES([ - tstAutotoolsInstall.sh:pkg-config/tstAutotoolsInstall.sh.in -], [], [abs_top_builddir="$abs_top_builddir"]) +AC_CONFIG_FILES([tstAutotoolsInstall.sh], [chmod +x tstAutotoolsInstall.sh], [abs_top_builddir="$abs_top_builddir"]) AC_CONFIG_FILES([ arpackdef.h diff --git a/pkg-config/tstAutotoolsInstall.sh.in b/tstAutotoolsInstall.sh.in old mode 100755 new mode 100644 similarity index 100% rename from pkg-config/tstAutotoolsInstall.sh.in rename to tstAutotoolsInstall.sh.in