From 3e2120fe2b46d903628224bc2f0c229d99521b78 Mon Sep 17 00:00:00 2001 From: Stefano Sinigardi Date: Wed, 18 Nov 2020 22:55:25 +0100 Subject: [BLAS] add metaport (#13448) * [BLAS] add metaport * [openblas] enable also on macOS to allow lapack-reference previous setup * [clapack] bump port version * [blas, lapack] Remove incorrect comments about "outside vcpkg" Co-authored-by: Billy Robert O'Neal III --- ports/armadillo/CONTROL | 2 +- ports/blas/CMakeLists.txt | 4 ++++ ports/blas/CONTROL | 4 ++++ ports/blas/portfile.cmake | 5 +++++ ports/clapack/CONTROL | 4 ++-- ports/dlib/CONTROL | 2 +- ports/ensmallen/CONTROL | 2 +- ports/geogram/CONTROL | 2 +- ports/halide/CONTROL | 1 + ports/hypre/CONTROL | 2 +- ports/lapack-reference/CONTROL | 2 +- ports/lapack/CMakeLists.txt | 1 - ports/lapack/CONTROL | 1 + ports/shogun/CONTROL | 6 +++--- ports/superlu/CONTROL | 4 ++-- 15 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 ports/blas/CMakeLists.txt create mode 100644 ports/blas/CONTROL create mode 100644 ports/blas/portfile.cmake diff --git a/ports/armadillo/CONTROL b/ports/armadillo/CONTROL index 16fad7f70..0939fe8f2 100644 --- a/ports/armadillo/CONTROL +++ b/ports/armadillo/CONTROL @@ -2,4 +2,4 @@ Source: armadillo Version: 10.1.0 Homepage: https://gitlab.com/conradsnicta/armadillo-code Description: Armadillo is a high quality linear algebra library (matrix maths) for the C++ language, aiming towards a good balance between speed and ease of use -Build-Depends: openblas, lapack +Build-Depends: blas, lapack diff --git a/ports/blas/CMakeLists.txt b/ports/blas/CMakeLists.txt new file mode 100644 index 000000000..790f79e8b --- /dev/null +++ b/ports/blas/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 3.17) + +project(Find_BLAS_external) +find_package(BLAS REQUIRED) diff --git a/ports/blas/CONTROL b/ports/blas/CONTROL new file mode 100644 index 000000000..6f660d228 --- /dev/null +++ b/ports/blas/CONTROL @@ -0,0 +1,4 @@ +Source: blas +Version: 1 +Description: Metapackage for packages which provide BLAS +Build-Depends: openblas diff --git a/ports/blas/portfile.cmake b/ports/blas/portfile.cmake new file mode 100644 index 000000000..f70aa46ea --- /dev/null +++ b/ports/blas/portfile.cmake @@ -0,0 +1,5 @@ +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) + +# Make sure BLAS can be found +vcpkg_configure_cmake(SOURCE_PATH ${CURRENT_PORT_DIR} + OPTIONS -DCMAKE_PREFIX_PATH="${CURRENT_PACKAGES_DIR}") diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL index 0dac11507..f24dee073 100644 --- a/ports/clapack/CONTROL +++ b/ports/clapack/CONTROL @@ -1,6 +1,6 @@ Source: clapack Version: 3.2.1 -Port-Version: 15 +Port-Version: 16 Homepage: https://www.netlib.org/clapack Description: CLAPACK (f2c'ed version of LAPACK) -Build-Depends: openblas (!osx) +Build-Depends: blas diff --git a/ports/dlib/CONTROL b/ports/dlib/CONTROL index f651f9d62..a01d89ec5 100644 --- a/ports/dlib/CONTROL +++ b/ports/dlib/CONTROL @@ -1,7 +1,7 @@ Source: dlib Version: 19.21 Port-Version: 4 -Build-Depends: libjpeg-turbo, libpng, openblas, lapack +Build-Depends: libjpeg-turbo, libpng, blas, lapack Homepage: https://github.com/davisking/dlib Description: Modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ Default-Features: fftw3, sqlite3 diff --git a/ports/ensmallen/CONTROL b/ports/ensmallen/CONTROL index 9c904f326..10d51ce79 100644 --- a/ports/ensmallen/CONTROL +++ b/ports/ensmallen/CONTROL @@ -2,4 +2,4 @@ Source: ensmallen Version: 2.14.2 Homepage: https://github.com/mlpack/ensmallen Description: A header-only C++ library for mathematical optimization. -Build-Depends: openblas, lapack, armadillo +Build-Depends: blas, lapack, armadillo diff --git a/ports/geogram/CONTROL b/ports/geogram/CONTROL index 4d589b422..0a17639cc 100644 --- a/ports/geogram/CONTROL +++ b/ports/geogram/CONTROL @@ -3,7 +3,7 @@ Version: 1.7.5 Port-Version: 2 Homepage: https://gforge.inria.fr/projects/geogram/ Description: Geogram is a programming library of geometric algorithms. -Build-Depends: openblas, lapack +Build-Depends: blas, lapack Supports: !uwp Feature: graphics diff --git a/ports/halide/CONTROL b/ports/halide/CONTROL index 5de3a27db..b41d28226 100644 --- a/ports/halide/CONTROL +++ b/ports/halide/CONTROL @@ -61,3 +61,4 @@ Build-Depends: llvm[core,target-riscv] Feature: target-x86 Description: Include X86 target Build-Depends: llvm[core,target-x86] + diff --git a/ports/hypre/CONTROL b/ports/hypre/CONTROL index 63f36cd7b..b82a4ede8 100644 --- a/ports/hypre/CONTROL +++ b/ports/hypre/CONTROL @@ -2,4 +2,4 @@ Source: hypre Version: 2.19.0 Homepage: https://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods Description: SCALABLE LINEAR SOLVERS AND MULTIGRID METHODS -Build-Depends: mpi, openblas, lapack +Build-Depends: mpi, blas, lapack diff --git a/ports/lapack-reference/CONTROL b/ports/lapack-reference/CONTROL index 3d8bb855d..9ed60cc58 100644 --- a/ports/lapack-reference/CONTROL +++ b/ports/lapack-reference/CONTROL @@ -9,7 +9,7 @@ Feature: cblas Description: Builds CBLAS Feature: noblas -Build-Depends: openblas +Build-Depends: blas Description: Use external optimized BLAS Feature: blas-select diff --git a/ports/lapack/CMakeLists.txt b/ports/lapack/CMakeLists.txt index 07b2818b1..ddd7883b1 100644 --- a/ports/lapack/CMakeLists.txt +++ b/ports/lapack/CMakeLists.txt @@ -2,4 +2,3 @@ cmake_minimum_required(VERSION 3.17) project(Find_LAPACK_external) find_package(LAPACK REQUIRED) -#TODO make sure that the found LAPACK is outside VCPKG \ No newline at end of file diff --git a/ports/lapack/CONTROL b/ports/lapack/CONTROL index aad8e3cf8..6147ef3a8 100644 --- a/ports/lapack/CONTROL +++ b/ports/lapack/CONTROL @@ -1,4 +1,5 @@ Source: lapack Version: 3 +Port-Version: 1 Description: Metapackage for packages which provide LAPACK Build-Depends: clapack(arm&windows), lapack-reference(!arm|!windows) diff --git a/ports/shogun/CONTROL b/ports/shogun/CONTROL index e274c9d3f..485efd9df 100644 --- a/ports/shogun/CONTROL +++ b/ports/shogun/CONTROL @@ -1,6 +1,6 @@ Source: shogun Version: 6.1.4 -Port-Version: 3 -Build-Depends: bzip2, eigen3, liblzma, libxml2, openblas, nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent +Port-Version: 4 +Build-Depends: bzip2, eigen3, liblzma, libxml2, blas, nlopt, rxcpp, snappy, zlib, protobuf, curl, lzo, dirent Homepage: https://github.com/shogun-toolbox/shogun -Description: Unified and efficient Machine Learning \ No newline at end of file +Description: Unified and efficient Machine Learning diff --git a/ports/superlu/CONTROL b/ports/superlu/CONTROL index 11b27ea76..b498fdafc 100644 --- a/ports/superlu/CONTROL +++ b/ports/superlu/CONTROL @@ -1,7 +1,7 @@ Source: superlu Version: 2020-01-07 Port-Version: 2 -Build-Depends: openblas +Build-Depends: blas Description: Supernodal sparse direct solver. Homepage: https://github.com/xiaoyeli/superlu -Supports: !(uwp|arm) \ No newline at end of file +Supports: !(uwp|arm) -- cgit v1.2.3