Use the meta-package x86_64-microarch-level in requirements/build in conda recipes to set up the compiler flags and set up the virtual package requirements in the run requirements. When building packages on CI, level=4 will not be guaranteed, so you can only use level<=3 to build. The run_exports only has a lower bound and therefore a level=2 build can be installed on a level=3 user system. A tighter bound is not added because we want to be able to test both level=2 and level=3 on a CI machine with level=3. Therefore in order to prioritise the highest level, use the build number to prioritise the level. In [rare circumstances](https://github.com/conda-forge/microarch-level-feedstock/issues/13#issuecomment-2551385113) where a particular level needs to be forced, this can be achieved by overriding the `__archspec` [virtual package](https://docs.conda.io/projects/conda/en/stable/user-guide/tasks/manage-virtual.html) by setting the `CONDA_OVERRIDE_ARCHSPEC` environment variable during the environment solve. For example, setting `CONDA_OVERRIDE_ARCHSPEC=x86_64` will force level=1. For levels higher than 1 `CONDA_OVERRIDE_ARCHSPEC=x86_64_vx` will force level=x. For example, `CONDA_OVERRIDE_ARCHSPEC=x86_64_v2` will force level=2. Note that no checks will be done to ensure that the level is viable. Only supported on Linux and macOS.
Uploaded | Tue Apr 1 02:51:42 2025 |
md5 checksum | b6b5d1a0e96e2f773e7da542326d9d37 |
build | 2_nocona |
build_number | 2 |
depends | __unix |
license | BSD-3-Clause |
license_family | BSD |
md5 | b6b5d1a0e96e2f773e7da542326d9d37 |
name | x86_64-microarch-level |
noarch | generic |
sha1 | 9757a7f85552be9eb16f5cc290b88c5706c31247 |
sha256 | f07bc6aa2c2c9221a3367a6e207d915dc2cf4486f160bcdf4e638abb13558d9d |
size | 8091 |
subdir | noarch |
timestamp | 1737665520479 |
version | 1 |