mirror of https://github.com/microsoft/vcpkg.git
[hypre] Update to 2.19.0 (#13252)
Co-authored-by: wangli28 <wangli28@beyondsoft.com>
This commit is contained in:
parent
d73ead568b
commit
ced9dfb8e2
|
|
@ -1,5 +1,5 @@
|
|||
Source: hypre
|
||||
Version: 2.11.2-3
|
||||
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
|
||||
Build-Depends: mpi, openblas, lapack
|
||||
|
|
|
|||
|
|
@ -1,33 +0,0 @@
|
|||
--- a/src/blas/f2c.h Fri Sep 11 18:57:56 2015
|
||||
+++ b/src/blas/f2c.h Thu Dec 22 18:20:08 2016
|
||||
@@ -190,18 +190,18 @@
|
||||
typedef struct Namelist Namelist;
|
||||
|
||||
/* The following undefs are to prevent conflicts with external libraries */
|
||||
-#undef abs
|
||||
-#define abs(x) ((x) >= 0 ? (x) : -(x))
|
||||
-#define dabs(x) (doublereal)abs(x)
|
||||
-#ifndef min
|
||||
-#define min(a,b) ((a) <= (b) ? (a) : (b))
|
||||
-#define max(a,b) ((a) >= (b) ? (a) : (b))
|
||||
-#endif
|
||||
-#define dmin(a,b) (doublereal)min(a,b)
|
||||
-#define dmax(a,b) (doublereal)max(a,b)
|
||||
-#define bit_test(a,b) ((a) >> (b) & 1)
|
||||
-#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
|
||||
-#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
|
||||
+//#undef abs
|
||||
+//#define abs(x) ((x) >= 0 ? (x) : -(x))
|
||||
+//#define dabs(x) (doublereal)abs(x)
|
||||
+//#ifndef min
|
||||
+//#define min(a,b) ((a) <= (b) ? (a) : (b))
|
||||
+//#define max(a,b) ((a) >= (b) ? (a) : (b))
|
||||
+//#endif
|
||||
+//#define dmin(a,b) (doublereal)min(a,b)
|
||||
+//#define dmax(a,b) (doublereal)max(a,b)
|
||||
+//#define bit_test(a,b) ((a) >> (b) & 1)
|
||||
+//#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
|
||||
+//#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
|
||||
|
||||
/* procedure parameter types for -A and -C++ */
|
||||
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
--- a/src/utilities/_hypre_utilities.h Thu Jun 09 15:56:18 2016
|
||||
+++ b/src/utilities/_hypre_utilities.h Wed Jan 04 18:08:27 2017
|
||||
@@ -13,6 +13,7 @@
|
||||
#ifndef hypre_UTILITIES_HEADER
|
||||
#define hypre_UTILITIES_HEADER
|
||||
|
||||
+#include "_hypre_export.h"
|
||||
#include "HYPRE_utilities.h"
|
||||
|
||||
#ifdef HYPRE_USING_OPENMP
|
||||
@@ -610,7 +611,7 @@
|
||||
#ifdef HYPRE_TIMING_GLOBALS
|
||||
hypre_TimingType *hypre_global_timing = NULL;
|
||||
#else
|
||||
-extern hypre_TimingType *hypre_global_timing;
|
||||
+extern HYPRE_EXPORT hypre_TimingType *hypre_global_timing;
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------
|
||||
@@ -781,7 +782,7 @@
|
||||
* Global variable used in hypre error checking
|
||||
*--------------------------------------------------------------------------*/
|
||||
|
||||
-extern HYPRE_Int hypre__global_error;
|
||||
+extern HYPRE_EXPORT HYPRE_Int hypre__global_error;
|
||||
#define hypre_error_flag hypre__global_error
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
--- a/src/lapack/f2c.h Fri Sep 11 18:57:56 2015
|
||||
+++ b/src/lapack/f2c.h Thu Dec 22 18:22:26 2016
|
||||
@@ -190,18 +190,18 @@
|
||||
typedef struct Namelist Namelist;
|
||||
|
||||
/* The following undefs are to prevent conflicts with external libraries */
|
||||
-#undef abs
|
||||
-#define abs(x) ((x) >= 0 ? (x) : -(x))
|
||||
-#define dabs(x) (doublereal)abs(x)
|
||||
-#ifndef min
|
||||
-#define min(a,b) ((a) <= (b) ? (a) : (b))
|
||||
-#define max(a,b) ((a) >= (b) ? (a) : (b))
|
||||
-#endif
|
||||
-#define dmin(a,b) (doublereal)min(a,b)
|
||||
-#define dmax(a,b) (doublereal)max(a,b)
|
||||
-#define bit_test(a,b) ((a) >> (b) & 1)
|
||||
-#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
|
||||
-#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
|
||||
+//#undef abs
|
||||
+//#define abs(x) ((x) >= 0 ? (x) : -(x))
|
||||
+//#define dabs(x) (doublereal)abs(x)
|
||||
+//#ifndef min
|
||||
+//#define min(a,b) ((a) <= (b) ? (a) : (b))
|
||||
+//#define max(a,b) ((a) >= (b) ? (a) : (b))
|
||||
+//#endif
|
||||
+//#define dmin(a,b) (doublereal)min(a,b)
|
||||
+//#define dmax(a,b) (doublereal)max(a,b)
|
||||
+//#define bit_test(a,b) ((a) >> (b) & 1)
|
||||
+//#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
|
||||
+//#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
|
||||
|
||||
/* procedure parameter types for -A and -C++ */
|
||||
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
--- a/src/struct_ls/pfmg3_setup_rap.c Thu Jun 09 15:56:18 2016
|
||||
+++ b/src/struct_ls/pfmg3_setup_rap.c Thu Dec 22 17:45:20 2016
|
||||
@@ -19,13 +19,28 @@
|
||||
* allow for coarsening to be done in the x- and y-directions also.
|
||||
*--------------------------------------------------------------------------*/
|
||||
|
||||
-#define MapIndex(in_index, cdir, out_index) \
|
||||
- hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 2); \
|
||||
- cdir = (cdir + 1) % 3; \
|
||||
- hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 0); \
|
||||
- cdir = (cdir + 1) % 3; \
|
||||
- hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 1); \
|
||||
- cdir = (cdir + 1) % 3;
|
||||
+//#define MapIndex(in_index, cdir, out_index) \
|
||||
+// hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 2); \
|
||||
+// cdir = (cdir + 1) % 3; \
|
||||
+// hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 0); \
|
||||
+// cdir = (cdir + 1) % 3; \
|
||||
+// hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 1); \
|
||||
+// cdir = (cdir + 1) % 3;
|
||||
+
|
||||
+template<typename T, typename U, typename V>
|
||||
+void MapIndex(T& in_index, U& cdir, V& out_index)
|
||||
+{
|
||||
+ if(cdir > 3) cdir = cdir - (cdir / 3) * 3;
|
||||
+ hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 2);
|
||||
+ if(cdir == 3) cdir = 1;
|
||||
+ else ++cdir;
|
||||
+ hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 0);
|
||||
+ if(cdir == 3) cdir = 1;
|
||||
+ else ++cdir;
|
||||
+ hypre_IndexD(out_index, cdir) = hypre_IndexD(in_index, 1);
|
||||
+ if(cdir == 3) cdir = 1;
|
||||
+ else ++cdir;
|
||||
+}
|
||||
|
||||
/*--------------------------------------------------------------------------
|
||||
* Sets up new coarse grid operator stucture.
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
--- a/src/CMakeLists.txt Mon Mar 13 21:37:24 2017
|
||||
+++ b/src/CMakeLists.txt Sun Aug 06 19:34:00 2017
|
||||
@@ -1,6 +1,8 @@
|
||||
cmake_minimum_required (VERSION 2.8.8)
|
||||
project (hypre)
|
||||
|
||||
+include(GenerateExportHeader)
|
||||
+
|
||||
# The version number.
|
||||
set (HYPRE_VERSION 2.11.2)
|
||||
set (HYPRE_DATE 2017/03/13)
|
||||
@@ -618,6 +620,8 @@
|
||||
struct_ls/sparse_msg_solve.c
|
||||
)
|
||||
|
||||
+set_source_files_properties(struct_ls/pfmg3_setup_rap.c PROPERTIES LANGUAGE CXX)
|
||||
+
|
||||
# Headers and sources: sstruct_mv
|
||||
list (APPEND HYPRE_HEADERS
|
||||
sstruct_mv/HYPRE_sstruct_mv.h
|
||||
@@ -758,11 +762,11 @@
|
||||
find_package (MPI)
|
||||
if ((MPI_C_FOUND) AND (NOT CMAKE_C_COMPILER STREQUAL MPI_C_COMPILER))
|
||||
include_directories (${MPI_C_INCLUDE_PATH})
|
||||
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MPI_C_COMPILE_FLAGS}")
|
||||
+ #set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MPI_C_COMPILE_FLAGS}")
|
||||
endif ()
|
||||
if ((MPI_CXX_FOUND) AND (NOT CMAKE_CXX_COMPILER STREQUAL MPI_CXX_COMPILER))
|
||||
include_directories (${MPI_CXX_INCLUDE_PATH})
|
||||
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS}")
|
||||
+ #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS}")
|
||||
endif ()
|
||||
endif (NOT HYPRE_SEQUENTIAL)
|
||||
|
||||
@@ -807,7 +811,23 @@
|
||||
|
||||
add_library (HYPRE ${HYPRE_SOURCES} ${FEI_LIBS})
|
||||
|
||||
-install (TARGETS HYPRE DESTINATION lib)
|
||||
+if (NOT HYPRE_SEQUENTIAL)
|
||||
+ target_link_libraries(HYPRE ${MPI_C_LIBRARIES})
|
||||
+endif()
|
||||
+
|
||||
+if (WIN32 AND BUILD_SHARED_LIBS)
|
||||
+ set_target_properties(HYPRE PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||
+endif()
|
||||
+
|
||||
+generate_export_header(HYPRE EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/_hypre_export.h)
|
||||
+list(APPEND HYPRE_HEADERS ${CMAKE_BINARY_DIR}/_hypre_export.h)
|
||||
+
|
||||
+install (TARGETS HYPRE
|
||||
+ RUNTIME DESTINATION bin
|
||||
+ LIBRARY DESTINATION lib
|
||||
+ ARCHIVE DESTINATION lib
|
||||
+)
|
||||
+
|
||||
install (FILES ${HYPRE_HEADERS} DESTINATION include)
|
||||
|
||||
# add_subdirectory (test EXCLUDE_FROM_ALL)
|
||||
|
|
@ -1,20 +1,13 @@
|
|||
include(vcpkg_common_functions)
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
endif()
|
||||
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "http://computation.llnl.gov/projects/hypre-scalable-linear-solvers-multigrid-methods/download/hypre-2.11.2.tar.gz"
|
||||
FILENAME "hypre-2.11.2.tar.gz"
|
||||
SHA512 a06321028121e5420fa944ce4fae5f9b96e6021ec2802e68ec3c349f19a20543ed7eff774a4735666c5807ce124eb571b3f86757c67e91faa1c683c3f657469f
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive_ex(
|
||||
ARCHIVE ${ARCHIVE}
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
PATCHES
|
||||
fix-root-cmakelists.patch
|
||||
fix-macro-to-template.patch
|
||||
fix-blas-vs14-math.patch
|
||||
fix-lapack-vs14-math.patch
|
||||
fix-export-global-data-symbols.patch
|
||||
REPO hypre-space/hypre
|
||||
REF v2.19.0
|
||||
SHA512 999979bc2e7d32aef7c084fc8508fb818e6f904db0ee3ebf6b8e8132f290201c407aaba0aa89e7bf09e7264f4e99caf04f3147458847de816fc8ffc81dbee2df
|
||||
HEAD_REF master
|
||||
)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
||||
|
|
@ -28,6 +21,8 @@ vcpkg_configure_cmake(
|
|||
PREFER_NINJA
|
||||
OPTIONS
|
||||
${OPTIONS}
|
||||
-DHYPRE_ENABLE_HYPRE_BLAS=OFF
|
||||
-DHYPRE_ENABLE_HYPRE_LAPACK=OFF
|
||||
OPTIONS_RELEASE
|
||||
-DHYPRE_BUILD_TYPE=Release
|
||||
-DHYPRE_INSTALL_PREFIX=${CURRENT_PACKAGES_DIR}
|
||||
|
|
@ -39,7 +34,9 @@ vcpkg_configure_cmake(
|
|||
vcpkg_install_cmake()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/HYPRE)
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
# Handle copyright
|
||||
file(COPY ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/hypre/copyright)
|
||||
file(INSTALL ${SOURCE_PATH}/COPYRIGHT DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
Source: superlu
|
||||
Version: 2020-01-07
|
||||
Port-Verison: 1
|
||||
Build-Depends: openblas
|
||||
Description: Supernodal sparse direct solver.
|
||||
Homepage: https://github.com/xiaoyeli/superlu
|
||||
Supports: !(uwp|arm)
|
||||
|
|
@ -571,9 +571,6 @@ libhsplasma:x64-windows-static=fail
|
|||
hwloc:arm64-windows=fail
|
||||
hwloc:arm-uwp=fail
|
||||
hwloc:x64-uwp=fail
|
||||
# hypre has a conflict with 'superlu' port
|
||||
hypre:x64-linux=skip
|
||||
hypre:x64-osx=skip
|
||||
icu:arm64-windows=fail
|
||||
icu:arm-uwp=fail
|
||||
icu:x64-uwp=fail
|
||||
|
|
@ -1667,26 +1664,6 @@ stxxl:x64-uwp=fail
|
|||
sundials:arm64-windows=fail
|
||||
sundials:x64-windows=fail
|
||||
sundials:x86-windows=fail
|
||||
# Conflicts between ports:
|
||||
#The following files are already installed in C:/agent/_work/1/s/installed/x64-windows-static
|
||||
# and are in conflict with superlu:x64-windows-static
|
||||
#
|
||||
#Installed by hypre:x64-windows-static
|
||||
# include/slu_Cnames.h
|
||||
# include/slu_cdefs.h
|
||||
# include/slu_dcomplex.h
|
||||
# include/slu_ddefs.h
|
||||
# include/slu_scomplex.h
|
||||
# include/slu_sdefs.h
|
||||
# include/slu_util.h
|
||||
# include/slu_zdefs.h
|
||||
# include/supermatrix.h
|
||||
superlu:arm-uwp=skip
|
||||
superlu:arm-windows=skip
|
||||
superlu:arm64-windows=skip
|
||||
superlu:x64-uwp=skip
|
||||
superlu:x64-windows-static=skip
|
||||
superlu:x64-windows=skip
|
||||
systemc:arm64-windows=fail
|
||||
systemc:arm-uwp=fail
|
||||
systemc:x64-uwp=fail
|
||||
|
|
|
|||
Loading…
Reference in New Issue