diff options
author | kwryankrattiger <80296582+kwryankrattiger@users.noreply.github.com> | 2021-08-30 04:17:03 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-30 11:17:03 +0200 |
commit | 9be81ac4d9eb459e15637c40913a767785e10742 (patch) | |
tree | 0a798f15a3a193ee02190621e1cc5d8ffdef169a | |
parent | e60e41d9ca597fac97d495df62550d9c5544090e (diff) | |
download | spack-9be81ac4d9eb459e15637c40913a767785e10742.tar.gz spack-9be81ac4d9eb459e15637c40913a767785e10742.tar.bz2 spack-9be81ac4d9eb459e15637c40913a767785e10742.tar.xz spack-9be81ac4d9eb459e15637c40913a767785e10742.zip |
Add documentation on compiler `environment` (#25508)
-rw-r--r-- | lib/spack/docs/getting_started.rst | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/spack/docs/getting_started.rst b/lib/spack/docs/getting_started.rst index c89b46d441..419e1293bb 100644 --- a/lib/spack/docs/getting_started.rst +++ b/lib/spack/docs/getting_started.rst @@ -460,6 +460,34 @@ then inject those flags into the compiler command. Compiler flags entered from the command line will be discussed in more detail in the following section. +Some compilers also require additional environment configuration. +Examples include Intels oneAPI and AMDs AOCC compiler suites, +which have custom scripts for loading environment variables and setting paths. +These variables should be specified in the ``environment`` section of the compiler +specification. The operations available to modify the environment are ``set``, ``unset``, +``prepend_path``, ``append_path``, and ``remove_path``. For example: + +.. code-block:: yaml + + compilers: + - compiler: + modules: [] + operating_system: centos6 + paths: + cc: /opt/intel/oneapi/compiler/latest/linux/bin/icx + cxx: /opt/intel/oneapi/compiler/latest/linux/bin/icpx + f77: /opt/intel/oneapi/compiler/latest/linux/bin/ifx + fc: /opt/intel/oneapi/compiler/latest/linux/bin/ifx + spec: oneapi@latest + environment: + set: + MKL_ROOT: "/path/to/mkl/root" + unset: # A list of environment variables to unset + - CC + prepend_path: # Similar for append|remove_path + LD_LIBRARY_PATH: /ld/paths/added/by/setvars/sh + + ^^^^^^^^^^^^^^^^^^^^^^^ Build Your Own Compiler ^^^^^^^^^^^^^^^^^^^^^^^ |