diff options
author | John W. Parent <45471568+johnwparent@users.noreply.github.com> | 2022-10-31 12:36:52 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-31 09:36:52 -0700 |
commit | 222cef9b7c6efb30c7f100d33e1d809e3dc1007d (patch) | |
tree | 39aea6be9953957bbebeb1ec641a768f4b2ab296 /etc | |
parent | 214890c026cff8002bd9e8554aecb2b58c32b08c (diff) | |
download | spack-222cef9b7c6efb30c7f100d33e1d809e3dc1007d.tar.gz spack-222cef9b7c6efb30c7f100d33e1d809e3dc1007d.tar.bz2 spack-222cef9b7c6efb30c7f100d33e1d809e3dc1007d.tar.xz spack-222cef9b7c6efb30c7f100d33e1d809e3dc1007d.zip |
Windows: fix library loading and enable Clingo bootstrapping (#33400)
Changes to improve locating shared libraries on Windows, which in
turn enables the use of Clingo. This PR attempts to establish a
proper distinction between linking on Windows vs. Linux/Mac: on
Windows, linking is always done with .lib files (never .dll files).
This somewhat complicates the model since the Spec.lib method could
return libraries that were used for both linking and loading, but
since these are not always the same on Windows, it was decided to
treat Spec.libs as being for link-time libraries. Additional functions
are added to help dependents locate run-time libraries.
* Clingo is now the default concretizer on Windows
* Clingo is now the concretizer used for unit tests on Windows
* Fix a permissions issue that can occur while moving Git files during
fetching/staging
* Packages can now implement "win_add_library_dependent" to register
files/directories that include libraries that would need to link
to dependency dlls
* Packages can now implement "win_add_rpath" to register the locations
of dlls that dependents would want to load
* "Spec.libs" on Windows is updated to return link-time libraries
(i.e. .lib files, rather than .dll files)
* PackageBase.rpath on Windows is now updated to return the most-likely
locations where .dlls will be found (which is generally in the bin/
directory)
Diffstat (limited to 'etc')
-rw-r--r-- | etc/spack/defaults/windows/config.yaml | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/etc/spack/defaults/windows/config.yaml b/etc/spack/defaults/windows/config.yaml index 956bc97c20..367bf831cf 100644 --- a/etc/spack/defaults/windows/config.yaml +++ b/etc/spack/defaults/windows/config.yaml @@ -1,5 +1,5 @@ config: locks: false - concretizer: original + concretizer: clingo build_stage:: - '$spack/.staging' |