#!/bin/sh -euf

cat <<EOMacros
# The default LLVM version in this repository.
# It is assumed by llvm-alt-tool-wrapper and other wrappers in the absence of
# explicit directions. The macro is intended to be overridden by packagers if
# they wish to use a different version of LLVM.
%_llvm_version $RPM_LLVM_VERSION

%set_llvm_version() \
%global _llvm_version %* \
%global _buildrequires_build %_buildrequires_build llvm%_llvm_version \
%nil

# Clang 12 and earlier do not support -flto=auto.
%preset_clang_optflags_lto %global optflags_lto -flto=thin

%set_clang_version() \
%set_llvm_version %* \
%preset_clang_optflags_lto \
%global _buildrequires_build %_buildrequires_build clang%_llvm_version \
%nil

%BR_clang_devel %global _buildrequires_build %_buildrequires_build clang%_llvm_version-devel
%BR_lld_devel %global _buildrequires_build %_buildrequires_build llvm%_llvm_version-devel
%BR_llvm_devel %global _buildrequires_build %_buildrequires_build llvm%_llvm_version-devel
%BR_liblldb_devel %global _buildrequires_build %_buildrequires_build llvm%_llvm_version-devel

# The prefix where the rpmmacro-selected version lives.
%llvm_prefix %_prefix/lib/llvm-%_llvm_version

# Various paths inside that prefix.
%llvm_bindir %llvm_prefix/bin
%llvm_libdir %llvm_prefix/%_lib
%llvm_includedir %llvm_prefix/include
%llvm_libexecdir %llvm_prefix/libexec
%llvm_datadir %llvm_prefix/share
EOMacros

