From 69d83d91ba2e884d61a5226ce7e34b7f871c088a Mon Sep 17 00:00:00 2001
From: KKrijnen <110599321+KKrijnen@users.noreply.github.com>
Date: Fri, 16 Jun 2023 10:28:15 +0200
Subject: [PATCH 1/3] Update lax Cargo.toml to match the updated
 ndarray-linalg.toml

Accepts the features from the updated ndarray-linalg.toml
Features get passed to the intel-mkl-src 0.8.1 crate.
Enables multithreaded intel-mkl as well as ilpq64 support
---
 lax/Cargo.toml | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lax/Cargo.toml b/lax/Cargo.toml
index 2f095ea8..0e089d30 100644
--- a/lax/Cargo.toml
+++ b/lax/Cargo.toml
@@ -17,7 +17,6 @@ default = []
 
 netlib    = ["netlib-static"]
 openblas  = ["openblas-static"]
-intel-mkl = ["intel-mkl-static"]
 
 netlib-static = ["netlib-src/static"]
 netlib-system = ["netlib-src/system"]
@@ -25,8 +24,14 @@ netlib-system = ["netlib-src/system"]
 openblas-static = ["openblas-src/static"]
 openblas-system = ["openblas-src/system"]
 
-intel-mkl-static = ["intel-mkl-src/mkl-static-lp64-seq"]
-intel-mkl-system = ["intel-mkl-src/mkl-dynamic-lp64-seq"]
+intel-mkl-dynamic-lp64-iomp = ["intel-mkl-src/mkl-dynamic-lp64-iomp"]
+intel-mkl-dynamic-lp64-seq = ["intel-mkl-src/mkl-dynamic-lp64-seq"]
+intel-mkl-static-ilp64-iomp = ["intel-mkl-src/mkl-static-ilp64-iomp"]
+intel-mkl-dynamic-ilp64-seq = ["intel-mkl-src/mkl-dynamic-ilp64-seq"]
+intel-mkl-static-lp64-iomp = ["intel-mkl-src/mkl-static-lp64-iomp"]
+intel-mkl-dynamic-ilp64-iomp = ["intel-mkl-src/mkl-dynamic-ilp64-iomp"]
+intel-mkl-static-ilp64-seq = ["intel-mkl-src/mkl-static-ilp64-seq"]
+intel-mkl-static-lp64-seq = ["intel-mkl-src/mkl-static-lp64-seq"]
 
 [dependencies]
 thiserror = "1.0.24"

From 6e2692029060bd7dd53db25ba07f9b5316a37f4a Mon Sep 17 00:00:00 2001
From: KKrijnen <110599321+KKrijnen@users.noreply.github.com>
Date: Fri, 16 Jun 2023 10:41:03 +0200
Subject: [PATCH 2/3] Update Cargo.toml

---
 ndarray-linalg/Cargo.toml | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/ndarray-linalg/Cargo.toml b/ndarray-linalg/Cargo.toml
index e06fa675..04d5d3c1 100644
--- a/ndarray-linalg/Cargo.toml
+++ b/ndarray-linalg/Cargo.toml
@@ -17,7 +17,7 @@ default   = []
 
 netlib    = ["lax/netlib"]
 openblas  = ["lax/openblas"]
-intel-mkl = ["lax/intel-mkl"]
+intel-mkl = ["lax/intel-mkl-static-lp64-seq"]
 
 netlib-static   = ["lax/netlib-static"]
 netlib-system   = ["lax/netlib-system"]
@@ -25,8 +25,15 @@ netlib-system   = ["lax/netlib-system"]
 openblas-static = ["lax/openblas-static"]
 openblas-system = ["lax/openblas-system"]
 
-intel-mkl-static = ["lax/intel-mkl-static"]
-intel-mkl-system = ["lax/intel-mkl-system"]
+intel-mkl-dynamic-lp64-iomp = ["lax/intel-mkl-dynamic-lp64-iomp"]
+intel-mkl-dynamic-lp64-seq = ["lax/intel-mkl-dynamic-lp64-seq"]
+intel-mkl-static-ilp64-iomp = ["lax/intel-mkl-static-ilp64-iomp"]
+intel-mkl-dynamic-ilp64-seq = ["lax/intel-mkl-dynamic-ilp64-seq"]
+intel-mkl-static-lp64-iomp = ["lax/intel-mkl-static-lp64-iomp"]
+intel-mkl-dynamic-ilp64-iomp = ["lax/intel-mkl-dynamic-ilp64-iomp"]
+intel-mkl-static-ilp64-seq = ["lax/intel-mkl-static-ilp64-seq"]
+intel-mkl-static-lp64-seq = ["lax/intel-mkl-static-lp64-seq"]
+
 
 [dependencies]
 cauchy = "0.4.0"

From c6e5ec7ae2e61f90925a793eee1652ec1a2d4df1 Mon Sep 17 00:00:00 2001
From: KKrijnen <110599321+KKrijnen@users.noreply.github.com>
Date: Fri, 16 Jun 2023 10:43:08 +0200
Subject: [PATCH 3/3] Update lib.rs

---
 lax/src/lib.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lax/src/lib.rs b/lax/src/lib.rs
index af48f257..bb46b61a 100644
--- a/lax/src/lib.rs
+++ b/lax/src/lib.rs
@@ -75,7 +75,7 @@
 
 #![deny(rustdoc::broken_intra_doc_links, rustdoc::private_intra_doc_links)]
 
-#[cfg(any(feature = "intel-mkl-system", feature = "intel-mkl-static"))]
+#[cfg(any(feature = "intel-mkl-dynamic-lp64-iomp", feature = "intel-mkl-dynamic-lp64-seq", feature = "intel-mkl-static-ilp64-iomp", feature = "intel-mkl-static-lp64-iomp", feature = "intel-mkl-dynamic-ilp64-iomp", feature = "intel-mkl-static-ilp64-seq", feature = "intel-mkl-static-lp64-seq"))]
 extern crate intel_mkl_src as _src;
 
 #[cfg(any(feature = "openblas-system", feature = "openblas-static"))]