summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO5
-rw-r--r--Makefile.kokkos.patch540
-rw-r--r--PKGBUILD12
3 files changed, 553 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 81af65c14391..e47c4f9e3386 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -6,14 +6,13 @@ pkgbase = trilinos
arch = x86_64
license = LGPL3
checkdepends = cmake
- makedepends = python2-numpy
makedepends = gcc-fortran
makedepends = perl
makedepends = blas
makedepends = cmake
makedepends = doxygen
+ depends = python
depends = lapack
- depends = python2
depends = boost
depends = netcdf
depends = libmatio
@@ -21,7 +20,9 @@ pkgbase = trilinos
depends = hdf5-openmpi
conflicts = gtest
source = https://github.com/trilinos/Trilinos/archive/trilinos-release-12-18-1.tar.gz
+ source = Makefile.kokkos.patch
sha256sums = 7d2e1a1a3e2d2ce78bb248c63411fed5007c827b87cadee3d13c1a45c09a89cf
+ sha256sums = 64130011dd70f3be1133c0943be458a7d4f6fa799e6bd47a6294300ced6d827a
pkgname = trilinos
diff --git a/Makefile.kokkos.patch b/Makefile.kokkos.patch
new file mode 100644
index 000000000000..03e41ee606f0
--- /dev/null
+++ b/Makefile.kokkos.patch
@@ -0,0 +1,540 @@
+Only in Trilinos-trilinos-release-12-18-1.new: Makefile.kokkos.patch
+diff --unified --recursive --text Trilinos-trilinos-release-12-18-1.orig/packages/kokkos/Makefile.kokkos Trilinos-trilinos-release-12-18-1.new/packages/kokkos/Makefile.kokkos
+--- Trilinos-trilinos-release-12-18-1.orig/packages/kokkos/Makefile.kokkos 2020-03-02 19:22:58.411190552 +0100
++++ Trilinos-trilinos-release-12-18-1.new/packages/kokkos/Makefile.kokkos 2020-03-02 19:26:57.788695637 +0100
+@@ -414,102 +414,102 @@
+ tmp := $(call kokkos_append_header,"$(shell date)")
+ tmp := $(call kokkos_append_header,"----------------------------------------------*/")
+
+-tmp := $(call kokkos_append_header,'\#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H)')
+-tmp := $(call kokkos_append_header,'\#error "Do not include $(KOKKOS_CONFIG_HEADER) directly; include Kokkos_Macros.hpp instead."')
+-tmp := $(call kokkos_append_header,'\#else')
+-tmp := $(call kokkos_append_header,'\#define KOKKOS_CORE_CONFIG_H')
+-tmp := $(call kokkos_append_header,'\#endif')
++tmp := $(call kokkos_append_header,'#if !defined(KOKKOS_MACROS_HPP) || defined(KOKKOS_CORE_CONFIG_H)')
++tmp := $(call kokkos_append_header,'#error "Do not include $(KOKKOS_CONFIG_HEADER) directly; include Kokkos_Macros.hpp instead."')
++tmp := $(call kokkos_append_header,'#else')
++tmp := $(call kokkos_append_header,'#define KOKKOS_CORE_CONFIG_H')
++tmp := $(call kokkos_append_header,'#endif')
+
+ tmp := $(call kokkos_append_header,"/* Execution Spaces */")
+
+ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_COMPILER_CUDA_VERSION $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION)")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CUDA")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_COMPILER_CUDA_VERSION $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION)")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1)
+- tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_ROCM')
+- tmp := $(call kokkos_append_header,'\#define KOKKOS_IMPL_ROCM_CLANG_WORKAROUND 1')
++ tmp := $(call kokkos_append_header,'#define KOKKOS_ENABLE_ROCM')
++ tmp := $(call kokkos_append_header,'#define KOKKOS_IMPL_ROCM_CLANG_WORKAROUND 1')
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1)
+- tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_OPENMPTARGET')
++ tmp := $(call kokkos_append_header,'#define KOKKOS_ENABLE_OPENMPTARGET')
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1)
+- tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_OPENMP')
++ tmp := $(call kokkos_append_header,'#define KOKKOS_ENABLE_OPENMP')
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_THREADS")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_THREADS")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_QTHREADS")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_QTHREADS")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HPX")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_HPX")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_SERIAL")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_SERIAL")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_TM), 1)
+- tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_TM")
+- tmp := $(call kokkos_append_header,"\#endif")
++ tmp := $(call kokkos_append_header,"#ifndef __CUDA_ARCH__")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_TM")
++ tmp := $(call kokkos_append_header,"#endif")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ISA_X86_64), 1)
+- tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_X86_64")
+- tmp := $(call kokkos_append_header,"\#endif")
++ tmp := $(call kokkos_append_header,"#ifndef __CUDA_ARCH__")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_USE_ISA_X86_64")
++ tmp := $(call kokkos_append_header,"#endif")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ISA_KNC), 1)
+- tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_KNC")
+- tmp := $(call kokkos_append_header,"\#endif")
++ tmp := $(call kokkos_append_header,"#ifndef __CUDA_ARCH__")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_USE_ISA_KNC")
++ tmp := $(call kokkos_append_header,"#endif")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ISA_POWERPCLE), 1)
+- tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_POWERPCLE")
+- tmp := $(call kokkos_append_header,"\#endif")
++ tmp := $(call kokkos_append_header,"#ifndef __CUDA_ARCH__")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_USE_ISA_POWERPCLE")
++ tmp := $(call kokkos_append_header,"#endif")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ISA_POWERPCBE), 1)
+- tmp := $(call kokkos_append_header,"\#ifndef __CUDA_ARCH__")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_ISA_POWERPCBE")
+- tmp := $(call kokkos_append_header,"\#endif")
++ tmp := $(call kokkos_append_header,"#ifndef __CUDA_ARCH__")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_USE_ISA_POWERPCBE")
++ tmp := $(call kokkos_append_header,"#endif")
+ endif
+
+ tmp := $(call kokkos_append_header,"/* General Settings */")
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX11), 1)
+ KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX11_FLAG)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX11")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CXX11")
+ endif
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX14), 1)
+ KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX14_FLAG)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX14")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CXX14")
+ endif
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX1Y), 1)
+ KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX1Y_FLAG)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX14")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CXX14")
+ endif
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX17), 1)
+ KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX17_FLAG)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX17")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CXX17")
+ endif
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX1Z), 1)
+ KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX1Z_FLAG)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX17")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CXX17")
+ endif
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX2A), 1)
+ KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX2A_FLAG)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX20")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CXX20")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1)
+@@ -519,15 +519,15 @@
+
+ KOKKOS_CXXFLAGS += -g
+ KOKKOS_LDFLAGS += -g
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_DEBUG")
+ ifeq ($(KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK), 0)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK")
+ endif
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_PROFILING_LOAD_PRINT")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_PROFILING_LOAD_PRINT")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1)
+@@ -542,11 +542,11 @@
+ endif
+ KOKKOS_LIBS += -lhwloc
+ KOKKOS_TPL_LIBRARY_NAMES += hwloc
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HWLOC")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_HWLOC")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_LIBRT), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_LIBRT")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_USE_LIBRT")
+ KOKKOS_LIBS += -lrt
+ KOKKOS_TPL_LIBRARY_NAMES += rt
+ endif
+@@ -563,53 +563,53 @@
+ endif
+ KOKKOS_LIBS += -lmemkind -lnuma
+ KOKKOS_TPL_LIBRARY_NAMES += memkind numa
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HBWSPACE")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_HBWSPACE")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_DISABLE_PROFILING), 0)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_PROFILING")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_PROFILING")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_HPX), 0)
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_DEPRECATED_CODE), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEPRECATED_CODE")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_DEPRECATED_CODE")
+ endif
+ ifeq ($(KOKKOS_INTERNAL_DISABLE_DEPRECATED_CODE), 0)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEPRECATED_CODE")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_DEPRECATED_CODE")
+ endif
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_ETI")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_ETI")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_ENABLE_LARGE_MEM_TESTS), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_LARGE_MEM_TESTS")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_LARGE_MEM_TESTS")
+ endif
+
+ tmp := $(call kokkos_append_header,"/* Optimization Settings */")
+
+ ifeq ($(KOKKOS_INTERNAL_OPT_RANGE_AGGRESSIVE_VECTORIZATION), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION")
+ endif
+
+ tmp := $(call kokkos_append_header,"/* Cuda Settings */")
+
+ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1)
+ ifeq ($(KOKKOS_INTERNAL_CUDA_USE_LDG), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC")
+ else
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC")
+ endif
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_CUDA_USE_UVM), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_UVM")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CUDA_UVM")
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_CUDA_USE_RELOC), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE")
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
+ KOKKOS_CXXFLAGS += -fcuda-rdc
+ KOKKOS_LDFLAGS += -fcuda-rdc
+@@ -630,7 +630,7 @@
+ ifeq ($(KOKKOS_INTERNAL_CUDA_USE_LAMBDA), 1)
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1)
+ ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION) -gt 70; echo $$?),0)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LAMBDA")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CUDA_LAMBDA")
+ KOKKOS_CXXFLAGS += -expt-extended-lambda
+ else
+ $(warning Warning: Cuda Lambda support was requested but NVCC version is too low. This requires NVCC for Cuda version 7.5 or higher. Disabling Lambda support now.)
+@@ -638,25 +638,25 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LAMBDA")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_CUDA_LAMBDA")
+ endif
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND")
+ endif
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1)
+ ifeq ($(KOKKOS_INTERNAL_HPX_ENABLE_ASYNC_DISPATCH), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HPX_ASYNC_DISPATCH")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ENABLE_HPX_ASYNC_DISPATCH")
+ endif
+ endif
+
+ # Add Architecture flags.
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV80), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV80")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ARMV80")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1)
+ KOKKOS_CXXFLAGS +=
+@@ -673,7 +673,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV81), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV81")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ARMV81")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1)
+ KOKKOS_CXXFLAGS +=
+@@ -690,8 +690,8 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_EPYC), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AMD_EPYC")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AMD_AVX2")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_AMD_EPYC")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_AMD_AVX2")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
+ KOKKOS_CXXFLAGS += -mavx2
+@@ -703,8 +703,8 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV80")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV8_THUNDERX")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ARMV80")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ARMV8_THUNDERX")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1)
+ KOKKOS_CXXFLAGS +=
+@@ -721,8 +721,8 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV81")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV8_THUNDERX2")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ARMV81")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ARMV8_THUNDERX2")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1)
+ KOKKOS_CXXFLAGS +=
+@@ -739,7 +739,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_SSE42), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_SSE42")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_SSE42")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
+ KOKKOS_CXXFLAGS += -xSSE4.2
+@@ -761,7 +761,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_AVX")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
+ KOKKOS_CXXFLAGS += -mavx
+@@ -783,7 +783,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER7), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_POWER7")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_POWER7")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1)
+
+@@ -795,7 +795,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER8), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_POWER8")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_POWER8")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1)
+
+@@ -816,7 +816,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_POWER9), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_POWER9")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_POWER9")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1)
+
+@@ -837,7 +837,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_HSW), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX2")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_AVX2")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
+ KOKKOS_CXXFLAGS += -xCORE-AVX2
+@@ -859,7 +859,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_BDW), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX2")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_AVX2")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
+ KOKKOS_CXXFLAGS += -xCORE-AVX2
+@@ -881,7 +881,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX512MIC")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_AVX512MIC")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
+ KOKKOS_CXXFLAGS += -xMIC-AVX512
+@@ -902,7 +902,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX512XEON), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_AVX512XEON")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_AVX512XEON")
+
+ ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1)
+ KOKKOS_CXXFLAGS += -xCORE-AVX512
+@@ -923,7 +923,7 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KNC), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KNC")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_KNC")
+ KOKKOS_CXXFLAGS += -mmic
+ KOKKOS_LDFLAGS += -mmic
+ endif
+@@ -940,63 +940,63 @@
+ endif
+
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER30), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER30")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_KEPLER")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_KEPLER30")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_30
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER32), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER32")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_KEPLER")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_KEPLER32")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_32
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER35), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER35")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_KEPLER")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_KEPLER35")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_35
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER37), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KEPLER37")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_KEPLER")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_KEPLER37")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_37
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL50")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_MAXWELL")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_MAXWELL50")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_50
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL52")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_MAXWELL")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_MAXWELL52")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_52
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_MAXWELL53")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_MAXWELL")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_MAXWELL53")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_53
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_PASCAL60), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL60")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_PASCAL")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_PASCAL60")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_60
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_PASCAL61), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL61")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_PASCAL")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_PASCAL61")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_61
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VOLTA70), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA70")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_VOLTA")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_VOLTA70")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_70
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VOLTA72), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA72")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_VOLTA")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_VOLTA72")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_72
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_TURING75), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_TURING")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_TURING75")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_TURING")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_TURING75")
+ KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_75
+ endif
+
+@@ -1013,28 +1013,28 @@
+ ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1)
+ # Lets start with adding architecture defines
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KAVERI), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ROCM 701")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_KAVERI")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ROCM 701")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_KAVERI")
+ KOKKOS_INTERNAL_ROCM_ARCH_FLAG := --amdgpu-target=gfx701
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_CARRIZO), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ROCM 801")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_CARRIZO")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ROCM 801")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_CARRIZO")
+ KOKKOS_INTERNAL_ROCM_ARCH_FLAG := --amdgpu-target=gfx801
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_FIJI), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ROCM 803")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_FIJI")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ROCM 803")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_FIJI")
+ KOKKOS_INTERNAL_ROCM_ARCH_FLAG := --amdgpu-target=gfx803
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VEGA), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ROCM 900")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VEGA")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ROCM 900")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_VEGA")
+ KOKKOS_INTERNAL_ROCM_ARCH_FLAG := --amdgpu-target=gfx900
+ endif
+ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_GFX901), 1)
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ROCM 901")
+- tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_GFX901")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_ROCM 901")
++ tmp := $(call kokkos_append_header,"#define KOKKOS_ARCH_GFX901")
+ KOKKOS_INTERNAL_ROCM_ARCH_FLAG := --amdgpu-target=gfx901
+ endif
+
diff --git a/PKGBUILD b/PKGBUILD
index ea9ca830fe8d..62811e281b7a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -15,8 +15,16 @@ depends=('python' 'lapack' 'boost' 'netcdf' 'libmatio' 'libx11' 'hdf5-openmpi')
makedepends=('gcc-fortran' 'perl' 'blas' 'cmake' 'doxygen')
conflicts=('gtest')
checkdepends=('cmake')
-source=("https://github.com/trilinos/Trilinos/archive/trilinos-release-$_pkgver.tar.gz")
-sha256sums=('7d2e1a1a3e2d2ce78bb248c63411fed5007c827b87cadee3d13c1a45c09a89cf')
+source=("https://github.com/trilinos/Trilinos/archive/trilinos-release-$_pkgver.tar.gz"
+ "Makefile.kokkos.patch")
+sha256sums=('7d2e1a1a3e2d2ce78bb248c63411fed5007c827b87cadee3d13c1a45c09a89cf'
+ '64130011dd70f3be1133c0943be458a7d4f6fa799e6bd47a6294300ced6d827a')
+
+prepare() {
+ cd Trilinos-trilinos-release-12-18-1
+ patch --forward --strip=1 --input="${srcdir}/Makefile.kokkos.patch"
+}
+
build() {
cd Trilinos-trilinos-release-"$_pkgver"