From 3f12e833ee18504bfdd819f8d1d0aa2af8278605 Mon Sep 17 00:00:00 2001 From: Toshiki Teramura Date: Mon, 21 Aug 2017 15:59:31 +0900 Subject: [PATCH 1/3] Use static link for OpenBLAS/Netlib --- Cargo.toml | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0a49ad1f..0ddd9f32 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,8 +11,8 @@ license = "MIT" [features] default = ["openblas"] -openblas = ["lapack/openblas"] -netlib = ["lapack/netlib"] +openblas = ["lapack/openblas", "openblas-src"] +netlib = ["lapack/netlib", "netlib-src"] [dependencies] rand = "0.3" @@ -20,5 +20,24 @@ derive-new = "0.4" enum-error-derive = "0.1" num-traits = "0.1" num-complex = "0.1" -ndarray = { version = "0.9", default-features = false, features = ["blas"] } -lapack = { version = "0.13", default-features = false } + +[dependencies.ndarray] +version = "0.9" +default-features = false +features = ["blas"] + +[dependencies.lapack] +version = "0.13" +default-features = false + +[dependencies.openblas-src] +version = "0.5.3" +default-features = false +features = ["static"] +optional = true + +[dependencies.netlib-src] +version = "0.7.0" +default-features = false +features = ["static"] +optional = true From 38a42f278d790656232bd31dfd3c04c0a7f92024 Mon Sep 17 00:00:00 2001 From: Toshiki Teramura Date: Mon, 21 Aug 2017 16:11:32 +0900 Subject: [PATCH 2/3] Add many switches --- Cargo.toml | 12 +++++++----- wercker.yml | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0ddd9f32..392fffb0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,9 +10,13 @@ keywords = ["ndarray", "lapack", "matrix"] license = "MIT" [features] -default = ["openblas"] -openblas = ["lapack/openblas", "openblas-src"] -netlib = ["lapack/netlib", "netlib-src"] +default = ["openblas-static"] +openblas-shared = ["lapack/openblas"] +openblas-static = ["lapack/openblas", "openblas-src/static"] +openblas-system = ["lapack/openblas", "openblas-src/system"] +netlib-shared = ["lapack/netlib"] +netlib-static = ["lapack/netlib", "netlib-src/static"] +netlib-system = ["lapack/netlib", "netlib-src/system"] [dependencies] rand = "0.3" @@ -33,11 +37,9 @@ default-features = false [dependencies.openblas-src] version = "0.5.3" default-features = false -features = ["static"] optional = true [dependencies.netlib-src] version = "0.7.0" default-features = false -features = ["static"] optional = true diff --git a/wercker.yml b/wercker.yml index 2d8b97f3..d4fa9315 100644 --- a/wercker.yml +++ b/wercker.yml @@ -4,10 +4,10 @@ test-openblas: steps: - script: name: test OpenBLAS backend - code: cargo test --no-default-features --features=openblas + code: cargo test --no-default-features --features=openblas-static test-netlib: steps: - script: name: test NetLib backend - code: cargo test --no-default-features --features=netlib + code: cargo test --no-default-features --features=netlib-static From 6e9616c44b7e5a4632be06a818a0d13a5022feaf Mon Sep 17 00:00:00 2001 From: Toshiki Teramura Date: Mon, 21 Aug 2017 16:15:20 +0900 Subject: [PATCH 3/3] Add feature section in README [ci skip] --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 3cff557d..affedf1e 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,18 @@ Dependencies and more (See Cargo.toml). +Feature flags +-------------- + +- OpenBLAS + - `openblas-static`: use OpenBLAS with static link (default) + - `openblas-shared`: use OpenBLAS with shared link + - `openblas-system`: use system OpenBLAS (experimental) +- Netlib + - `netlib-static`: use Netlib with static link (default) + - `netlib-shared`: use Netlib with shared link + - `netlib-system`: use system Netlib (experimental) + Examples --------- See [examples](https://github.com/termoshtt/ndarray-linalg/tree/master/examples) directory.