From f235370f8e445c41647255238e5526dcc6cbdf1f Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Wed, 5 Jun 2019 23:17:38 +0200 Subject: [PATCH 01/20] [clapack] FindLapack was not working for VS Generators due to extra ascii symbol "%3b" in linker dependencies which is ";" (Lists in IMPORTED_LOCATION do not work as expected) This commit is based on CMakes FindLAPACK and adds f2c to be checked --- ports/clapack/CONTROL | 2 +- ports/clapack/FindLAPACK.cmake | 664 +++++++++++++++++++++++---------- 2 files changed, 467 insertions(+), 199 deletions(-) diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL index 9cdebdf74ab0a5..32f454372b6055 100644 --- a/ports/clapack/CONTROL +++ b/ports/clapack/CONTROL @@ -1,4 +1,4 @@ Source: clapack -Version: 3.2.1-6 +Version: 3.2.1-7 Description: CLAPACK (f2c'ed version of LAPACK) Build-Depends: openblas (!osx) diff --git a/ports/clapack/FindLAPACK.cmake b/ports/clapack/FindLAPACK.cmake index dfbf2c73eec34b..43a01900120e0f 100644 --- a/ports/clapack/FindLAPACK.cmake +++ b/ports/clapack/FindLAPACK.cmake @@ -1,198 +1,466 @@ -#.rst: -# clapack config for vcpkg -# ------------ -# -# Find the clapack includes and library. -# -# Result Variables -# ^^^^^^^^^^^^^^^^ -# -# This script defines the following variables: -# -# ``CLAPACK_FOUND`` -# True if clapack library found -# -# ``CLAPACK_VERSION`` -# Containing the clapack version tag (manually defined) -# -# ``CLAPACK_INCLUDE_DIR`` -# Location of clapack headers -# -# ``CLAPACK_LIBRARY`` -# List of libraries to link with when using clapack -# -# Result Targets -# ^^^^^^^^^^^^^^ -# -# This script defines the following targets: -# -# ``clapack::clapack`` -# Target to use clapack -# -# Compatibility Variables -# ^^^^^^^^^^^^^^^^^^^^^^^ -# -# This script defines the following variables for compatibility reasons: -# -# ``F2C_FOUND`` -# True if f2c (fortran-to-c wrap layer) library found -# -# ``F2C_INCLUDE_DIR`` -# Location of clapack headers -# -# ``F2C_LIBRARY`` -# Library containing the fortran-to-c wrap layer, necessary for clapack and automatically included when used -# -# ``LAPACK_FOUND`` -# True if clapack library found -# -# ``LAPACK_VERSION`` -# Containing the clapack version tag (manually defined) -# -# ``LAPACK_INCLUDE_DIR`` -# Location of clapack headers -# -# ``LAPACK_LIBRARY`` -# List of libraries to link with when using clapack -# -# Compatibility Targets -# ^^^^^^^^^^^^^^ -# -# This script defines the following targets for compatibility reasons: -# -# ``lapack`` -# Target to use lapack - -include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) -include(${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake) -include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) - -set(CLAPACK_VERSION "3.2.1") - -if(UNIX) - find_library(ADDITIONAL_LAPACK_LIBRARY m) -endif() - -if(NOT F2C_LIBRARY) - find_library(F2C_LIBRARY_RELEASE NAMES f2c libf2c) - find_library(F2C_LIBRARY_DEBUG NAMES f2cd libf2cd) - list(APPEND F2C_LIBRARY_RELEASE ${ADDITIONAL_LAPACK_LIBRARY}) - list(APPEND F2C_LIBRARY_DEBUG ${ADDITIONAL_LAPACK_LIBRARY}) - select_library_configurations(F2C) -endif() - -find_package(BLAS) - -if(NOT LAPACK_LIBRARY) - find_library(LAPACK_LIBRARY_RELEASE NAMES lapack) - find_library(LAPACK_LIBRARY_DEBUG NAMES lapackd) - list(APPEND LAPACK_LIBRARY_RELEASE ${F2C_LIBRARY_RELEASE}) - list(APPEND LAPACK_LIBRARY_DEBUG ${F2C_LIBRARY_DEBUG}) - select_library_configurations(LAPACK) -endif() - -list(APPEND LAPACK_LIBRARY ${BLAS_LIBRARIES}) - -set(F2C_LIBRARIES "${F2C_LIBRARY}" CACHE STRING "" FORCE) -set(LAPACK_VERSION "${CLAPACK_VERSION}" CACHE STRING "" FORCE) -set(LAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(CLAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(CLAPACK_LIBRARIES "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) - -if(NOT F2C_INCLUDE_DIR) - find_path(F2C_INCLUDE_DIR NAMES f2c.h) -endif() - -if(NOT LAPACK_INCLUDE_DIR) - find_path(LAPACK_INCLUDE_DIR NAMES clapack.h) -endif() - -list(APPEND LAPACK_INCLUDE_DIR ${F2C_INCLUDE_DIR}) -set(LAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) -set(CLAPACK_INCLUDE_DIR "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) -set(CLAPACK_INCLUDE_DIRS "${LAPACK_INCLUDE_DIR}" CACHE PATH "" FORCE) -set(F2C_INCLUDE_DIRS "${F2C_INCLUDE_DIR}" CACHE PATH "" FORCE) - -if(WIN32) - string( REPLACE ".lib" ".dll" LAPACK_LIBRARY_RELEASE_DLL "${LAPACK_LIBRARY_RELEASE}" ) - string( REPLACE ".lib" ".dll" LAPACK_LIBRARY_DEBUG_DLL "${LAPACK_LIBRARY_DEBUG}" ) - string( REPLACE ".lib" ".dll" F2C_LIBRARY_RELEASE_DLL "${F2C_LIBRARY_RELEASE}" ) - string( REPLACE ".lib" ".dll" F2C_LIBRARY_DEBUG_DLL "${F2C_LIBRARY_DEBUG}" ) -endif() - -find_package_handle_standard_args(CLAPACK DEFAULT_MSG CLAPACK_LIBRARY CLAPACK_INCLUDE_DIR) -mark_as_advanced(CLAPACK_INCLUDE_DIR CLAPACK_LIBRARY) - -find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARY LAPACK_INCLUDE_DIR) -mark_as_advanced(LAPACK_INCLUDE_DIR LAPACK_LIBRARY) - -find_package_handle_standard_args(F2C DEFAULT_MSG F2C_LIBRARY F2C_INCLUDE_DIR) -mark_as_advanced(F2C_INCLUDE_DIR F2C_LIBRARY) - -#TARGETS -if( CLAPACK_FOUND AND NOT TARGET clapack::clapack ) - if( EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}" ) - add_library( clapack::clapack SHARED IMPORTED ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}" ) - set_property( TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - else() - add_library( clapack::clapack UNKNOWN IMPORTED ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG}" ) - set_property( TARGET clapack::clapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( clapack::clapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - endif() -endif() - -if( CLAPACK_FOUND AND NOT TARGET lapack ) - if( EXISTS "${LAPACK_LIBRARY_RELEASE_DLL}" ) - add_library( lapack SHARED IMPORTED ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE_DLL}" - IMPORTED_IMPLIB "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG_DLL}" ) - set_property( TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG_DLL}" - IMPORTED_IMPLIB_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - else() - add_library( lapack UNKNOWN IMPORTED ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_RELEASE "${LAPACK_LIBRARY_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${LAPACK_INCLUDE_DIR}" - IMPORTED_CONFIGURATIONS Release - IMPORTED_LINK_INTERFACE_LANGUAGES "C" ) - if( EXISTS "${LAPACK_LIBRARY_DEBUG}" ) - set_property( TARGET lapack APPEND PROPERTY IMPORTED_CONFIGURATIONS Debug ) - set_target_properties( lapack PROPERTIES - IMPORTED_LOCATION_DEBUG "${LAPACK_LIBRARY_DEBUG}" ) - endif() - endif() -endif() - -set(LAPACK_LIBRARY "${LAPACK_LIBRARY}" CACHE STRING "" FORCE) -set(F2C_LIBRARY "${F2C_LIBRARY}" CACHE STRING "" FORCE) -set(LAPACK_LIBRARY_RELEASE "${LAPACK_LIBRARY_RELEASE}" CACHE STRING "" FORCE) -set(LAPACK_LIBRARY_DEBUG "${LAPACK_LIBRARY_DEBUG}" CACHE STRING "" FORCE) -set(F2C_LIBRARY_RELEASE "${F2C_LIBRARY_RELEASE}" CACHE STRING "" FORCE) -set(F2C_LIBRARY_DEBUG "${F2C_LIBRARY_DEBUG}" CACHE STRING "" FORCE) +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +#[=======================================================================[.rst: +FindLAPACK +---------- + +Find LAPACK library + +This module finds an installed fortran library that implements the +LAPACK linear-algebra interface (see http://www.netlib.org/lapack/). + +The approach follows that taken for the autoconf macro file, +acx_lapack.m4 (distributed at +http://ac-archive.sourceforge.net/ac-archive/acx_lapack.html). + +Input Variables +^^^^^^^^^^^^^^^ + +The following variables may be set to influence this module's behavior: + +``BLA_STATIC`` + if ``ON`` use static linkage + +``BLA_VENDOR`` + If set, checks only the specified vendor, if not set checks all the + possibilities. List of vendors valid in this module: + + * ``Intel10_32`` (intel mkl v10 32 bit) + * ``Intel10_64lp`` (intel mkl v10+ 64 bit, threaded code, lp64 model) + * ``Intel10_64lp_seq`` (intel mkl v10+ 64 bit, sequential code, lp64 model) + * ``Intel10_64ilp`` (intel mkl v10+ 64 bit, threaded code, ilp64 model) + * ``Intel10_64ilp_seq`` (intel mkl v10+ 64 bit, sequential code, ilp64 model) + * ``Intel`` (obsolete versions of mkl 32 and 64 bit) + * ``OpenBLAS`` + * ``FLAME`` + * ``ACML`` + * ``Apple`` + * ``NAS`` + * ``Generic`` + +``BLA_F95`` + if ``ON`` tries to find BLAS95/LAPACK95 + +Result Variables +^^^^^^^^^^^^^^^^ + +This module defines the following variables: + +``LAPACK_FOUND`` + library implementing the LAPACK interface is found +``LAPACK_LINKER_FLAGS`` + uncached list of required linker flags (excluding -l and -L). +``LAPACK_LIBRARIES`` + uncached list of libraries (using full path name) to link against + to use LAPACK +``LAPACK95_LIBRARIES`` + uncached list of libraries (using full path name) to link against + to use LAPACK95 +``LAPACK95_FOUND`` + library implementing the LAPACK95 interface is found + +.. note:: + + C or CXX must be enabled to use Intel MKL + + For example, to use Intel MKL libraries and/or Intel compiler: + + .. code-block:: cmake + + set(BLA_VENDOR Intel10_64lp) + find_package(LAPACK) +#]=======================================================================] + +set(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + +# Check the language being used +if( NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED) ) + if(LAPACK_FIND_REQUIRED) + message(FATAL_ERROR "FindLAPACK requires Fortran, C, or C++ to be enabled.") + else() + message(STATUS "Looking for LAPACK... - NOT found (Unsupported languages)") + return() + endif() +endif() + +if (CMAKE_Fortran_COMPILER_LOADED) +include(${CMAKE_ROOT}/Modules/CheckFortranFunctionExists.cmake) +else () +include(${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) +endif () +include(${CMAKE_ROOT}/Modules/CMakePushCheckState.cmake) + +cmake_push_check_state() +set(CMAKE_REQUIRED_QUIET ${LAPACK_FIND_QUIETLY}) + +set(LAPACK_FOUND FALSE) +set(LAPACK95_FOUND FALSE) + +# TODO: move this stuff to separate module + +macro(Check_Lapack_Libraries LIBRARIES _prefix _name _flags _list _blas _threads) +# This macro checks for the existence of the combination of fortran libraries +# given by _list. If the combination is found, this macro checks (using the +# Check_Fortran_Function_Exists macro) whether can link against that library +# combination using the name of a routine given by _name using the linker +# flags given by _flags. If the combination of libraries is found and passes +# the link test, LIBRARIES is set to the list of complete library paths that +# have been found. Otherwise, LIBRARIES is set to FALSE. + +# N.B. _prefix is the prefix applied to the names of all cached variables that +# are generated internally and marked advanced by this macro. + +set(_libraries_work TRUE) +set(${LIBRARIES}) +set(${LIBRARIES}_RELEASE) +set(_combined_name) +if (NOT _libdir) + if (WIN32) + set(_libdir ENV LIB) + elseif (APPLE) + set(_libdir ENV DYLD_LIBRARY_PATH) + else () + set(_libdir ENV LD_LIBRARY_PATH) + endif () +endif () + +list(APPEND _libdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}") + +foreach(_library ${_list}) + set(_combined_name ${_combined_name}_${_library}) + + if(_libraries_work) + if (BLA_STATIC) + if (WIN32) + set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif () + if (APPLE) + set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) + else () + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif () + else () + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + # for ubuntu's libblas3gf and liblapack3gf packages + set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf) + endif () + endif () + find_library(${_prefix}_${_library}_LIBRARY_RELEASE + NAMES ${_library} + PATHS ${_libdir} + ) + mark_as_advanced(${_prefix}_${_library}_LIBRARY_RELEASE) + find_library(${_prefix}_${_library}_LIBRARY_DEBUG + NAMES ${_library}d + PATHS ${_libdir} + ) + mark_as_advanced(${_prefix}_${_library}_LIBRARY_DEBUG) + select_library_configurations(${_prefix}_${_library}) + if(NOT ${_prefix}_${_library}_LIBRARY_RELEASE MATCHES "NOTFOUND") + set(${LIBRARIES}_RELEASE ${${LIBRARIES}_RELEASE} ${${_prefix}_${_library}_LIBRARY_RELEASE}) + endif() + set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY}) + set(_libraries_work ${${_prefix}_${_library}_LIBRARY}) + endif() +endforeach() + +if(_libraries_work) + # Test this combination of libraries. + string(GENEX_STRIP ${_blas} _test_blas) + if(UNIX AND BLA_STATIC) + set(CMAKE_REQUIRED_LIBRARIES ${_flags} "-Wl,--start-group" ${${LIBRARIES}_RELEASE} ${_test_blas} "-Wl,--end-group" ${_threads}) + else() + set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}_RELEASE} ${_test_blas} ${_threads}) + endif() +# message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}") +# message("DEBUG: _test_blas = ${_test_blas} former ${_blas}") + if (NOT CMAKE_Fortran_COMPILER_LOADED) + check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS) + else () + check_fortran_function_exists(${_name} ${_prefix}${_combined_name}_WORKS) + endif () + set(CMAKE_REQUIRED_LIBRARIES) + set(_test_libs) + set(_test_blas) + set(_libraries_work ${${_prefix}${_combined_name}_WORKS}) +# message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}") +endif() + + if(_libraries_work) + set(${LIBRARIES} ${${LIBRARIES}} "${_blas}" ${_threads}) + else() + set(${LIBRARIES} FALSE) + endif() + +endmacro() + + +set(LAPACK_LINKER_FLAGS) +set(LAPACK_LIBRARIES) +set(LAPACK95_LIBRARIES) + + +if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED) + find_package(BLAS) +else() + find_package(BLAS REQUIRED) +endif() + + +if(BLAS_FOUND) + set(LAPACK_LINKER_FLAGS ${BLAS_LINKER_FLAGS}) + if (NOT $ENV{BLA_VENDOR} STREQUAL "") + set(BLA_VENDOR $ENV{BLA_VENDOR}) + else () + if(NOT BLA_VENDOR) + set(BLA_VENDOR "All") + endif() + endif () + +#intel lapack +if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All") + if (NOT WIN32) + set(LAPACK_mkl_LM "-lm") + set(LAPACK_mkl_LDL "-ldl") + endif () + if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED) + if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED) + find_PACKAGE(Threads) + else() + find_package(Threads REQUIRED) + endif() + + if (BLA_VENDOR MATCHES "_64ilp") + set(LAPACK_mkl_ILP_MODE "ilp64") + else () + set(LAPACK_mkl_ILP_MODE "lp64") + endif () + + set(LAPACK_SEARCH_LIBS "") + + if (BLA_F95) + set(LAPACK_mkl_SEARCH_SYMBOL "cheev_f95") + set(_LIBRARIES LAPACK95_LIBRARIES) + set(_BLAS_LIBRARIES ${BLAS95_LIBRARIES}) + + # old + list(APPEND LAPACK_SEARCH_LIBS + "mkl_lapack95") + # new >= 10.3 + list(APPEND LAPACK_SEARCH_LIBS + "mkl_intel_c") + list(APPEND LAPACK_SEARCH_LIBS + "mkl_lapack95_${LAPACK_mkl_ILP_MODE}") + else() + set(LAPACK_mkl_SEARCH_SYMBOL "cheev") + set(_LIBRARIES LAPACK_LIBRARIES) + set(_BLAS_LIBRARIES ${BLAS_LIBRARIES}) + + # old + list(APPEND LAPACK_SEARCH_LIBS + "mkl_lapack") + endif() + + # First try empty lapack libs + if (NOT ${_LIBRARIES}) + check_lapack_libraries( + ${_LIBRARIES} + LAPACK + ${LAPACK_mkl_SEARCH_SYMBOL} + "" + "" + "${_BLAS_LIBRARIES}" + "" + ) + endif () + # Then try the search libs + foreach (IT ${LAPACK_SEARCH_LIBS}) + if (NOT ${_LIBRARIES}) + check_lapack_libraries( + ${_LIBRARIES} + LAPACK + ${LAPACK_mkl_SEARCH_SYMBOL} + "" + "${IT}" + "${_BLAS_LIBRARIES}" + "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM};${LAPACK_mkl_LDL}" + ) + endif () + endforeach () + + unset(LAPACK_mkl_ILP_MODE) + unset(LAPACK_mkl_SEARCH_SYMBOL) + unset(LAPACK_mkl_LM) + unset(LAPACK_mkl_LDL) + endif () +endif() + +if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "goto2" + "${BLAS_LIBRARIES}" + "" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "openblas" + "${BLAS_LIBRARIES}" + "" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "flame" + "${BLAS_LIBRARIES}" + "" + ) + endif() +endif () + +#acml lapack + if (BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All") + if (BLAS_LIBRARIES MATCHES ".+acml.+") + set (LAPACK_LIBRARIES ${BLAS_LIBRARIES}) + endif () + endif () + +# Apple LAPACK library? +if (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "Accelerate" + "${BLAS_LIBRARIES}" + "" + ) + endif() +endif () +if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All") + if ( NOT LAPACK_LIBRARIES ) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "vecLib" + "${BLAS_LIBRARIES}" + "" + ) + endif () +endif () +# Generic LAPACK library? +if (BLA_VENDOR STREQUAL "Generic" OR + BLA_VENDOR STREQUAL "ATLAS" OR + BLA_VENDOR STREQUAL "All") + if ( NOT LAPACK_LIBRARIES ) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "lapack" + "${BLAS_LIBRARIES}" + "" + ) + endif () + if ( NOT LAPACK_LIBRARIES ) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "lapack;libf2c" + "${BLAS_LIBRARIES}" + "" + ) + endif () + if ( NOT LAPACK_LIBRARIES ) + check_lapack_libraries( + LAPACK_LIBRARIES + LAPACK + cheev + "" + "lapack;f2c" + "${BLAS_LIBRARIES}" + "" + ) + endif () +endif () + +else() + message(STATUS "LAPACK requires BLAS") +endif() + +if(BLA_F95) + if(LAPACK95_LIBRARIES) + set(LAPACK95_FOUND TRUE) + else() + set(LAPACK95_FOUND FALSE) + endif() + if(NOT LAPACK_FIND_QUIETLY) + if(LAPACK95_FOUND) + message(STATUS "A library with LAPACK95 API found.") + else() + if(LAPACK_FIND_REQUIRED) + message(FATAL_ERROR + "A required library with LAPACK95 API not found. Please specify library location." + ) + else() + message(STATUS + "A library with LAPACK95 API not found. Please specify library location." + ) + endif() + endif() + endif() + set(LAPACK_FOUND "${LAPACK95_FOUND}") + set(LAPACK_LIBRARIES "${LAPACK95_LIBRARIES}") +else() + if(LAPACK_LIBRARIES) + set(LAPACK_FOUND TRUE) + else() + set(LAPACK_FOUND FALSE) + endif() + + if(NOT LAPACK_FIND_QUIETLY) + if(LAPACK_FOUND) + message(STATUS "A library with LAPACK API found.") + else() + if(LAPACK_FIND_REQUIRED) + message(FATAL_ERROR + "A required library with LAPACK API not found. Please specify library location." + ) + else() + message(STATUS + "A library with LAPACK API not found. Please specify library location." + ) + endif() + endif() + endif() +endif() + +cmake_pop_check_state() +set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) From 8341e88b8da8211456705b2a0db40a08d069dd9f Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Thu, 6 Jun 2019 21:06:00 +0200 Subject: [PATCH 02/20] added include(SelectLibraryConfigurations) --- ports/clapack/FindLAPACK.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/clapack/FindLAPACK.cmake b/ports/clapack/FindLAPACK.cmake index 43a01900120e0f..63c7ebaeb49d4f 100644 --- a/ports/clapack/FindLAPACK.cmake +++ b/ports/clapack/FindLAPACK.cmake @@ -90,6 +90,7 @@ else () include(${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) endif () include(${CMAKE_ROOT}/Modules/CMakePushCheckState.cmake) +include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake) cmake_push_check_state() set(CMAKE_REQUIRED_QUIET ${LAPACK_FIND_QUIETLY}) From 3bf27175805a5c1d2da93bcd50d10fe6b5708633 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sat, 8 Jun 2019 14:29:06 +0200 Subject: [PATCH 03/20] [clapack] remove openblas patch --- ports/clapack/openblas_linux.patch | 12 ------------ ports/clapack/portfile.cmake | 5 ----- 2 files changed, 17 deletions(-) delete mode 100644 ports/clapack/openblas_linux.patch diff --git a/ports/clapack/openblas_linux.patch b/ports/clapack/openblas_linux.patch deleted file mode 100644 index e2b7b6e8286c46..00000000000000 --- a/ports/clapack/openblas_linux.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index c729d95..2b15e31 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,6 +1,6 @@ - cmake_minimum_required(VERSION 2.6) - project(CLAPACK C) --find_package(BLAS REQUIRED) -+find_package(OpenBLAS REQUIRED) - - if(WIN32 AND NOT CYGWIN) - set(SECOND_SRC ${CLAPACK_SOURCE_DIR}/INSTALL/winsecond.c) diff --git a/ports/clapack/portfile.cmake b/ports/clapack/portfile.cmake index ecdf51c87af4a2..90169d79b209f9 100644 --- a/ports/clapack/portfile.cmake +++ b/ports/clapack/portfile.cmake @@ -8,16 +8,11 @@ vcpkg_download_distfile(ARCHIVE SHA512 cf19c710291ddff3f6ead7d86bdfdeaebca21291d9df094bf0a8ef599546b007757fb2dbb19b56511bb53ef7456eac0c73973b9627bf4d02982c856124428b49 ) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(ADDITIONAL_PATCH "openblas_linux.patch") -endif() - vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} PATCHES remove_internal_blas.patch - ${ADDITIONAL_PATCH} ) vcpkg_configure_cmake( From beeffc2f830181d08a9f72eb3f8c7c7cc94ae95f Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sat, 8 Jun 2019 14:29:44 +0200 Subject: [PATCH 04/20] [openblas] add trailing _ on linux --- ports/openblas/CONTROL | 1 + ports/openblas/portfile.cmake | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL index 40249c33201b1f..fda14808c7e3e6 100644 --- a/ports/openblas/CONTROL +++ b/ports/openblas/CONTROL @@ -1,3 +1,4 @@ Source: openblas Version: 0.3.6-2 +Build-Depends: pthread (linux) Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake index 1bd7b61574a08e..3b128345272915 100644 --- a/ports/openblas/portfile.cmake +++ b/ports/openblas/portfile.cmake @@ -1,4 +1,6 @@ include(vcpkg_common_functions) +#DYNAMIC_ARCH +#NUM_THREADS if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") message(FATAL_ERROR "openblas can only be built for x64 currently") @@ -72,12 +74,16 @@ elseif(NOT VCPKG_CMAKE_SYSTEM_NAME) OPTIONS ${COMMON_OPTIONS}) else() + list(APPEND VCPKG_C_FLAGS "-DNEEDBUNDERSCORE") # Required to get common BLASFUNC to append extra _ + list(APPEND VCPKG_CXX_FLAGS "-DNEEDBUNDERSCORE") vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} OPTIONS ${COMMON_OPTIONS} -DCMAKE_SYSTEM_PROCESSOR=AMD64 - -DNOFORTRAN=ON) + -DNOFORTRAN=ON + -DBU=_ #required for all blas functions to append extra _ using NAME + ) endif() From ca4918833414f17ec5c4ffa81c9b8a37d2d35e1d Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sat, 8 Jun 2019 14:44:58 +0200 Subject: [PATCH 05/20] [openblas] add find wrapper --- ports/openblas/FindBLAS.cmake | 816 +++++++++++++++++++++++ ports/openblas/portfile.cmake | 3 + ports/openblas/vcpkg-cmake-wrapper.cmake | 2 + 3 files changed, 821 insertions(+) create mode 100644 ports/openblas/FindBLAS.cmake create mode 100644 ports/openblas/vcpkg-cmake-wrapper.cmake diff --git a/ports/openblas/FindBLAS.cmake b/ports/openblas/FindBLAS.cmake new file mode 100644 index 00000000000000..164e79f3b24c8c --- /dev/null +++ b/ports/openblas/FindBLAS.cmake @@ -0,0 +1,816 @@ +# Distributed under the OSI-approved BSD 3-Clause License. See accompanying +# file Copyright.txt or https://cmake.org/licensing for details. + +#[=======================================================================[.rst: +FindBLAS +-------- + +Find Basic Linear Algebra Subprograms (BLAS) library + +This module finds an installed Fortran library that implements the +BLAS linear-algebra interface (see http://www.netlib.org/blas/). The +list of libraries searched for is taken from the ``autoconf`` macro file, +``acx_blas.m4`` (distributed at +http://ac-archive.sourceforge.net/ac-archive/acx_blas.html). + +Input Variables +^^^^^^^^^^^^^^^ + +The following variables may be set to influence this module's behavior: + +``BLA_STATIC`` + if ``ON`` use static linkage + +``BLA_VENDOR`` + If set, checks only the specified vendor, if not set checks all the + possibilities. List of vendors valid in this module: + + * Goto + * OpenBLAS + * FLAME + * ATLAS PhiPACK + * CXML + * DXML + * SunPerf + * SCSL + * SGIMATH + * IBMESSL + * Intel10_32 (intel mkl v10 32 bit) + * Intel10_64lp (intel mkl v10+ 64 bit, threaded code, lp64 model) + * Intel10_64lp_seq (intel mkl v10+ 64 bit, sequential code, lp64 model) + * Intel10_64ilp (intel mkl v10+ 64 bit, threaded code, ilp64 model) + * Intel10_64ilp_seq (intel mkl v10+ 64 bit, sequential code, ilp64 model) + * Intel (obsolete versions of mkl 32 and 64 bit) + * ACML + * ACML_MP + * ACML_GPU + * Apple + * NAS + * Generic + +``BLA_F95`` + if ``ON`` tries to find the BLAS95 interfaces + +``BLA_PREFER_PKGCONFIG`` + if set ``pkg-config`` will be used to search for a BLAS library first + and if one is found that is preferred + +Result Variables +^^^^^^^^^^^^^^^^ + +This module defines the following variables: + +``BLAS_FOUND`` + library implementing the BLAS interface is found +``BLAS_LINKER_FLAGS`` + uncached list of required linker flags (excluding ``-l`` and ``-L``). +``BLAS_LIBRARIES`` + uncached list of libraries (using full path name) to link against + to use BLAS (may be empty if compiler implicitly links BLAS) +``BLAS95_LIBRARIES`` + uncached list of libraries (using full path name) to link against + to use BLAS95 interface +``BLAS95_FOUND`` + library implementing the BLAS95 interface is found + +.. note:: + + C or CXX must be enabled to use Intel Math Kernel Library (MKL) + + For example, to use Intel MKL libraries and/or Intel compiler: + + .. code-block:: cmake + + set(BLA_VENDOR Intel10_64lp) + find_package(BLAS) + +Hints +^^^^^ + +Set ``MKLROOT`` environment variable to a directory that contains an MKL +installation. + +#]=======================================================================] + +include(${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake) +include(${CMAKE_ROOT}/Modules/CheckFortranFunctionExists.cmake) +include(${CMAKE_ROOT}/Modules/CMakePushCheckState.cmake) +include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake) +cmake_push_check_state() +set(CMAKE_REQUIRED_QUIET ${BLAS_FIND_QUIETLY}) + +set(_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + +# Check the language being used +if( NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_COMPILER_LOADED) ) + if(BLAS_FIND_REQUIRED) + message(FATAL_ERROR "FindBLAS requires Fortran, C, or C++ to be enabled.") + else() + message(STATUS "Looking for BLAS... - NOT found (Unsupported languages)") + return() + endif() +endif() + +if(BLA_PREFER_PKGCONFIG) + find_package(PkgConfig) + pkg_check_modules(PKGC_BLAS blas) + if(PKGC_BLAS_FOUND) + set(BLAS_FOUND ${PKGC_BLAS_FOUND}) + set(BLAS_LIBRARIES "${PKGC_BLAS_LINK_LIBRARIES}") + return() + endif() +endif() + +macro(Check_Fortran_Libraries LIBRARIES _prefix _name _flags _list _thread) + # This macro checks for the existence of the combination of fortran libraries + # given by _list. If the combination is found, this macro checks (using the + # Check_Fortran_Function_Exists macro) whether can link against that library + # combination using the name of a routine given by _name using the linker + # flags given by _flags. If the combination of libraries is found and passes + # the link test, LIBRARIES is set to the list of complete library paths that + # have been found. Otherwise, LIBRARIES is set to FALSE. + + # N.B. _prefix is the prefix applied to the names of all cached variables that + # are generated internally and marked advanced by this macro. + + set(_libdir ${ARGN}) + + set(_libraries_work TRUE) + set(${LIBRARIES}) + set(_combined_name) + if (NOT _libdir) + if (WIN32) + set(_libdir ENV LIB) + elseif (APPLE) + set(_libdir ENV DYLD_LIBRARY_PATH) + else () + set(_libdir ENV LD_LIBRARY_PATH) + endif () + endif () + + list(APPEND _libdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}") + + foreach(_library ${_list}) + set(_combined_name ${_combined_name}_${_library}) + if(NOT "${_thread}" STREQUAL "") + set(_combined_name ${_combined_name}_thread) + endif() + if(_libraries_work) + if (BLA_STATIC) + if (WIN32) + set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif () + if (APPLE) + set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES}) + else () + set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) + endif () + else () + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + # for ubuntu's libblas3gf and liblapack3gf packages + set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf) + endif () + endif () + find_library(${_prefix}_${_library}_LIBRARY + NAMES ${_library} + PATHS ${_libdir} + ) + mark_as_advanced(${_prefix}_${_library}_LIBRARY) + set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY}) + set(_libraries_work ${${_prefix}_${_library}_LIBRARY}) + endif() + endforeach() + if(_libraries_work) + # Test this combination of libraries. + set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_thread}) + # message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}") + if (CMAKE_Fortran_COMPILER_LOADED) + check_fortran_function_exists("${_name}" ${_prefix}${_combined_name}_WORKS) + else() + check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS) + endif() + set(CMAKE_REQUIRED_LIBRARIES) + set(_libraries_work ${${_prefix}${_combined_name}_WORKS}) + endif() + if(_libraries_work) + if("${_list}" STREQUAL "") + set(${LIBRARIES} "${LIBRARIES}-PLACEHOLDER-FOR-EMPTY-LIBRARIES") + else() + set(${LIBRARIES} ${${LIBRARIES}} ${_thread}) # for static link + endif() + else() + set(${LIBRARIES} FALSE) + endif() + #message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}") +endmacro() + +set(BLAS_LINKER_FLAGS) +set(BLAS_LIBRARIES) +set(BLAS95_LIBRARIES) +if (NOT $ENV{BLA_VENDOR} STREQUAL "") + set(BLA_VENDOR $ENV{BLA_VENDOR}) +else () + if(NOT BLA_VENDOR) + set(BLA_VENDOR "All") + endif() +endif () + +if (BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # Implicitly linked BLAS libraries + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "" + "" + ) + endif() +endif () + +#BLAS in intel mkl 10+ library? (em64t 64bit) +if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All") + if (NOT BLAS_LIBRARIES) + + # System-specific settings + if (WIN32) + if (BLA_STATIC) + set(BLAS_mkl_DLL_SUFFIX "") + else() + set(BLAS_mkl_DLL_SUFFIX "_dll") + endif() + else() + # Switch to GNU Fortran support layer if needed (but not on Apple, where MKL does not provide it) + if(CMAKE_Fortran_COMPILER_LOADED AND CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND NOT APPLE) + set(BLAS_mkl_INTFACE "gf") + set(BLAS_mkl_THREADING "gnu") + set(BLAS_mkl_OMP "gomp") + else() + set(BLAS_mkl_INTFACE "intel") + set(BLAS_mkl_THREADING "intel") + set(BLAS_mkl_OMP "iomp5") + endif() + set(BLAS_mkl_LM "-lm") + set(BLAS_mkl_LDL "-ldl") + endif() + + if (BLA_VENDOR MATCHES "_64ilp") + set(BLAS_mkl_ILP_MODE "ilp64") + else () + set(BLAS_mkl_ILP_MODE "lp64") + endif () + + if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED) + if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED) + find_package(Threads) + else() + find_package(Threads REQUIRED) + endif() + + set(BLAS_SEARCH_LIBS "") + + if(BLA_F95) + set(BLAS_mkl_SEARCH_SYMBOL sgemm_f95) + set(_LIBRARIES BLAS95_LIBRARIES) + if (WIN32) + # Find the main file (32-bit or 64-bit) + set(BLAS_SEARCH_LIBS_WIN_MAIN "") + if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN + "mkl_blas95${BLAS_mkl_DLL_SUFFIX} mkl_intel_c${BLAS_mkl_DLL_SUFFIX}") + endif() + if (BLA_VENDOR MATCHES "^Intel10_64i?lp" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN + "mkl_blas95_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX} mkl_intel_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX}") + endif () + + # Add threading/sequential libs + set(BLAS_SEARCH_LIBS_WIN_THREAD "") + if (BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "mkl_sequential${BLAS_mkl_DLL_SUFFIX}") + endif() + if (NOT BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "libguide40 mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}") + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "libiomp5md mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}") + endif() + + # Cartesian product of the above + foreach (MAIN ${BLAS_SEARCH_LIBS_WIN_MAIN}) + foreach (THREAD ${BLAS_SEARCH_LIBS_WIN_THREAD}) + list(APPEND BLAS_SEARCH_LIBS + "${MAIN} ${THREAD} mkl_core${BLAS_mkl_DLL_SUFFIX}") + endforeach() + endforeach() + else () + if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS + "mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide") + + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS + "mkl_blas95 mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}") + endif () + if (BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS + "mkl_blas95 mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide") + + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS + "mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}") + endif () + if (BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS + "mkl_blas95_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_sequential mkl_core") + endif () + endif () + else () + set(BLAS_mkl_SEARCH_SYMBOL sgemm) + set(_LIBRARIES BLAS_LIBRARIES) + if (WIN32) + # Find the main file (32-bit or 64-bit) + set(BLAS_SEARCH_LIBS_WIN_MAIN "") + if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN + "mkl_intel_c${BLAS_mkl_DLL_SUFFIX}") + endif() + if (BLA_VENDOR MATCHES "^Intel10_64i?lp" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_MAIN + "mkl_intel_${BLAS_mkl_ILP_MODE}${BLAS_mkl_DLL_SUFFIX}") + endif () + + # Add threading/sequential libs + set(BLAS_SEARCH_LIBS_WIN_THREAD "") + if (NOT BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "libguide40 mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}") + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "libiomp5md mkl_intel_thread${BLAS_mkl_DLL_SUFFIX}") + endif() + if (BLA_VENDOR MATCHES "_seq$" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS_WIN_THREAD + "mkl_sequential${BLAS_mkl_DLL_SUFFIX}") + endif() + + # Cartesian product of the above + foreach (MAIN ${BLAS_SEARCH_LIBS_WIN_MAIN}) + foreach (THREAD ${BLAS_SEARCH_LIBS_WIN_THREAD}) + list(APPEND BLAS_SEARCH_LIBS + "${MAIN} ${THREAD} mkl_core${BLAS_mkl_DLL_SUFFIX}") + endforeach() + endforeach() + else () + if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS + "mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide") + + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS + "mkl_${BLAS_mkl_INTFACE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}") + endif () + if (BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR STREQUAL "All") + # old version + list(APPEND BLAS_SEARCH_LIBS + "mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core guide") + + # mkl >= 10.3 + list(APPEND BLAS_SEARCH_LIBS + "mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_${BLAS_mkl_THREADING}_thread mkl_core ${BLAS_mkl_OMP}") + endif () + if (BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS + "mkl_${BLAS_mkl_INTFACE}_${BLAS_mkl_ILP_MODE} mkl_sequential mkl_core") + endif () + + #older vesions of intel mkl libs + if (BLA_VENDOR STREQUAL "Intel" OR BLA_VENDOR STREQUAL "All") + list(APPEND BLAS_SEARCH_LIBS + "mkl") + list(APPEND BLAS_SEARCH_LIBS + "mkl_ia32") + list(APPEND BLAS_SEARCH_LIBS + "mkl_em64t") + endif () + endif () + endif () + + if (DEFINED ENV{MKLROOT}) + if (BLA_VENDOR STREQUAL "Intel10_32") + set(_BLAS_MKLROOT_LIB_DIR "$ENV{MKLROOT}/lib/ia32") + elseif (BLA_VENDOR MATCHES "^Intel10_64i?lp$" OR BLA_VENDOR MATCHES "^Intel10_64i?lp_seq$") + set(_BLAS_MKLROOT_LIB_DIR "$ENV{MKLROOT}/lib/intel64") + endif () + endif () + if (_BLAS_MKLROOT_LIB_DIR) + if (WIN32) + string(APPEND _BLAS_MKLROOT_LIB_DIR "_win") + elseif (APPLE) + string(APPEND _BLAS_MKLROOT_LIB_DIR "_mac") + else () + string(APPEND _BLAS_MKLROOT_LIB_DIR "_lin") + endif () + endif () + + foreach (IT ${BLAS_SEARCH_LIBS}) + string(REPLACE " " ";" SEARCH_LIBS ${IT}) + if (NOT ${_LIBRARIES}) + check_fortran_libraries( + ${_LIBRARIES} + BLAS + ${BLAS_mkl_SEARCH_SYMBOL} + "" + "${SEARCH_LIBS}" + "${CMAKE_THREAD_LIBS_INIT};${BLAS_mkl_LM};${BLAS_mkl_LDL}" + "${_BLAS_MKLROOT_LIB_DIR}" + ) + endif () + endforeach () + + endif () + unset(BLAS_mkl_ILP_MODE) + unset(BLAS_mkl_INTFACE) + unset(BLAS_mkl_THREADING) + unset(BLAS_mkl_OMP) + unset(BLAS_mkl_DLL_SUFFIX) + unset(BLAS_mkl_LM) + unset(BLAS_mkl_LDL) + endif () +endif () + +if(BLA_F95) + find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS95_LIBRARIES) + set(BLAS95_FOUND ${BLAS_FOUND}) + if(BLAS_FOUND) + set(BLAS_LIBRARIES "${BLAS95_LIBRARIES}") + endif() +endif() + +if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # gotoblas (http://www.tacc.utexas.edu/tacc-projects/gotoblas2) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "goto2" + "" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # OpenBLAS (http://www.openblas.net) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "openblas" + "" + ) + endif() + if(NOT BLAS_LIBRARIES) + find_package(Threads) + # OpenBLAS (http://www.openblas.net) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "openblas" + "${CMAKE_THREAD_LIBS_INIT}" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "FLAME" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # FLAME's blis library (https://github.com/flame/blis) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "blis" + "" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # BLAS in ATLAS library? (http://math-atlas.sourceforge.net/) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + dgemm + "" + "f77blas;atlas" + "" + ) + endif() +endif () + +# BLAS in PhiPACK libraries? (requires generic BLAS lib, too) +if (BLA_VENDOR STREQUAL "PhiPACK" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "sgemm;dgemm;blas" + "" + ) + endif() +endif () + +# BLAS in Alpha CXML library? +if (BLA_VENDOR STREQUAL "CXML" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "cxml" + "" + ) + endif() +endif () + +# BLAS in Alpha DXML library? (now called CXML, see above) +if (BLA_VENDOR STREQUAL "DXML" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "dxml" + "" + ) + endif() +endif () + +# BLAS in Sun Performance library? +if (BLA_VENDOR STREQUAL "SunPerf" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "-xlic_lib=sunperf" + "sunperf;sunmath" + "" + ) + if(BLAS_LIBRARIES) + set(BLAS_LINKER_FLAGS "-xlic_lib=sunperf") + endif() + endif() +endif () + +# BLAS in SCSL library? (SGI/Cray Scientific Library) +if (BLA_VENDOR STREQUAL "SCSL" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "scsl" + "" + ) + endif() +endif () + +# BLAS in SGIMATH library? +if (BLA_VENDOR STREQUAL "SGIMATH" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "complib.sgimath" + "" + ) + endif() +endif () + +# BLAS in IBM ESSL library? (requires generic BLAS lib, too) +if (BLA_VENDOR STREQUAL "IBMESSL" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "essl;blas" + "" + ) + endif() +endif () + +#BLAS in acml library? +if (BLA_VENDOR MATCHES "ACML" OR BLA_VENDOR STREQUAL "All") + if( ((BLA_VENDOR STREQUAL "ACML") AND (NOT BLAS_ACML_LIB_DIRS)) OR + ((BLA_VENDOR STREQUAL "ACML_MP") AND (NOT BLAS_ACML_MP_LIB_DIRS)) OR + ((BLA_VENDOR STREQUAL "ACML_GPU") AND (NOT BLAS_ACML_GPU_LIB_DIRS)) + ) + # try to find acml in "standard" paths + if( WIN32 ) + file( GLOB _ACML_ROOT "C:/AMD/acml*/ACML-EULA.txt" ) + else() + file( GLOB _ACML_ROOT "/opt/acml*/ACML-EULA.txt" ) + endif() + if( WIN32 ) + file( GLOB _ACML_GPU_ROOT "C:/AMD/acml*/GPGPUexamples" ) + else() + file( GLOB _ACML_GPU_ROOT "/opt/acml*/GPGPUexamples" ) + endif() + list(GET _ACML_ROOT 0 _ACML_ROOT) + list(GET _ACML_GPU_ROOT 0 _ACML_GPU_ROOT) + if( _ACML_ROOT ) + get_filename_component( _ACML_ROOT ${_ACML_ROOT} PATH ) + if( SIZEOF_INTEGER EQUAL 8 ) + set( _ACML_PATH_SUFFIX "_int64" ) + else() + set( _ACML_PATH_SUFFIX "" ) + endif() + if( CMAKE_Fortran_COMPILER_ID STREQUAL "Intel" ) + set( _ACML_COMPILER32 "ifort32" ) + set( _ACML_COMPILER64 "ifort64" ) + elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "SunPro" ) + set( _ACML_COMPILER32 "sun32" ) + set( _ACML_COMPILER64 "sun64" ) + elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "PGI" ) + set( _ACML_COMPILER32 "pgi32" ) + if( WIN32 ) + set( _ACML_COMPILER64 "win64" ) + else() + set( _ACML_COMPILER64 "pgi64" ) + endif() + elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "Open64" ) + # 32 bit builds not supported on Open64 but for code simplicity + # We'll just use the same directory twice + set( _ACML_COMPILER32 "open64_64" ) + set( _ACML_COMPILER64 "open64_64" ) + elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "NAG" ) + set( _ACML_COMPILER32 "nag32" ) + set( _ACML_COMPILER64 "nag64" ) + else() + set( _ACML_COMPILER32 "gfortran32" ) + set( _ACML_COMPILER64 "gfortran64" ) + endif() + + if( BLA_VENDOR STREQUAL "ACML_MP" ) + set(_ACML_MP_LIB_DIRS + "${_ACML_ROOT}/${_ACML_COMPILER32}_mp${_ACML_PATH_SUFFIX}/lib" + "${_ACML_ROOT}/${_ACML_COMPILER64}_mp${_ACML_PATH_SUFFIX}/lib" ) + else() + set(_ACML_LIB_DIRS + "${_ACML_ROOT}/${_ACML_COMPILER32}${_ACML_PATH_SUFFIX}/lib" + "${_ACML_ROOT}/${_ACML_COMPILER64}${_ACML_PATH_SUFFIX}/lib" ) + endif() + endif() +elseif(BLAS_${BLA_VENDOR}_LIB_DIRS) + set(_${BLA_VENDOR}_LIB_DIRS ${BLAS_${BLA_VENDOR}_LIB_DIRS}) +endif() + +if( BLA_VENDOR STREQUAL "ACML_MP" ) + foreach( BLAS_ACML_MP_LIB_DIRS ${_ACML_MP_LIB_DIRS}) + check_fortran_libraries ( + BLAS_LIBRARIES + BLAS + sgemm + "" "acml_mp;acml_mv" "" ${BLAS_ACML_MP_LIB_DIRS} + ) + if( BLAS_LIBRARIES ) + break() + endif() + endforeach() +elseif( BLA_VENDOR STREQUAL "ACML_GPU" ) + foreach( BLAS_ACML_GPU_LIB_DIRS ${_ACML_GPU_LIB_DIRS}) + check_fortran_libraries ( + BLAS_LIBRARIES + BLAS + sgemm + "" "acml;acml_mv;CALBLAS" "" ${BLAS_ACML_GPU_LIB_DIRS} + ) + if( BLAS_LIBRARIES ) + break() + endif() + endforeach() +else() + foreach( BLAS_ACML_LIB_DIRS ${_ACML_LIB_DIRS} ) + check_fortran_libraries ( + BLAS_LIBRARIES + BLAS + sgemm + "" "acml;acml_mv" "" ${BLAS_ACML_LIB_DIRS} + ) + if( BLAS_LIBRARIES ) + break() + endif() + endforeach() +endif() + +# Either acml or acml_mp should be in LD_LIBRARY_PATH but not both +if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "acml;acml_mv" + "" + ) +endif() +if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "acml_mp;acml_mv" + "" + ) +endif() +if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "acml;acml_mv;CALBLAS" + "" + ) +endif() +endif () # ACML + +# Apple BLAS library? +if (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + dgemm + "" + "Accelerate" + "" + ) + endif() +endif () + +if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All") + if ( NOT BLAS_LIBRARIES ) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + dgemm + "" + "vecLib" + "" + ) + endif () +endif () + +# Generic BLAS library? +if (BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + check_fortran_libraries( + BLAS_LIBRARIES + BLAS + sgemm + "" + "blas" + "" + ) + endif() +endif () + +if(NOT BLA_F95) + find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS_LIBRARIES) +endif() + +# On compilers that implicitly link BLAS (such as ftn, cc, and CC on Cray HPC machines) +# we used a placeholder for empty BLAS_LIBRARIES to get through our logic above. +if (BLAS_LIBRARIES STREQUAL "BLAS_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES") + set(BLAS_LIBRARIES "") +endif() + +cmake_pop_check_state() +set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake index 3b128345272915..cb3f0c944edcf8 100644 --- a/ports/openblas/portfile.cmake +++ b/ports/openblas/portfile.cmake @@ -104,6 +104,9 @@ file(WRITE ${CURRENT_PACKAGES_DIR}/include/cblas.h "${CBLAS_H}") file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openblas) file(RENAME ${CURRENT_PACKAGES_DIR}/share/openblas/LICENSE ${CURRENT_PACKAGES_DIR}/share/openblas/copyright) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/blas) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindBLAS.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/blas) + vcpkg_copy_pdbs() file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) diff --git a/ports/openblas/vcpkg-cmake-wrapper.cmake b/ports/openblas/vcpkg-cmake-wrapper.cmake new file mode 100644 index 00000000000000..fc074f33ca15e6 --- /dev/null +++ b/ports/openblas/vcpkg-cmake-wrapper.cmake @@ -0,0 +1,2 @@ +message(STATUS "Using VCPKG FindBLAS. Remove if CMake has been updated to account for Threads in OpenBLAS!") +include(${CMAKE_CURRENT_LIST_DIR}/FindBLAS.cmake) From 7765e0bb13f787439b3c91a4ed5f9fb746a78a48 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sat, 8 Jun 2019 22:28:16 +0200 Subject: [PATCH 06/20] [clapack] fix FindLapack --- ports/clapack/FindLAPACK.cmake | 8 +++++--- ports/clapack/vcpkg-cmake-wrapper.cmake | 6 ++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ports/clapack/FindLAPACK.cmake b/ports/clapack/FindLAPACK.cmake index 63c7ebaeb49d4f..2ed694cc4f192b 100644 --- a/ports/clapack/FindLAPACK.cmake +++ b/ports/clapack/FindLAPACK.cmake @@ -168,14 +168,16 @@ endforeach() if(_libraries_work) # Test this combination of libraries. - string(GENEX_STRIP ${_blas} _test_blas) + if(NOT "${_blas}" STREQUAL "") + string(GENEX_STRIP "${_blas}" _test_blas) + endif() if(UNIX AND BLA_STATIC) set(CMAKE_REQUIRED_LIBRARIES ${_flags} "-Wl,--start-group" ${${LIBRARIES}_RELEASE} ${_test_blas} "-Wl,--end-group" ${_threads}) else() set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}_RELEASE} ${_test_blas} ${_threads}) endif() -# message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}") -# message("DEBUG: _test_blas = ${_test_blas} former ${_blas}") + #message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}") + #message("DEBUG: _test_blas = ${_test_blas} former ${_blas}") if (NOT CMAKE_Fortran_COMPILER_LOADED) check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS) else () diff --git a/ports/clapack/vcpkg-cmake-wrapper.cmake b/ports/clapack/vcpkg-cmake-wrapper.cmake index 69c54ea0da1b14..26a0a1624b854d 100644 --- a/ports/clapack/vcpkg-cmake-wrapper.cmake +++ b/ports/clapack/vcpkg-cmake-wrapper.cmake @@ -1,4 +1,2 @@ -set(LAPACK_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) -_find_package(${ARGS}) -set(CMAKE_MODULE_PATH ${LAPACK_PREV_MODULE_PATH}) +include(${CMAKE_CURRENT_LIST_DIR}/FindLAPACK.cmake) + From ec05ef1cdfe7ad15142c6df9d218a7730a2cadd5 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sun, 9 Jun 2019 14:16:50 +0200 Subject: [PATCH 07/20] bump control to retrigger full CI build --- ports/openblas/CONTROL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL index fda14808c7e3e6..9212a9089d2fb3 100644 --- a/ports/openblas/CONTROL +++ b/ports/openblas/CONTROL @@ -1,4 +1,4 @@ Source: openblas -Version: 0.3.6-2 +Version: 0.3.6-3 Build-Depends: pthread (linux) Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. From 397de4e9e081e6181bb85ccc3dcf32ff720c435b Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sun, 9 Jun 2019 18:02:56 +0200 Subject: [PATCH 08/20] [openblas] enable ninja --- ports/openblas/portfile.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake index cb3f0c944edcf8..254866ef89620e 100644 --- a/ports/openblas/portfile.cmake +++ b/ports/openblas/portfile.cmake @@ -70,6 +70,7 @@ if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") elseif(NOT VCPKG_CMAKE_SYSTEM_NAME) vcpkg_configure_cmake( + PREFER_NINJA SOURCE_PATH ${SOURCE_PATH} OPTIONS ${COMMON_OPTIONS}) From f4670fd8e39cca670ec3b9c2bd6f895cb313c7c5 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Sun, 9 Jun 2019 18:32:23 +0200 Subject: [PATCH 09/20] [mlpack] fix libary names for linkage. --- ports/mlpack/blas_lapack.patch | 15 +++++++++++++++ ports/mlpack/portfile.cmake | 1 + 2 files changed, 16 insertions(+) create mode 100644 ports/mlpack/blas_lapack.patch diff --git a/ports/mlpack/blas_lapack.patch b/ports/mlpack/blas_lapack.patch new file mode 100644 index 00000000000000..d330fa8cb51559 --- /dev/null +++ b/ports/mlpack/blas_lapack.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0b350cd8c..251f8a69e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -286,7 +286,8 @@ if (WIN32) + find_package(LAPACK) + find_package(BLAS) + set(ARMADILLO_LIBRARIES +- ${ARMADILLO_LIBRARIES} ${BLAS_LIBRARY} ${LAPACK_LIBRARY}) ++ ${ARMADILLO_LIBRARIES} ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) ++ message(STATUS ${ARMADILLO_LIBRARIES}) + endif () + + # Include directories for the previous dependencies. + diff --git a/ports/mlpack/portfile.cmake b/ports/mlpack/portfile.cmake index 20cbc882e38951..ee23d92c9e31c5 100644 --- a/ports/mlpack/portfile.cmake +++ b/ports/mlpack/portfile.cmake @@ -8,6 +8,7 @@ vcpkg_from_github( HEAD_REF master PATCHES cmakelists.patch + blas_lapack.patch ) file(REMOVE ${SOURCE_PATH}/CMake/ARMA_FindACML.cmake) From 5390c79d0f77a922e750820e968c289d6ef8fa5f Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 24 Jun 2019 12:12:14 +0200 Subject: [PATCH 10/20] bump control --- ports/geogram/CONTROL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/geogram/CONTROL b/ports/geogram/CONTROL index 8fd66be95febe6..4eb40eee04619b 100644 --- a/ports/geogram/CONTROL +++ b/ports/geogram/CONTROL @@ -1,5 +1,5 @@ Source: geogram -Version: 1.6.9-6 +Version: 1.6.9-7 Homepage: https://gforge.inria.fr/projects/geogram/ Description: Geogram is a programming library of geometric algorithms. Build-Depends: openblas (!osx), clapack (!osx) From b51d5ce58a6b7f44e2f9394e8ec491f31d590568 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 24 Jun 2019 12:12:27 +0200 Subject: [PATCH 11/20] Delete enable_openblas_compatibility.patch --- .../enable_openblas_compatibility.patch | 1008 ----------------- 1 file changed, 1008 deletions(-) delete mode 100644 ports/geogram/enable_openblas_compatibility.patch diff --git a/ports/geogram/enable_openblas_compatibility.patch b/ports/geogram/enable_openblas_compatibility.patch deleted file mode 100644 index e6ab75a4cbad3b..00000000000000 --- a/ports/geogram/enable_openblas_compatibility.patch +++ /dev/null @@ -1,1008 +0,0 @@ -diff --git a/src/lib/third_party/numerics/ARPACK/arpack_cnames.h b/src/lib/third_party/numerics/ARPACK/arpack_cnames.h -new file mode 100644 -index 0000000..e6f2c48 ---- /dev/null -+++ b/src/lib/third_party/numerics/ARPACK/arpack_cnames.h -@@ -0,0 +1,105 @@ -+#ifndef __ARPACK_CNAMES -+#define __ARPACK_CNAMES -+ -+/* -+ * These defines set up the naming scheme required to have a fortran 77 -+ * routine call a C routine -+ * for following Fortran to C interface: -+ * FORTRAN CALL C DECLARATION -+ * call dgemm(...) void dgemm(...) -+ */ -+/* BLAS */ -+#define sswap_ sswap -+#define saxpy_ saxpy -+#define sasum_ sasum -+#define isamax_ isamax -+#define scopy_ scopy -+#define sscal_ sscal -+#define sger_ sger -+#define snrm2_ snrm2 -+#define ssymv_ ssymv -+#define sdot_ sdot -+#define saxpy_ saxpy -+#define ssyr2_ ssyr2 -+#define srot_ srot -+#define sgemv_ sgemv -+#define strsv_ strsv -+#define sgemm_ sgemm -+#define strsm_ strsm -+ -+#define dswap_ dswap -+#define daxpy_ daxpy -+#define dasum_ dasum -+#define idamax_ idamax -+#define dcopy_ dcopy -+#define dscal_ dscal -+#define dger_ dger -+#define dnrm2_ dnrm2 -+#define dsymv_ dsymv -+#define ddot_ ddot -+#define dsyr2_ dsyr2 -+#define drot_ drot -+#define dgemv_ dgemv -+#define dtrsv_ dtrsv -+#define dgemm_ dgemm -+#define dtrsm_ dtrsm -+ -+#define cswap_ cswap -+#define caxpy_ caxpy -+#define scasum_ scasum -+#define icamax_ icamax -+#define ccopy_ ccopy -+#define cscal_ cscal -+#define scnrm2_ scnrm2 -+#define cgemv_ cgemv -+#define ctrsv_ ctrsv -+#define cgemm_ cgemm -+#define ctrsm_ ctrsm -+#define cgerc_ cgerc -+#define chemv_ chemv -+#define cher2_ cher2 -+ -+#define zswap_ zswap -+#define zaxpy_ zaxpy -+#define dzasum_ dzasum -+#define izamax_ izamax -+#define zcopy_ zcopy -+#define zscal_ zscal -+#define dznrm2_ dznrm2 -+#define zgemv_ zgemv -+#define ztrsv_ ztrsv -+#define zgemm_ zgemm -+#define ztrsm_ ztrsm -+#define zgerc_ zgerc -+#define zhemv_ zhemv -+#define zher2_ zher2 -+ -+/* LAPACK */ -+#define dlacon_ dlacon -+#define slacon_ slacon -+#define icmax1_ icmax1 -+#define scsum1_ scsum1 -+#define clacon_ clacon -+#define dzsum1_ dzsum1 -+#define izmax1_ izmax1 -+#define zlacon_ zlacon -+ -+/* Fortran interface */ -+#define c_bridge_dgssv_ c_bridge_dgssv -+#define c_fortran_sgssv_ c_fortran_sgssv -+#define c_fortran_dgssv_ c_fortran_dgssv -+#define c_fortran_cgssv_ c_fortran_cgssv -+#define c_fortran_zgssv_ c_fortran_zgssv -+ -+#define cdotc_ cdotc -+#define csscal_ csscal -+#define zdscal_ zdscal -+#define zdotc_ zdotc -+#define ctrmm_ ctrmm -+#define dtrmm_ dtrmm -+#define strmm_ strmm -+#define ztrmm_ ztrmm -+#define cgeru_ cgeru -+#define zgeru_ zgeru -+ -+#endif /* __ARPACK_CNAMES */ -diff --git a/src/lib/third_party/numerics/ARPACK/cgetv0.c b/src/lib/third_party/numerics/ARPACK/cgetv0.c -index 48e8677..871d7b0 100755 ---- a/src/lib/third_party/numerics/ARPACK/cgetv0.c -+++ b/src/lib/third_party/numerics/ARPACK/cgetv0.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/cnaitr.c b/src/lib/third_party/numerics/ARPACK/cnaitr.c -index ee9318b..693f399 100755 ---- a/src/lib/third_party/numerics/ARPACK/cnaitr.c -+++ b/src/lib/third_party/numerics/ARPACK/cnaitr.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/cnapps.c b/src/lib/third_party/numerics/ARPACK/cnapps.c -index 0c4a6a2..4929fc1 100755 ---- a/src/lib/third_party/numerics/ARPACK/cnapps.c -+++ b/src/lib/third_party/numerics/ARPACK/cnapps.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/cnaup2.c b/src/lib/third_party/numerics/ARPACK/cnaup2.c -index 8322446..2d98e4b 100755 ---- a/src/lib/third_party/numerics/ARPACK/cnaup2.c -+++ b/src/lib/third_party/numerics/ARPACK/cnaup2.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/cnaupd.c b/src/lib/third_party/numerics/ARPACK/cnaupd.c -index e51f72e..4fe5dca 100755 ---- a/src/lib/third_party/numerics/ARPACK/cnaupd.c -+++ b/src/lib/third_party/numerics/ARPACK/cnaupd.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/cneigh.c b/src/lib/third_party/numerics/ARPACK/cneigh.c -index d96bebd..adfa279 100755 ---- a/src/lib/third_party/numerics/ARPACK/cneigh.c -+++ b/src/lib/third_party/numerics/ARPACK/cneigh.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/cneupd.c b/src/lib/third_party/numerics/ARPACK/cneupd.c -index 6a839e7..35fc426 100755 ---- a/src/lib/third_party/numerics/ARPACK/cneupd.c -+++ b/src/lib/third_party/numerics/ARPACK/cneupd.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/cngets.c b/src/lib/third_party/numerics/ARPACK/cngets.c -index 9788d00..663406f 100755 ---- a/src/lib/third_party/numerics/ARPACK/cngets.c -+++ b/src/lib/third_party/numerics/ARPACK/cngets.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/csortc.c b/src/lib/third_party/numerics/ARPACK/csortc.c -index 8c6cedb..0d330fe 100755 ---- a/src/lib/third_party/numerics/ARPACK/csortc.c -+++ b/src/lib/third_party/numerics/ARPACK/csortc.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* \BeginDoc */ - - /* \Name: csortc */ -diff --git a/src/lib/third_party/numerics/ARPACK/cstatn.c b/src/lib/third_party/numerics/ARPACK/cstatn.c -index 6fcde6d..4eb47dc 100755 ---- a/src/lib/third_party/numerics/ARPACK/cstatn.c -+++ b/src/lib/third_party/numerics/ARPACK/cstatn.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dgetv0.c b/src/lib/third_party/numerics/ARPACK/dgetv0.c -index 0f4c2bb..2206708 100755 ---- a/src/lib/third_party/numerics/ARPACK/dgetv0.c -+++ b/src/lib/third_party/numerics/ARPACK/dgetv0.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dlaqrb.c b/src/lib/third_party/numerics/ARPACK/dlaqrb.c -index baa4f12..d4275a7 100755 ---- a/src/lib/third_party/numerics/ARPACK/dlaqrb.c -+++ b/src/lib/third_party/numerics/ARPACK/dlaqrb.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Table of constant values */ - - static integer c__1 = 1; -diff --git a/src/lib/third_party/numerics/ARPACK/dnaitr.c b/src/lib/third_party/numerics/ARPACK/dnaitr.c -index 8fffe7f..74eca38 100755 ---- a/src/lib/third_party/numerics/ARPACK/dnaitr.c -+++ b/src/lib/third_party/numerics/ARPACK/dnaitr.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dnapps.c b/src/lib/third_party/numerics/ARPACK/dnapps.c -index 67dac36..b0083a1 100755 ---- a/src/lib/third_party/numerics/ARPACK/dnapps.c -+++ b/src/lib/third_party/numerics/ARPACK/dnapps.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dnaup2.c b/src/lib/third_party/numerics/ARPACK/dnaup2.c -index 28dabb6..8b48f33 100755 ---- a/src/lib/third_party/numerics/ARPACK/dnaup2.c -+++ b/src/lib/third_party/numerics/ARPACK/dnaup2.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dnaupd.c b/src/lib/third_party/numerics/ARPACK/dnaupd.c -index e20298c..dcfaf47 100755 ---- a/src/lib/third_party/numerics/ARPACK/dnaupd.c -+++ b/src/lib/third_party/numerics/ARPACK/dnaupd.c -@@ -11,7 +11,7 @@ - */ - - #include "protos.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dnconv.c b/src/lib/third_party/numerics/ARPACK/dnconv.c -index e2324b7..aa0bf91 100755 ---- a/src/lib/third_party/numerics/ARPACK/dnconv.c -+++ b/src/lib/third_party/numerics/ARPACK/dnconv.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dneigh.c b/src/lib/third_party/numerics/ARPACK/dneigh.c -index b7057eb..94e3680 100755 ---- a/src/lib/third_party/numerics/ARPACK/dneigh.c -+++ b/src/lib/third_party/numerics/ARPACK/dneigh.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dneupd.c b/src/lib/third_party/numerics/ARPACK/dneupd.c -index 141255d..067041b 100755 ---- a/src/lib/third_party/numerics/ARPACK/dneupd.c -+++ b/src/lib/third_party/numerics/ARPACK/dneupd.c -@@ -11,7 +11,7 @@ - */ - - #include "protos.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dngets.c b/src/lib/third_party/numerics/ARPACK/dngets.c -index 9b0ee73..e39848f 100755 ---- a/src/lib/third_party/numerics/ARPACK/dngets.c -+++ b/src/lib/third_party/numerics/ARPACK/dngets.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dsaitr.c b/src/lib/third_party/numerics/ARPACK/dsaitr.c -index 2f3df52..89a597a 100755 ---- a/src/lib/third_party/numerics/ARPACK/dsaitr.c -+++ b/src/lib/third_party/numerics/ARPACK/dsaitr.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dsapps.c b/src/lib/third_party/numerics/ARPACK/dsapps.c -index e87b27d..4a320c9 100755 ---- a/src/lib/third_party/numerics/ARPACK/dsapps.c -+++ b/src/lib/third_party/numerics/ARPACK/dsapps.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dsaup2.c b/src/lib/third_party/numerics/ARPACK/dsaup2.c -index e5f224f..b93e80b 100755 ---- a/src/lib/third_party/numerics/ARPACK/dsaup2.c -+++ b/src/lib/third_party/numerics/ARPACK/dsaup2.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dsaupd.c b/src/lib/third_party/numerics/ARPACK/dsaupd.c -index a9e456f..d20ebe2 100755 ---- a/src/lib/third_party/numerics/ARPACK/dsaupd.c -+++ b/src/lib/third_party/numerics/ARPACK/dsaupd.c -@@ -11,7 +11,7 @@ - */ - - #include "protos.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dsconv.c b/src/lib/third_party/numerics/ARPACK/dsconv.c -index 843ac29..25e3b8f 100755 ---- a/src/lib/third_party/numerics/ARPACK/dsconv.c -+++ b/src/lib/third_party/numerics/ARPACK/dsconv.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dseigt.c b/src/lib/third_party/numerics/ARPACK/dseigt.c -index c7e975b..ba74d2f 100755 ---- a/src/lib/third_party/numerics/ARPACK/dseigt.c -+++ b/src/lib/third_party/numerics/ARPACK/dseigt.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dsesrt.c b/src/lib/third_party/numerics/ARPACK/dsesrt.c -index 1bf99ee..8a2030f 100755 ---- a/src/lib/third_party/numerics/ARPACK/dsesrt.c -+++ b/src/lib/third_party/numerics/ARPACK/dsesrt.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Table of constant values */ - - static integer c__1 = 1; -diff --git a/src/lib/third_party/numerics/ARPACK/dseupd.c b/src/lib/third_party/numerics/ARPACK/dseupd.c -index 9b81477..065e4d8 100755 ---- a/src/lib/third_party/numerics/ARPACK/dseupd.c -+++ b/src/lib/third_party/numerics/ARPACK/dseupd.c -@@ -11,7 +11,7 @@ - */ - - #include "protos.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dsgets.c b/src/lib/third_party/numerics/ARPACK/dsgets.c -index 7983ec8..19a33d9 100755 ---- a/src/lib/third_party/numerics/ARPACK/dsgets.c -+++ b/src/lib/third_party/numerics/ARPACK/dsgets.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dsortc.c b/src/lib/third_party/numerics/ARPACK/dsortc.c -index 2170fcc..131ae2f 100755 ---- a/src/lib/third_party/numerics/ARPACK/dsortc.c -+++ b/src/lib/third_party/numerics/ARPACK/dsortc.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* ----------------------------------------------------------------------- */ - /* \BeginDoc */ - -diff --git a/src/lib/third_party/numerics/ARPACK/dsortr.c b/src/lib/third_party/numerics/ARPACK/dsortr.c -index 5f8dca8..335d9a9 100755 ---- a/src/lib/third_party/numerics/ARPACK/dsortr.c -+++ b/src/lib/third_party/numerics/ARPACK/dsortr.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* ----------------------------------------------------------------------- */ - /* \BeginDoc */ - -diff --git a/src/lib/third_party/numerics/ARPACK/dstatn.c b/src/lib/third_party/numerics/ARPACK/dstatn.c -index 50c15f2..1909d6d 100755 ---- a/src/lib/third_party/numerics/ARPACK/dstatn.c -+++ b/src/lib/third_party/numerics/ARPACK/dstatn.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dstats.c b/src/lib/third_party/numerics/ARPACK/dstats.c -index 4341eea..02f4024 100755 ---- a/src/lib/third_party/numerics/ARPACK/dstats.c -+++ b/src/lib/third_party/numerics/ARPACK/dstats.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/dstqrb.c b/src/lib/third_party/numerics/ARPACK/dstqrb.c -index 2a10880..c25f44d 100755 ---- a/src/lib/third_party/numerics/ARPACK/dstqrb.c -+++ b/src/lib/third_party/numerics/ARPACK/dstqrb.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Table of constant values */ - - static integer c__0 = 0; -diff --git a/src/lib/third_party/numerics/ARPACK/protos.h b/src/lib/third_party/numerics/ARPACK/protos.h -index 2e87fe7..09a89fc 100755 ---- a/src/lib/third_party/numerics/ARPACK/protos.h -+++ b/src/lib/third_party/numerics/ARPACK/protos.h -@@ -8,7 +8,7 @@ - - #include - #include "f2c.h" -- -+#include "arpack_cnames.h" - int NUMERICS_API dnaupd_( - integer *ido, char *bmat, integer *n, char * - which, integer *nev, doublereal *tol, doublereal *resid, integer *ncv, -diff --git a/src/lib/third_party/numerics/ARPACK/sgetv0.c b/src/lib/third_party/numerics/ARPACK/sgetv0.c -index 206122a..314252f 100755 ---- a/src/lib/third_party/numerics/ARPACK/sgetv0.c -+++ b/src/lib/third_party/numerics/ARPACK/sgetv0.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/slaqrb.c b/src/lib/third_party/numerics/ARPACK/slaqrb.c -index 335faa2..12cc92a 100755 ---- a/src/lib/third_party/numerics/ARPACK/slaqrb.c -+++ b/src/lib/third_party/numerics/ARPACK/slaqrb.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Table of constant values */ - - static integer c__1 = 1; -diff --git a/src/lib/third_party/numerics/ARPACK/snaitr.c b/src/lib/third_party/numerics/ARPACK/snaitr.c -index 5e24f6c..f3bc2fa 100755 ---- a/src/lib/third_party/numerics/ARPACK/snaitr.c -+++ b/src/lib/third_party/numerics/ARPACK/snaitr.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/snapps.c b/src/lib/third_party/numerics/ARPACK/snapps.c -index 37470fc..9ae03e4 100755 ---- a/src/lib/third_party/numerics/ARPACK/snapps.c -+++ b/src/lib/third_party/numerics/ARPACK/snapps.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/snaup2.c b/src/lib/third_party/numerics/ARPACK/snaup2.c -index 4028150..f893a8e 100755 ---- a/src/lib/third_party/numerics/ARPACK/snaup2.c -+++ b/src/lib/third_party/numerics/ARPACK/snaup2.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/snaupd.c b/src/lib/third_party/numerics/ARPACK/snaupd.c -index 88118f0..66fac19 100755 ---- a/src/lib/third_party/numerics/ARPACK/snaupd.c -+++ b/src/lib/third_party/numerics/ARPACK/snaupd.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/snconv.c b/src/lib/third_party/numerics/ARPACK/snconv.c -index 4984455..cb42561 100755 ---- a/src/lib/third_party/numerics/ARPACK/snconv.c -+++ b/src/lib/third_party/numerics/ARPACK/snconv.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/sneigh.c b/src/lib/third_party/numerics/ARPACK/sneigh.c -index 4ff7d7a..a8b3ffc 100755 ---- a/src/lib/third_party/numerics/ARPACK/sneigh.c -+++ b/src/lib/third_party/numerics/ARPACK/sneigh.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/sneupd.c b/src/lib/third_party/numerics/ARPACK/sneupd.c -index e2a7205..430f033 100755 ---- a/src/lib/third_party/numerics/ARPACK/sneupd.c -+++ b/src/lib/third_party/numerics/ARPACK/sneupd.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/sngets.c b/src/lib/third_party/numerics/ARPACK/sngets.c -index 5a13f94..1c34e92 100755 ---- a/src/lib/third_party/numerics/ARPACK/sngets.c -+++ b/src/lib/third_party/numerics/ARPACK/sngets.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/ssaitr.c b/src/lib/third_party/numerics/ARPACK/ssaitr.c -index 65a61f6..98fbb1c 100755 ---- a/src/lib/third_party/numerics/ARPACK/ssaitr.c -+++ b/src/lib/third_party/numerics/ARPACK/ssaitr.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/ssapps.c b/src/lib/third_party/numerics/ARPACK/ssapps.c -index 9537c2f..b979fb1 100755 ---- a/src/lib/third_party/numerics/ARPACK/ssapps.c -+++ b/src/lib/third_party/numerics/ARPACK/ssapps.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/ssaup2.c b/src/lib/third_party/numerics/ARPACK/ssaup2.c -index a5123dc..59e08aa 100755 ---- a/src/lib/third_party/numerics/ARPACK/ssaup2.c -+++ b/src/lib/third_party/numerics/ARPACK/ssaup2.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/ssaupd.c b/src/lib/third_party/numerics/ARPACK/ssaupd.c -index 5898148..32ba0b0 100755 ---- a/src/lib/third_party/numerics/ARPACK/ssaupd.c -+++ b/src/lib/third_party/numerics/ARPACK/ssaupd.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/ssconv.c b/src/lib/third_party/numerics/ARPACK/ssconv.c -index 0e1c9c2..90faa50 100755 ---- a/src/lib/third_party/numerics/ARPACK/ssconv.c -+++ b/src/lib/third_party/numerics/ARPACK/ssconv.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/sseigt.c b/src/lib/third_party/numerics/ARPACK/sseigt.c -index 6b9e407..6652b74 100755 ---- a/src/lib/third_party/numerics/ARPACK/sseigt.c -+++ b/src/lib/third_party/numerics/ARPACK/sseigt.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/ssesrt.c b/src/lib/third_party/numerics/ARPACK/ssesrt.c -index 9287d6a..d6bcd6d 100755 ---- a/src/lib/third_party/numerics/ARPACK/ssesrt.c -+++ b/src/lib/third_party/numerics/ARPACK/ssesrt.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Table of constant values */ - - static integer c__1 = 1; -diff --git a/src/lib/third_party/numerics/ARPACK/sseupd.c b/src/lib/third_party/numerics/ARPACK/sseupd.c -index 163df3a..b0e825f 100755 ---- a/src/lib/third_party/numerics/ARPACK/sseupd.c -+++ b/src/lib/third_party/numerics/ARPACK/sseupd.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/ssgets.c b/src/lib/third_party/numerics/ARPACK/ssgets.c -index 244f2ab..52127c2 100755 ---- a/src/lib/third_party/numerics/ARPACK/ssgets.c -+++ b/src/lib/third_party/numerics/ARPACK/ssgets.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/ssortc.c b/src/lib/third_party/numerics/ARPACK/ssortc.c -index aa836f7..38b5fbd 100755 ---- a/src/lib/third_party/numerics/ARPACK/ssortc.c -+++ b/src/lib/third_party/numerics/ARPACK/ssortc.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* ----------------------------------------------------------------------- */ - /* \BeginDoc */ - -diff --git a/src/lib/third_party/numerics/ARPACK/ssortr.c b/src/lib/third_party/numerics/ARPACK/ssortr.c -index e48fb1c..88db423 100755 ---- a/src/lib/third_party/numerics/ARPACK/ssortr.c -+++ b/src/lib/third_party/numerics/ARPACK/ssortr.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* ----------------------------------------------------------------------- */ - /* \BeginDoc */ - -diff --git a/src/lib/third_party/numerics/ARPACK/sstatn.c b/src/lib/third_party/numerics/ARPACK/sstatn.c -index fc899df..26d49b9 100755 ---- a/src/lib/third_party/numerics/ARPACK/sstatn.c -+++ b/src/lib/third_party/numerics/ARPACK/sstatn.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/sstats.c b/src/lib/third_party/numerics/ARPACK/sstats.c -index 6601d2e..61577e2 100755 ---- a/src/lib/third_party/numerics/ARPACK/sstats.c -+++ b/src/lib/third_party/numerics/ARPACK/sstats.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/sstqrb.c b/src/lib/third_party/numerics/ARPACK/sstqrb.c -index 4c7bf91..2a416e2 100755 ---- a/src/lib/third_party/numerics/ARPACK/sstqrb.c -+++ b/src/lib/third_party/numerics/ARPACK/sstqrb.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Table of constant values */ - - static integer c__0 = 0; -diff --git a/src/lib/third_party/numerics/ARPACK/zgetv0.c b/src/lib/third_party/numerics/ARPACK/zgetv0.c -index 96d3c48..d868c1f 100755 ---- a/src/lib/third_party/numerics/ARPACK/zgetv0.c -+++ b/src/lib/third_party/numerics/ARPACK/zgetv0.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/znaitr.c b/src/lib/third_party/numerics/ARPACK/znaitr.c -index 2ce6b9c..c8cf0f6 100755 ---- a/src/lib/third_party/numerics/ARPACK/znaitr.c -+++ b/src/lib/third_party/numerics/ARPACK/znaitr.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/znapps.c b/src/lib/third_party/numerics/ARPACK/znapps.c -index 732aed0..30f46e6 100755 ---- a/src/lib/third_party/numerics/ARPACK/znapps.c -+++ b/src/lib/third_party/numerics/ARPACK/znapps.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/znaup2.c b/src/lib/third_party/numerics/ARPACK/znaup2.c -index b7caa42..7164775 100755 ---- a/src/lib/third_party/numerics/ARPACK/znaup2.c -+++ b/src/lib/third_party/numerics/ARPACK/znaup2.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/znaupd.c b/src/lib/third_party/numerics/ARPACK/znaupd.c -index ed251ee..f960959 100755 ---- a/src/lib/third_party/numerics/ARPACK/znaupd.c -+++ b/src/lib/third_party/numerics/ARPACK/znaupd.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/zneigh.c b/src/lib/third_party/numerics/ARPACK/zneigh.c -index 4157ab3..4ee3c1e 100755 ---- a/src/lib/third_party/numerics/ARPACK/zneigh.c -+++ b/src/lib/third_party/numerics/ARPACK/zneigh.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/zneupd.c b/src/lib/third_party/numerics/ARPACK/zneupd.c -index 3f684f4..3ef32c1 100755 ---- a/src/lib/third_party/numerics/ARPACK/zneupd.c -+++ b/src/lib/third_party/numerics/ARPACK/zneupd.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/zngets.c b/src/lib/third_party/numerics/ARPACK/zngets.c -index a2e461b..97bbebd 100755 ---- a/src/lib/third_party/numerics/ARPACK/zngets.c -+++ b/src/lib/third_party/numerics/ARPACK/zngets.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { -diff --git a/src/lib/third_party/numerics/ARPACK/zsortc.c b/src/lib/third_party/numerics/ARPACK/zsortc.c -index a35748c..38dbc42 100755 ---- a/src/lib/third_party/numerics/ARPACK/zsortc.c -+++ b/src/lib/third_party/numerics/ARPACK/zsortc.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* \BeginDoc */ - - /* \Name: zsortc */ -diff --git a/src/lib/third_party/numerics/ARPACK/zstatn.c b/src/lib/third_party/numerics/ARPACK/zstatn.c -index d433e97..5a8bd1e 100755 ---- a/src/lib/third_party/numerics/ARPACK/zstatn.c -+++ b/src/lib/third_party/numerics/ARPACK/zstatn.c -@@ -11,7 +11,7 @@ - */ - - #include "f2c.h" -- -+#include "arpack_cnames.h" - /* Common Block Declarations */ - - struct { From d92b72c1feb58544223da750ca2466254053d58c Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 24 Jun 2019 12:12:55 +0200 Subject: [PATCH 12/20] Delete fix_underscore.patch --- ports/geogram/fix_underscore.patch | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 ports/geogram/fix_underscore.patch diff --git a/ports/geogram/fix_underscore.patch b/ports/geogram/fix_underscore.patch deleted file mode 100644 index eeb5a30cb1ab22..00000000000000 --- a/ports/geogram/fix_underscore.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff --git a/src/lib/third_party/numerics/SUPERLU/slu_Cnames.h b/src/lib/third_party/numerics/SUPERLU/slu_Cnames.h -index 68b3afe..0369a68 100755 ---- a/src/lib/third_party/numerics/SUPERLU/slu_Cnames.h -+++ b/src/lib/third_party/numerics/SUPERLU/slu_Cnames.h -@@ -1,4 +1,4 @@ --#define Add_ /* Bruno */ -+#define NoChange - - /*! \file - Copyright (c) 2003, The Regents of the University of California, through From daf61a0aaf03dbe546ef374b1a903d0f5bcee94d Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 24 Jun 2019 12:13:20 +0200 Subject: [PATCH 13/20] Update portfile.cmake --- ports/geogram/portfile.cmake | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ports/geogram/portfile.cmake b/ports/geogram/portfile.cmake index 9584e66195b9d9..5da48ff893eade 100644 --- a/ports/geogram/portfile.cmake +++ b/ports/geogram/portfile.cmake @@ -8,17 +8,12 @@ vcpkg_download_distfile(ARCHIVE SHA512 1b5c7540bef734c1908f213f26780aba63b4911a8022d5eb3f7c90eabe2cb69efd1f298b30cdc8e2c636a5b37c8c25832dd4aad0b7c2ff5f0a5b5caa17970136 ) -if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(ADDITIONAL_PATCHES "fix_underscore.patch" "enable_openblas_compatibility.patch") -endif() - vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH ARCHIVE ${ARCHIVE} REF ${GEOGRAM_VERSION} PATCHES fix-cmake-config-and-install.patch - ${ADDITIONAL_PATCHES} ) file(COPY ${CURRENT_PORT_DIR}/Config.cmake.in DESTINATION ${SOURCE_PATH}/cmake) From bc0755d3113c7f5f46eb83c7b4e0685837461531 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 1 Jul 2019 10:46:25 +0200 Subject: [PATCH 14/20] correct control version bump --- ports/clapack/CONTROL | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/clapack/CONTROL b/ports/clapack/CONTROL index 32f454372b6055..9e7328e70ab19a 100644 --- a/ports/clapack/CONTROL +++ b/ports/clapack/CONTROL @@ -1,4 +1,5 @@ Source: clapack -Version: 3.2.1-7 +Version: 3.2.1-10 +Homepage: https://www.netlib.org/clapack Description: CLAPACK (f2c'ed version of LAPACK) Build-Depends: openblas (!osx) From c4ebc2af06eebfa0558b49ca4d32403d298d7af8 Mon Sep 17 00:00:00 2001 From: Alexander Neumann <30894796+Neumann-A@users.noreply.github.com> Date: Mon, 1 Jul 2019 10:47:57 +0200 Subject: [PATCH 15/20] fix control version bump --- ports/openblas/CONTROL | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ports/openblas/CONTROL b/ports/openblas/CONTROL index 9212a9089d2fb3..47b9430a9a9d56 100644 --- a/ports/openblas/CONTROL +++ b/ports/openblas/CONTROL @@ -1,4 +1,5 @@ Source: openblas -Version: 0.3.6-3 +Version: 0.3.6-5 +Homepage: https://github.com/xianyi/OpenBLAS Build-Depends: pthread (linux) Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version. From 10ac3d8154ac8217442e067b714f1e81faa0b393 Mon Sep 17 00:00:00 2001 From: Daniel <51385773+dan-shaw@users.noreply.github.com> Date: Tue, 16 Jul 2019 13:02:09 -0700 Subject: [PATCH 16/20] bump control --- ports/mlpack/CONTROL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/mlpack/CONTROL b/ports/mlpack/CONTROL index 0902ce8940ae93..e76327ca520010 100644 --- a/ports/mlpack/CONTROL +++ b/ports/mlpack/CONTROL @@ -1,5 +1,5 @@ Source: mlpack -Version: 3.1.1 +Version: 3.1.1-1 Description: mlpack is a fast, flexible machine learning library, written in C++, that aims to provide fast, extensible implementations of cutting-edge machine learning algorithms. Build-Depends: openblas (!osx), clapack (!osx), boost, armadillo, ensmallen From bc0a48c1ec366d0ad1b31c6978aadca44236479a Mon Sep 17 00:00:00 2001 From: Daniel <51385773+dan-shaw@users.noreply.github.com> Date: Tue, 16 Jul 2019 13:04:54 -0700 Subject: [PATCH 17/20] remove comments --- ports/openblas/portfile.cmake | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ports/openblas/portfile.cmake b/ports/openblas/portfile.cmake index 254866ef89620e..179491cc4aa919 100644 --- a/ports/openblas/portfile.cmake +++ b/ports/openblas/portfile.cmake @@ -1,6 +1,4 @@ include(vcpkg_common_functions) -#DYNAMIC_ARCH -#NUM_THREADS if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") message(FATAL_ERROR "openblas can only be built for x64 currently") @@ -28,8 +26,7 @@ vcpkg_find_acquire_program(PERL) get_filename_component(PERL_EXE_PATH ${PERL} DIRECTORY) set(ENV{PATH} "$ENV{PATH};${PERL_EXE_PATH};${SED_EXE_PATH}") -set(COMMON_OPTIONS - -DBUILD_WITHOUT_LAPACK=ON) +set(COMMON_OPTIONS -DBUILD_WITHOUT_LAPACK=ON) # for UWP version, must build non uwp first for helper # binaries. From cb66fefc5a262627b9845db8ddd17d2862c2b414 Mon Sep 17 00:00:00 2001 From: Daniel <51385773+dan-shaw@users.noreply.github.com> Date: Tue, 16 Jul 2019 13:17:34 -0700 Subject: [PATCH 18/20] remove lines in patch file --- ports/clapack/remove_internal_blas.patch | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/ports/clapack/remove_internal_blas.patch b/ports/clapack/remove_internal_blas.patch index 471d87a87aa6fa..3b8c59b4c8a927 100644 --- a/ports/clapack/remove_internal_blas.patch +++ b/ports/clapack/remove_internal_blas.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 320ccc6..284e9d3 100755 +index 320ccc6..414ac8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,6 @@ @@ -45,7 +45,7 @@ index 320ccc6..284e9d3 100755 + DESTINATION include) + diff --git a/F2CLIBS/libf2c/CMakeLists.txt b/F2CLIBS/libf2c/CMakeLists.txt -index 43d7b3f..6fa3598 100755 +index 43d7b3f..6fa3598 100644 --- a/F2CLIBS/libf2c/CMakeLists.txt +++ b/F2CLIBS/libf2c/CMakeLists.txt @@ -60,3 +60,11 @@ include_directories(${CLAPACK_SOURCE_DIR}/F2CLIBS/libf2c) @@ -61,7 +61,7 @@ index 43d7b3f..6fa3598 100755 + ARCHIVE DESTINATION lib) + diff --git a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt -index ac4cce3..07dc8c7 100755 +index ac4cce3..07dc8c7 100644 --- a/SRC/CMakeLists.txt +++ b/SRC/CMakeLists.txt @@ -376,5 +376,9 @@ if(BUILD_COMPLEX16) @@ -75,10 +75,3 @@ index ac4cce3..07dc8c7 100755 + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) -diff --git a/clapack-config.cmake.in b/clapack-config.cmake.in -index cd19f1d..597f474 100755 ---- a/clapack-config.cmake.in -+++ b/clapack-config.cmake.in -@@ -1 +1 @@ --include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake") -+include("@CLAPACK_BINARY_DIR@/clapack-targets.cmake") From c73791ecb3f4a860c1d7b63a58a2a6d398a75357 Mon Sep 17 00:00:00 2001 From: Daniel <51385773+dan-shaw@users.noreply.github.com> Date: Tue, 16 Jul 2019 13:43:46 -0700 Subject: [PATCH 19/20] remove comment --- ports/mlpack/blas_lapack.patch | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/ports/mlpack/blas_lapack.patch b/ports/mlpack/blas_lapack.patch index d330fa8cb51559..2b9e4459766a2f 100644 --- a/ports/mlpack/blas_lapack.patch +++ b/ports/mlpack/blas_lapack.patch @@ -1,15 +1,13 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0b350cd8c..251f8a69e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -286,7 +286,8 @@ if (WIN32) +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b158498..50f1def 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -286,7 +286,7 @@ if (WIN32) find_package(LAPACK) find_package(BLAS) set(ARMADILLO_LIBRARIES - ${ARMADILLO_LIBRARIES} ${BLAS_LIBRARY} ${LAPACK_LIBRARY}) + ${ARMADILLO_LIBRARIES} ${LAPACK_LIBRARIES} ${BLAS_LIBRARIES}) -+ message(STATUS ${ARMADILLO_LIBRARIES}) endif () # Include directories for the previous dependencies. - From b12fe6953c14366497b8ba5f474a8a43e950b102 Mon Sep 17 00:00:00 2001 From: Daniel <51385773+dan-shaw@users.noreply.github.com> Date: Tue, 16 Jul 2019 15:11:42 -0700 Subject: [PATCH 20/20] remove unused var --- ports/clapack/FindLAPACK.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/ports/clapack/FindLAPACK.cmake b/ports/clapack/FindLAPACK.cmake index 2ed694cc4f192b..0b5924ff4a4280 100644 --- a/ports/clapack/FindLAPACK.cmake +++ b/ports/clapack/FindLAPACK.cmake @@ -184,7 +184,6 @@ if(_libraries_work) check_fortran_function_exists(${_name} ${_prefix}${_combined_name}_WORKS) endif () set(CMAKE_REQUIRED_LIBRARIES) - set(_test_libs) set(_test_blas) set(_libraries_work ${${_prefix}${_combined_name}_WORKS}) # message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")