diff --git a/lib/spack/spack/cmd/spec.py b/lib/spack/spack/cmd/spec.py index f63ac638c4d77e8725cfaeb2d34c6a3ed06d86f5..2ab7228c41e849fb93bc29dede5db69bbf2a3cd3 100644 --- a/lib/spack/spack/cmd/spec.py +++ b/lib/spack/spack/cmd/spec.py @@ -9,6 +9,7 @@ import sys import llnl.util.tty as tty +import llnl.util.tty.color as color import spack import spack.cmd @@ -37,6 +38,9 @@ def setup_parser(subparser): subparser.add_argument( '-N', '--namespaces', action='store_true', default=False, help='show fully qualified package names') + subparser.add_argument( + '-u', '--uarch-flags', action='store_true', default=False, + help='show microarchitecture optimization flags') subparser.add_argument( '-t', '--types', action='store_true', default=False, @@ -49,6 +53,7 @@ def spec(parser, args): name_fmt = '{namespace}.{name}' if args.namespaces else '{name}' fmt = '{@version}{%compiler}{compiler_flags}{variants}{arch=architecture}' install_status_fn = spack.spec.Spec.install_status + kwargs = { 'cover': args.cover, 'format': name_fmt + fmt, @@ -79,6 +84,11 @@ def spec(parser, args): print(spec.tree(**kwargs)) kwargs['hashes'] = args.long or args.very_long + if args.uarch_flags: + kwargs["format"] += color.colorize( + " @Kuarch_flags=\"{uarch_flags}\"@." + ) + print("Concretized") print("--------------------------------") spec.concretize() diff --git a/share/spack/spack-completion.bash b/share/spack/spack-completion.bash index 3cda07ec482aab3f33465d2c74159cd450c5fedc..6215a9d1aec4bb61b8de7b767cd2f9918947c2ad 100755 --- a/share/spack/spack-completion.bash +++ b/share/spack/spack-completion.bash @@ -1053,7 +1053,7 @@ function _spack_spec { then compgen -W "-h --help -l --long -L --very-long -I --install-status -j --json -y --yaml -c --cover -N --namespaces - -t --types" -- "$cur" + -t --types -u --uarch-flags" -- "$cur" else compgen -W "$(_all_packages)" -- "$cur" fi