sparsemat / sprs

sparse linear algebra library for rust
Apache License 2.0
386 stars 45 forks source link

Build suitesparse from source #233

Closed mulimoen closed 3 years ago

mulimoen commented 3 years ago

This adds feature flags for suitesparse_ldl_sys and suitesparse_camd_sys to build SuiteSparse from source and statically link it. This should be easily extendable to more components later on if more parts are wanted. We might want to add this feature flag to the sprs_suitesparse packages.

The build script for SuiteSparse reimplements the Makefiles, as these were hard to reuse, I've added CI which should ensure we won't break this.

The targeted version of SuiteSparse is v5.8.1, and parts of this will be uploaded to crates.io. This should be compatible with the licenses of the included components.

vbarrielle commented 3 years ago

Another question: I guess you'll want to be the one uploading the suitesparse-src crate to crates.io?

mulimoen commented 3 years ago

Another question: I guess you'll want to be the one uploading the suitesparse-src crate to crates.io?

I don't really mind. You may add yourself as an author and publish. Might be easier if you are the owner of all sprs related material.

mulimoen commented 3 years ago

As far as I can tell these are not breaking changes for the CAMD stuff, but LDL requires a version bump since I've removed some version constants which were probably incorrect on some platforms and libraries.

vbarrielle commented 3 years ago

I don't really mind. You may add yourself as an author and publish. Might be easier if you are the owner of all sprs related material.

Ok I'll do it that way then.

As far as I can tell these are not breaking changes for the CAMD stuff, but LDL requires a version bump since I've removed some version constants which were probably incorrect on some platforms and libraries.

Noted, I'll push the updated version soon.

vbarrielle commented 3 years ago

Thanks for all the good work!