lapack: update to 3.11, adopt.

This commit is contained in:
Gonzalo Tornaría 2022-11-13 23:58:50 -03:00 committed by Leah Neukirchen
parent 21cb7e57d9
commit 3d434cce1c
4 changed files with 69 additions and 300 deletions

View file

@ -1,141 +0,0 @@
From 87536aa3c8bb0af00f66088fb6ac05d87509e011 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= <sebastien@debian.org>
Date: Sat, 23 Nov 2019 12:22:20 +0100
Subject: [PATCH] Restore missing prototypes for deprecated LAPACK functions
Some LAPACK functions prototypes were inadvertedly dropped in 3.9.0. As a
consequence, LAPACKE has several unresolved symbols.
Closes #365
---
LAPACKE/include/lapack.h | 100 +++++++++++++++++++++++++++++++++++++++
1 file changed, 100 insertions(+)
diff --git LAPACKE/include/lapack.h LAPACKE/include/lapack.h
index 3f425325..5c131d84 100644
--- a/LAPACKE/include/lapack.h
+++ b/LAPACKE/include/lapack.h
@@ -1842,6 +1842,28 @@ void LAPACK_zgeqlf(
lapack_complex_double* work, lapack_int const* lwork,
lapack_int* info );
+#define LAPACK_sgeqpf LAPACK_GLOBAL(sgeqpf,SGEQPF)
+void LAPACK_sgeqpf( lapack_int* m, lapack_int* n, float* a, lapack_int* lda,
+ lapack_int* jpvt, float* tau, float* work,
+ lapack_int *info );
+
+#define LAPACK_dgeqpf LAPACK_GLOBAL(dgeqpf,DGEQPF)
+void LAPACK_dgeqpf( lapack_int* m, lapack_int* n, double* a, lapack_int* lda,
+ lapack_int* jpvt, double* tau, double* work,
+ lapack_int *info );
+
+#define LAPACK_cgeqpf LAPACK_GLOBAL(cgeqpf,CGEQPF)
+void LAPACK_cgeqpf( lapack_int* m, lapack_int* n, lapack_complex_float* a,
+ lapack_int* lda, lapack_int* jpvt,
+ lapack_complex_float* tau, lapack_complex_float* work,
+ float* rwork, lapack_int *info );
+
+#define LAPACK_zgeqpf LAPACK_GLOBAL(zgeqpf,ZGEQPF)
+void LAPACK_zgeqpf( lapack_int* m, lapack_int* n, lapack_complex_double* a,
+ lapack_int* lda, lapack_int* jpvt,
+ lapack_complex_double* tau, lapack_complex_double* work,
+ double* rwork, lapack_int *info );
+
#define LAPACK_cgeqp3 LAPACK_GLOBAL(cgeqp3,CGEQP3)
void LAPACK_cgeqp3(
lapack_int const* m, lapack_int const* n,
@@ -3617,6 +3639,47 @@ void LAPACK_zggrqf(
lapack_complex_double* work, lapack_int const* lwork,
lapack_int* info );
+#define LAPACK_sggsvd LAPACK_GLOBAL(sggsvd,SGGSVD)
+lapack_int LAPACKE_sggsvd( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int n, lapack_int p,
+ lapack_int* k, lapack_int* l, float* a,
+ lapack_int lda, float* b, lapack_int ldb,
+ float* alpha, float* beta, float* u, lapack_int ldu,
+ float* v, lapack_int ldv, float* q, lapack_int ldq,
+ lapack_int* iwork );
+
+#define LAPACK_dggsvd LAPACK_GLOBAL(dggsvd,DGGSVD)
+lapack_int LAPACKE_dggsvd( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int n, lapack_int p,
+ lapack_int* k, lapack_int* l, double* a,
+ lapack_int lda, double* b, lapack_int ldb,
+ double* alpha, double* beta, double* u,
+ lapack_int ldu, double* v, lapack_int ldv, double* q,
+ lapack_int ldq, lapack_int* iwork );
+
+#define LAPACK_cggsvd LAPACK_GLOBAL(cggsvd,CGGSVD)
+lapack_int LAPACKE_cggsvd( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int n, lapack_int p,
+ lapack_int* k, lapack_int* l,
+ lapack_complex_float* a, lapack_int lda,
+ lapack_complex_float* b, lapack_int ldb,
+ float* alpha, float* beta, lapack_complex_float* u,
+ lapack_int ldu, lapack_complex_float* v,
+ lapack_int ldv, lapack_complex_float* q,
+ lapack_int ldq, lapack_int* iwork );
+
+#define LAPACK_zggsvd LAPACK_GLOBAL(zggsvd,ZGGSVD)
+lapack_int LAPACKE_zggsvd( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int n, lapack_int p,
+ lapack_int* k, lapack_int* l,
+ lapack_complex_double* a, lapack_int lda,
+ lapack_complex_double* b, lapack_int ldb,
+ double* alpha, double* beta,
+ lapack_complex_double* u, lapack_int ldu,
+ lapack_complex_double* v, lapack_int ldv,
+ lapack_complex_double* q, lapack_int ldq,
+ lapack_int* iwork );
+
#define LAPACK_cggsvd3 LAPACK_GLOBAL(cggsvd3,CGGSVD3)
void LAPACK_cggsvd3(
char const* jobu, char const* jobv, char const* jobq,
@@ -3679,6 +3742,43 @@ void LAPACK_zggsvd3(
lapack_int* iwork,
lapack_int* info );
+#define LAPACK_sggsvp LAPACK_GLOBAL(sggsvp,SGGSVP)
+lapack_int LAPACKE_sggsvp( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int p, lapack_int n, float* a,
+ lapack_int lda, float* b, lapack_int ldb, float tola,
+ float tolb, lapack_int* k, lapack_int* l, float* u,
+ lapack_int ldu, float* v, lapack_int ldv, float* q,
+ lapack_int ldq );
+
+#define LAPACK_dggsvp LAPACK_GLOBAL(dggsvp,DGGSVP)
+lapack_int LAPACKE_dggsvp( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int p, lapack_int n, double* a,
+ lapack_int lda, double* b, lapack_int ldb,
+ double tola, double tolb, lapack_int* k,
+ lapack_int* l, double* u, lapack_int ldu, double* v,
+ lapack_int ldv, double* q, lapack_int ldq );
+
+#define LAPACK_cggsvp LAPACK_GLOBAL(cggsvp,CGGSVP)
+lapack_int LAPACKE_cggsvp( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int p, lapack_int n,
+ lapack_complex_float* a, lapack_int lda,
+ lapack_complex_float* b, lapack_int ldb, float tola,
+ float tolb, lapack_int* k, lapack_int* l,
+ lapack_complex_float* u, lapack_int ldu,
+ lapack_complex_float* v, lapack_int ldv,
+ lapack_complex_float* q, lapack_int ldq );
+
+#define LAPACK_zggsvp LAPACK_GLOBAL(zggsvp,ZGGSVP)
+lapack_int LAPACKE_zggsvp( int matrix_layout, char jobu, char jobv, char jobq,
+ lapack_int m, lapack_int p, lapack_int n,
+ lapack_complex_double* a, lapack_int lda,
+ lapack_complex_double* b, lapack_int ldb,
+ double tola, double tolb, lapack_int* k,
+ lapack_int* l, lapack_complex_double* u,
+ lapack_int ldu, lapack_complex_double* v,
+ lapack_int ldv, lapack_complex_double* q,
+ lapack_int ldq );
+
#define LAPACK_cggsvp3 LAPACK_GLOBAL(cggsvp3,CGGSVP3)
void LAPACK_cggsvp3(
char const* jobu, char const* jobv, char const* jobq,
--
2.24.0

View file

@ -1,116 +0,0 @@
diff --git BLAS/SRC/CMakeLists.txt BLAS/SRC/CMakeLists.txt
index 41c48043..e3776ecd 100644
--- a/BLAS/SRC/CMakeLists.txt
+++ b/BLAS/SRC/CMakeLists.txt
@@ -98,9 +98,15 @@ endif()
list(REMOVE_DUPLICATES SOURCES)
add_library(blas ${SOURCES})
+add_library(blas_static STATIC ${SOURCES})
set_target_properties(
blas PROPERTIES
VERSION ${LAPACK_VERSION}
SOVERSION ${LAPACK_MAJOR_VERSION}
)
+set_target_properties(
+ blas_static PROPERTIES
+ OUTPUT_NAME blas
+ )
lapack_install_library(blas)
+lapack_install_library(blas_static)
diff --git CBLAS/src/CMakeLists.txt CBLAS/src/CMakeLists.txt
index 90e19f81..b97d64d7 100644
--- a/CBLAS/src/CMakeLists.txt
+++ b/CBLAS/src/CMakeLists.txt
@@ -114,15 +114,22 @@ endif()
list(REMOVE_DUPLICATES SOURCES)
add_library(cblas ${SOURCES})
+add_library(cblas_static STATIC ${SOURCES})
set_target_properties(
cblas PROPERTIES
LINKER_LANGUAGE C
VERSION ${LAPACK_VERSION}
SOVERSION ${LAPACK_MAJOR_VERSION}
)
+set_target_properties(
+ cblas_static PROPERTIES
+ OUTPUT_NAME cblas
+ )
target_include_directories(cblas PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
$<INSTALL_INTERFACE:include>
)
target_link_libraries(cblas PRIVATE ${BLAS_LIBRARIES})
+target_link_libraries(cblas_static PRIVATE ${BLAS_LIBRARIES})
lapack_install_library(cblas)
+lapack_install_library(cblas_static)
diff --git LAPACKE/CMakeLists.txt LAPACKE/CMakeLists.txt
index 0589a74b..be63bba3 100644
--- a/LAPACKE/CMakeLists.txt
+++ b/LAPACKE/CMakeLists.txt
@@ -73,12 +73,17 @@ endif()
list(APPEND SOURCES ${UTILS})
add_library(lapacke ${SOURCES})
+add_library(lapacke_static STATIC ${SOURCES})
set_target_properties(
lapacke PROPERTIES
LINKER_LANGUAGE C
VERSION ${LAPACK_VERSION}
SOVERSION ${LAPACK_MAJOR_VERSION}
)
+set_target_properties(
+ lapacke_static PROPERTIES
+ OUTPUT_NAME lapacke
+ )
target_include_directories(lapacke PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
@@ -90,10 +95,13 @@ endif()
if(LAPACKE_WITH_TMG)
target_link_libraries(lapacke PRIVATE tmglib)
+ target_link_libraries(lapacke_static PRIVATE tmglib)
endif()
target_link_libraries(lapacke PRIVATE ${LAPACK_LIBRARIES})
+target_link_libraries(lapacke_static PRIVATE ${LAPACK_LIBRARIES})
lapack_install_library(lapacke)
+lapack_install_library(lapacke_static)
install(
FILES ${LAPACKE_INCLUDE} ${LAPACK_BINARY_DIR}/include/lapacke_mangling.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
diff --git SRC/CMakeLists.txt SRC/CMakeLists.txt
index f19bdd30..7a9a0661 100644
--- a/SRC/CMakeLists.txt
+++ b/SRC/CMakeLists.txt
@@ -501,16 +501,23 @@ endif()
list(REMOVE_DUPLICATES SOURCES)
add_library(lapack ${SOURCES})
+add_library(lapack_static STATIC ${SOURCES})
set_target_properties(
lapack PROPERTIES
VERSION ${LAPACK_VERSION}
SOVERSION ${LAPACK_MAJOR_VERSION}
)
+set_target_properties(
+ lapack_static PROPERTIES
+ OUTPUT_NAME lapack
+ )
if(USE_XBLAS)
target_link_libraries(lapack PRIVATE ${XBLAS_LIBRARY})
+ target_link_libraries(lapack_static PRIVATE ${XBLAS_LIBRARY})
endif()
target_link_libraries(lapack PRIVATE ${BLAS_LIBRARIES})
+target_link_libraries(lapack_static PRIVATE ${BLAS_LIBRARIES})
if(_is_coverage_build)
target_link_libraries(lapack PRIVATE gcov)
@@ -518,3 +525,4 @@ if(_is_coverage_build)
endif()
lapack_install_library(lapack)
+lapack_install_library(lapack_static)

View file

@ -1,34 +0,0 @@
diff --git CBLAS/CMakeLists.txt CBLAS/CMakeLists.txt
index 04c5ab79..8fa3b7d4 100644
--- a/CBLAS/CMakeLists.txt
+++ b/CBLAS/CMakeLists.txt
@@ -88,6 +88,12 @@ install(FILES
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION}
)
+set_target_properties(
+ cblas PROPERTIES
+ VERSION ${LAPACK_VERSION}
+ SOVERSION ${LAPACK_MAJOR_VERSION}
+ )
+
#install(EXPORT cblas-targets
# DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/cblas-${LAPACK_VERSION}
# COMPONENT Development
diff --git LAPACKE/CMakeLists.txt LAPACKE/CMakeLists.txt
index 0589a74b..adc87a3e 100644
--- a/LAPACKE/CMakeLists.txt
+++ b/LAPACKE/CMakeLists.txt
@@ -126,6 +126,12 @@ install(FILES
COMPONENT Development
)
+set_target_properties(
+ lapacke PROPERTIES
+ VERSION ${LAPACK_VERSION}
+ SOVERSION ${LAPACK_MAJOR_VERSION}
+ )
+
install(EXPORT lapacke-targets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/lapacke-${LAPACK_VERSION}
COMPONENT Development

View file

@ -1,19 +1,79 @@
# Template file for 'lapack'
pkgname=lapack
version=3.9.0
version=3.11
revision=1
build_style=cmake
configure_args="-DBUILD_SHARED_LIBS=ON -DCMAKE_SKIP_RPATH=ON -DBUILD_TESTING=OFF
-DCMAKE_VERBOSE_MAKEFILE=ON -DCBLAS=ON -DLAPACKE=ON -DBUILD_DEPRECATED=ON"
configure_args="-DCMAKE_SKIP_RPATH=ON -DCMAKE_VERBOSE_MAKEFILE=ON
-DCBLAS=ON -DLAPACKE=ON -DBUILD_DEPRECATED=ON"
hostmakedepends="gcc-fortran"
short_desc="Linear Algebra PACKage"
maintainer="Alessio Sergi <al3hex@gmail.com>"
maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
license="BSD-3-Clause"
homepage="https://www.netlib.org/lapack/"
homepage="https://netlib.org/lapack/"
changelog="https://netlib.org/lapack/release_notes.html"
distfiles="https://github.com/Reference-LAPACK/lapack/archive/v${version}.tar.gz"
checksum=106087f1bb5f46afdfba7f569d0cbe23dacb9a07cd24733765a0e89dbe1ad573
checksum=5a5b3bac27709d8c66286b7a0d1d7bf2d7170ec189a1a756fdf812c97aa7fd10
if [ "$CROSS_BUILD" ]; then
configure_args+=" -DTEST_FORTRAN_COMPILER=OFF"
fi
pre_configure() {
cmake_builddir=build-shared
_args="$configure_args"
configure_args="$_args -DBUILD_SHARED_LIBS=ON"
if [ -z "$CROSS_BUILD" -a "$XBPS_CHECK_PKGS" ]; then
configure_args+=" -DBUILD_TESTING=ON"
fi
msg_normal "Configure for shared libs (cmake_builddir=$cmake_builddir)\n"
}
post_configure() {
cmake_builddir=build-static
configure_args="$_args -DBUILD_SHARED_LIBS=OFF"
if [ -z "$CROSS_BUILD" -a "$XBPS_CHECK_PKGS" = full ]; then
configure_args+=" -DBUILD_TESTING=ON"
fi
msg_normal "Configure for static libs (cmake_builddir=$cmake_builddir)\n"
( do_configure )
}
pre_build() {
cmake_builddir=build-shared
msg_normal "Build shared libs (cmake_builddir=$cmake_builddir)\n"
}
post_build() {
cmake_builddir=build-static
msg_normal "Build static libs (cmake_builddir=$cmake_builddir)\n"
( do_build )
}
pre_check() {
cmake_builddir=build-shared
export LD_LIBRARY_PATH=$(cd $cmake_builddir/lib && pwd)
msg_normal "Check shared libs (cmake_builddir=$cmake_builddir)\n"
}
post_check() {
if [ "$XBPS_CHECK_PKGS" = full ]; then
cmake_builddir=build-static
msg_normal "Check static libs (cmake_builddir=$cmake_builddir)\n"
( do_check )
fi
}
pre_install() {
cmake_builddir=build-static
msg_normal "Install static libs (cmake_builddir=$cmake_builddir)\n"
}
post_install() {
cmake_builddir=build-shared
msg_normal "Install shared libs (cmake_builddir=$cmake_builddir)\n"
( do_install )
# Library of Test Matrix Generators - built only for testing
rm -f $DESTDIR/usr/lib/libtmglib.*
vlicense LICENSE
}
@ -22,7 +82,7 @@ lapack-devel_package() {
short_desc+=" - development files"
pkg_install() {
vmove usr/include/lapack.h
vmove usr/lib/cmake/lapack-${version}
vmove usr/lib/cmake/lapack-*
vmove usr/lib/pkgconfig/lapack.pc
vmove usr/lib/liblapack.a
vmove usr/lib/liblapack.so
@ -55,7 +115,7 @@ cblas-devel_package() {
depends="blas-devel-${version}_${revision} cblas-${version}_${revision}"
pkg_install() {
vmove usr/include/cblas*.h
vmove usr/lib/cmake/cblas-${version}
vmove usr/lib/cmake/cblas-*
vmove usr/lib/pkgconfig/cblas.pc
vmove usr/lib/libcblas.a
vmove usr/lib/libcblas.so
@ -72,7 +132,7 @@ lapacke-devel_package() {
depends="lapack-devel-${version}_${revision} lapacke-${version}_${revision}"
pkg_install() {
vmove usr/include/lapacke*.h
vmove usr/lib/cmake/lapacke-${version}
vmove usr/lib/cmake/lapacke-*
vmove usr/lib/pkgconfig/lapacke.pc
vmove usr/lib/liblapacke.a
vmove usr/lib/liblapacke.so