Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake selective build improvements #637

Conversation

christoph-conrads
Copy link
Contributor

Description

This merge request

  • makes CMake always install lapack.h even when LAPACKE is not built,
  • ensures all necessary object files are compiled when only a subset of the arithmetic (e.g., only real double-precision) is to be built, and
  • ensures all LAPACK code required by LAPACKE is present (e.g., LAPACKE_BUILD_SINGLE=ON implies BUILD_SINGLE=ON).

Checklist

  • The documentation has been updated.
  • If the PR solves a specific issue, it is set to be closed on merge.

@christoph-conrads
Copy link
Contributor Author

You can check for missing code with selective compilation with

env LDFLAGS='-Wl,-z,defs' cmake -DBUILD_SHARED_LIBS=ON ../lapack

@codecov
Copy link

codecov bot commented Nov 11, 2021

Codecov Report

Merging #637 (ac6679e) into master (1782d90) will not change coverage.
The diff coverage is n/a.

❗ Current head ac6679e differs from pull request most recent head ca0b206. Consider uploading reports for the commit ca0b206 to get more accurate results
Impacted file tree graph

@@           Coverage Diff           @@
##           master     #637   +/-   ##
=======================================
  Coverage    0.00%    0.00%           
=======================================
  Files        1894     1894           
  Lines      184034   184021   -13     
=======================================
+ Misses     184034   184021   -13     
Impacted Files Coverage Δ
SRC/cgeqrf.f 0.00% <0.00%> (ø)
SRC/cgerqf.f 0.00% <0.00%> (ø)
SRC/dgeqrf.f 0.00% <0.00%> (ø)
SRC/dgerqf.f 0.00% <0.00%> (ø)
SRC/sgeqrf.f 0.00% <0.00%> (ø)
SRC/sgerqf.f 0.00% <0.00%> (ø)
SRC/zgeqrf.f 0.00% <0.00%> (ø)
SRC/zgerqf.f 0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1782d90...ca0b206. Read the comment docs.

If the user requests LAPACKE to be built for a certain arithmetic (e.g.,
real double-precision), check if the LAPACK library contains code for
the requested arithmetic.
Fix linking when only a subset of the available arithmetic (e.g., only
complex double-precision arithmetic) is built.
@christoph-conrads christoph-conrads force-pushed the 632-lapack_h-only-installed-in-LAPACKE-builds branch from ac6679e to ca0b206 Compare January 30, 2022 19:25
Copy link
Collaborator

@weslleyspereira weslleyspereira left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @christoph-conrads. Thanks for the improvements!
I think it is helpful to install lapack.h even when LAPACKE is off.

@langou langou merged commit 2a39774 into Reference-LAPACK:master Feb 15, 2022
@julielangou julielangou added this to the LAPACK 3.10.1 milestone Nov 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants