File llvm.spec of Package llvm

# Please keep this package sync with FC
#
# Packaging notes: when you update the version of this package, please update
# to the same version also the following packages of the same suite:
#
# libclc
# libomp
# lld
# clang
# compiler-rt
# lldb
# polly
# mlir
# flang
#
# also check whether it is needed to update also python-lit to the same major.
#
%bcond_with snapshot_build

%if %{with snapshot_build}
# Unlock LLVM Snapshot LUA functions
%{llvm_sb}
%endif

# We are building with clang for faster/lower memory LTO builds.
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_macros
%global toolchain clang

# Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
# https://bugzilla.redhat.com/show_bug.cgi?id=2158587
%undefine _include_frame_pointers

# Components enabled if supported by target architecture:
%define gold_arches %{ix86} x86_64 %{arm32} aarch64 %{power64} s390x
%ifarch %{gold_arches}
  %bcond_without gold
%else
  %bcond_with gold
%endif

%bcond_with compat_build
%bcond_without check

%ifarch %ix86 %{arm32}
# Disable LTO on x86 in order to reduce memory consumption
%bcond_with lto_build
%elif %{with snapshot_build} || %{?mageia:1}
# Disable LTO to speed up builds
%bcond_with lto_build
%else
%bcond_without lto_build
%endif

%global maj_ver 17
%global min_ver 0
%global patch_ver 6
#global rc_ver 4

%if %{with snapshot_build}
%undefine rc_ver
%global maj_ver %{llvm_snapshot_version_major}
%global min_ver %{llvm_snapshot_version_minor}
%global patch_ver %{llvm_snapshot_version_patch}
%endif

%global llvm_srcdir llvm-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global cmake_srcdir cmake-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src
%global third_party_srcdir third-party-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:rc%{rc_ver}}.src

%if %{with compat_build}
%global pkg_name llvm%{maj_ver}
%global exec_suffix -%{maj_ver}
%global install_prefix %{_libdir}/%{name}
%global install_bindir %{install_prefix}/bin
%global install_includedir %{install_prefix}/include
%global install_libdir %{install_prefix}/lib

%global pkg_includedir %{_includedir}/%{name}
%global pkg_datadir %{install_prefix}/share
%else
%global pkg_name llvm
%global install_prefix /usr
%global install_bindir %{_bindir}
%global install_libdir %{_libdir}
%global install_includedir %{_includedir}
%global pkg_datadir %{_datadir}
%global exec_suffix %{nil}
%endif

%define major %maj_ver.%min_ver
%define libname %mklibname llvm %major
%define libname_devel %mklibname -d llvm %{?with_compat_build:%major}

%ifarch %ix86 x86_64
# ARM/AARCH64 enabled due to rhbz#1627500
%global targets_to_build "X86;AMDGPU;NVPTX;AArch64;ARM;BPF;WebAssembly"
%endif
%ifarch aarch64
%global targets_to_build "AArch64;ARM;AMDGPU;BPF"
%endif
%ifarch %{arm32}
%global targets_to_build "ARM;AMDGPU;BPF"
%endif
%global experimental_targets_to_build ""

%global build_install_prefix %{buildroot}%{install_prefix}

%global rel 8
%global baserelease %{rel}

# Lower memory usage of dwz on s390x
%global _dwz_low_mem_die_limit_s390x 1
%global _dwz_max_die_limit_s390x 1000000

%ifarch %{arm32}
%global _gnu -gnueabihf
%endif
%global llvm_triple %{_target_platform}

# https://fedoraproject.org/wiki/Changes/PythonSafePath#Opting_out
# Don't add -P to Python shebangs
# The executable Python scripts in /usr/share/opt-viewer/ import each other
%undefine _py3_shebang_P

Name:		%{pkg_name}
Version:	%{maj_ver}.%{min_ver}.%{patch_ver}
Release:	%mkrel %{?rc_ver:0.rc%{rc_ver}.}%{baserelease}
Summary:	The Low Level Virtual Machine

Group:		Development/Other

License:	Apache-2.0 WITH LLVM-exception OR NCSA
URL:		http://llvm.org
%if %{with snapshot_build}
Source0:	%{llvm_snapshot_source_prefix}llvm-%{llvm_snapshot_yyyymmdd}.src.tar.xz
Source2:	%{llvm_snapshot_source_prefix}cmake-%{llvm_snapshot_yyyymmdd}.src.tar.xz
Source4:	%{llvm_snapshot_source_prefix}third-party-%{llvm_snapshot_yyyymmdd}.src.tar.xz
%{llvm_snapshot_extra_source_tags}
%else
Source0:	https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz
Source1:	https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{llvm_srcdir}.tar.xz.sig
Source2:	https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz
Source3:	https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{cmake_srcdir}.tar.xz.sig
Source4:	https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{third_party_srcdir}.tar.xz
Source5:	https://github.com/llvm/llvm-project/releases/download/llvmorg-%{maj_ver}.%{min_ver}.%{patch_ver}%{?rc_ver:-rc%{rc_ver}}/%{third_party_srcdir}.tar.xz.sig
Source6:	release-keys.asc
%endif

Source100:	llvm-config.h

# Fedora Patches
# Backport of https://reviews.llvm.org/D156485 for rhbz#2262260.
Patch0: 0001-PEI-Don-t-zero-out-noreg-operands.patch

%if "%{toolchain}" == "clang"
%ifarch %{arm64}
BuildRequires:	rpm-mageia-setup-build >= 2.76.1
%endif
%endif
BuildRequires:	gcc
BuildRequires:	gcc-c++
BuildRequires:	clang
BuildRequires:	cmake
BuildRequires:	ninja-build
BuildRequires:	zlib-devel
BuildRequires:	libffi-devel
BuildRequires:	libxml2-devel
BuildRequires:	ncurses-devel
BuildRequires:	python3-psutil
BuildRequires:	python3-yaml
BuildRequires:	python3-sphinx
%if %{undefined rhel}
BuildRequires:	python3-recommonmark
%endif
%if %{with gold}
BuildRequires:	binutils-devel
%endif
%ifarch %{valgrind_arches} %{arm32}
# Enable extra functionality when run the LLVM JIT under valgrind.
BuildRequires:	valgrind-devel
%endif
# LLVM's LineEditor library will use libedit if it is available.
BuildRequires:	libedit-devel
# We need python3-devel for %%py3_shebang_fix
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools

# For origin certification
BuildRequires:	gnupg2


Requires:	%{name}-libs%{?_isa} = %{version}-%{release}

Provides:	llvm(major) = %{maj_ver}

%description
LLVM is a compiler infrastructure designed for compile-time, link-time,
runtime, and idle-time optimization of programs from arbitrary programming
languages. The compiler infrastructure includes mirror sets of programming
tools as well as libraries with equivalent functionality.

%package -n %{libname_devel}
Summary:	Development files for LLVM
Group:		Development/Other
Provides:		%{name}-devel = %version-%release
Provides:		%{name}-devel%{?_isa} = %version-%release
Requires:	%{name}%{?_isa} = %{version}-%{release}
Requires:	%{name}-libs%{?_isa} = %{version}-%{release}
# The installed LLVM cmake files will add -ledit to the linker flags for any
# app that requires the libLLVMLineEditor, so we need to make sure
# libedit-devel is available.
Requires:	libedit-devel
# The installed cmake files reference binaries from llvm-test, llvm-static, and
# llvm-gtest.  We tried in the past to split the cmake exports for these binaries
# out into separate files, so that llvm-devel would not need to Require these packages,
# but this caused bugs (rhbz#1773678) and forced us to carry two non-upstream
# patches.
Requires:	%{name}-static%{?_isa} = %{version}-%{release}
Requires:	%{name}-test%{?_isa} = %{version}-%{release}
Requires:	%{name}-googletest%{?_isa} = %{version}-%{release}


Requires(post):	alternatives
Requires(postun):	alternatives

Provides:	llvm-devel(major) = %{maj_ver}

%description -n %{libname_devel}
This package contains library and header files needed to develop new native
programs that use the LLVM infrastructure.

%package doc
Summary:	Documentation for LLVM
Group:		Documentation
BuildArch:	noarch
Requires:	%{name} = %{version}-%{release}

%description doc
Documentation for the LLVM compiler infrastructure.

%package -n %libname
Summary:	LLVM shared libraries
Group:		System/Libraries
Provides:       llvm-libs = %{version}-%{release}
Provides:       llvm-libs%{?_isa} = %{version}-%{release}
# (tv) So that upgrade isn't broken by libification:
Requires:	llvm-plugins%{?_isa} >= %{version}-%{release}
# (tmb) filter out devel provides/requires that gets added because of this symlink
# It's because of the symlink. See eg:
# echo /usr/lib64/libLLVM-10.0.0.so|/usr/lib/rpm/rpmdeps -R|grep dev
%global __devel_exclude_path /(libLLVM-%{version}|libLTO|LLVMgold|libRemarks)\\.so$

%description -n %libname
Shared libraries for the LLVM compiler infrastructure.

%package static
Summary:	LLVM static libraries
Group:		Development/Other
Conflicts:	%{name}-devel < 8

Provides:	llvm-static(major) = %{maj_ver}

%description static
Static libraries for the LLVM compiler infrastructure.

%package cmake-utils
Summary: CMake utilities shared across LLVM subprojects

%description cmake-utils
CMake utilities shared across LLVM subprojects.
This is for internal use by LLVM packages only.

%package test
Summary:	LLVM regression tests
Requires:	%{name}%{?_isa} = %{version}-%{release}
Requires:	%{name}-libs%{?_isa} = %{version}-%{release}

Provides:	llvm-test(major) = %{maj_ver}

%description test
LLVM regression tests.

%package googletest
Summary: LLVM's modified googletest sources

%description googletest
LLVM's modified googletest sources.

# (tv) so that we don't have file conflicts regarding libification:
%package -n %{_lib}llvm-plugins
Summary: LLVM plugins
Provides: llvm-plugins = %{version}-%{release}
Provides: llvm-plugins%{?_isa} = %{version}-%{release}
Obsoletes: llvm-plugins < 17.0.6-7
Obsoletes: llvm-%{_lib}llvm-plugins < 17.0.6-8

%description -n %{_lib}llvm-plugins
LLVM's plugins.

%prep
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE3}' --data='%{SOURCE2}'
%{gpgverify} --keyring='%{SOURCE6}' --signature='%{SOURCE5}' --data='%{SOURCE4}'
%setup -T -q -b 2 -n %{cmake_srcdir}
# TODO: It would be more elegant to set -DLLVM_COMMON_CMAKE_UTILS=%{_builddir}/%{cmake_srcdir},
# but this is not a CACHED variable, so we can't actually set it externally :(
cd ..
mv %{cmake_srcdir} cmake
%setup -T -q -b 4 -n %{third_party_srcdir}
cd ..
mv %{third_party_srcdir} third-party

%setup -T -q -b 0 -n %{llvm_srcdir}
%autopatch -M%{?!rhel:100}%{?rhel:200} -p2

%py3_shebang_fix \
	test/BugPoint/compile-custom.ll.py \
	tools/opt-viewer/*.py \
	utils/update_cc_test_checks.py

%build
# FC compatibility:
%global _vpath_builddir %{_real_vendor}-%{_target_os}-build

%if %{without lto_build}
%global _lto_cflags %nil
%endif

%ifarch s390 %{arm} %ix86
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif

# Copy CFLAGS into ASMFLAGS, so -fcf-protection is used when compiling assembly files.
export ASMFLAGS="%{build_cflags}"

# force off shared libs as cmake macros turns it on.
# TODO: Disable LLVM_UNREACHABLE_OPTIMIZE.
%cmake	-G Ninja \
	-DBUILD_SHARED_LIBS:BOOL=OFF \
	-DLLVM_PARALLEL_LINK_JOBS=1 \
	-DCMAKE_BUILD_TYPE=RelWithDebInfo \
	-DCMAKE_SKIP_RPATH:BOOL=ON \
%ifarch s390 %{arm32} %ix86
	-DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
	-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \
%endif
%if %{without compat_build}
%if 0%{?__isa_bits} == 64
	-DLLVM_LIBDIR_SUFFIX=64 \
%else
	-DLLVM_LIBDIR_SUFFIX= \
%endif
%endif
	\
	-DLLVM_TARGETS_TO_BUILD=%{targets_to_build} \
	-DLLVM_ENABLE_LIBCXX:BOOL=OFF \
	-DLLVM_ENABLE_ZLIB:BOOL=ON \
	-DLLVM_ENABLE_FFI:BOOL=ON \
	-DLLVM_ENABLE_RTTI:BOOL=ON \
	-DLLVM_USE_PERF:BOOL=ON \
%if %{with gold}
	-DLLVM_BINUTILS_INCDIR=%{_includedir} \
%endif
	-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=%{experimental_targets_to_build} \
	\
	-DLLVM_BUILD_RUNTIME:BOOL=ON \
	\
	-DLLVM_INCLUDE_TOOLS:BOOL=ON \
	-DLLVM_BUILD_TOOLS:BOOL=ON \
	\
	-DLLVM_INCLUDE_TESTS:BOOL=ON \
	-DLLVM_BUILD_TESTS:BOOL=ON \
	-DLLVM_INSTALL_GTEST:BOOL=ON \
	-DLLVM_LIT_ARGS=-v \
	\
	-DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
	-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
	\
	-DLLVM_INCLUDE_UTILS:BOOL=ON \
	-DLLVM_INSTALL_UTILS:BOOL=ON \
	-DLLVM_UTILS_INSTALL_DIR:PATH=bin \
	-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \
	\
	-DLLVM_INCLUDE_DOCS:BOOL=ON \
	-DLLVM_BUILD_DOCS:BOOL=ON \
	-DLLVM_ENABLE_SPHINX:BOOL=ON \
	-DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
	\
%if %{with snapshot_build}
	-DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \
%else
	-DLLVM_VERSION_SUFFIX='' \
%endif
	-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=ON \
	-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
	-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
	-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
	-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
	-DLLVM_DEFAULT_TARGET_TRIPLE=%{llvm_triple} \
	-DSPHINX_WARNINGS_AS_ERRORS=OFF \
	-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
	-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
	-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 \
	-DLLVM_INCLUDE_BENCHMARKS=OFF \
%if %{with lto_build}
	-DLLVM_UNITTEST_LINK_FLAGS="-Wl,-plugin-opt=O0" \
%endif
%ifarch x86_64
	-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -Wl,-z,cet-report=error"
%endif

# Build libLLVM.so first.  This ensures that when libLLVM.so is linking, there
# are no other compile jobs running.  This will help reduce OOM errors on the
# builders without having to artificially limit the number of concurrent jobs.
%cmake_build --target LLVM
%cmake_build

%install
%cmake_install

mkdir -p %{buildroot}/%{_bindir}

# Install binaries needed for lit tests
%global test_binaries llvm-isel-fuzzer llvm-opt-fuzzer

for f in %{test_binaries}
do
    install -m 0755 %{_vpath_builddir}/bin/$f %{buildroot}%{install_bindir}
done

# Remove testing of update utility tools
rm -rf test/tools/UpdateTestChecks

# Install libraries needed for unittests
%if %{without compat_build}
%global build_libdir %{_vpath_builddir}/%{_lib}
%else
%global build_libdir %{_vpath_builddir}/lib
%endif

install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{install_libdir}
install %{build_libdir}/libLLVMTestingAnnotations.a %{buildroot}%{install_libdir}

# Since the static libraries are very huge, strip them of debug symbols as well
# (Anssi 08/2012)
strip --strip-debug %{buildroot}%{_libdir}/*.a

# Fix multi-lib
mv -v %{buildroot}%{install_includedir}/llvm/Config/llvm-config{,-%{__isa_bits}}.h
install -m 0644 %{SOURCE100} %{buildroot}%{install_includedir}/llvm/Config/llvm-config.h

%if %{without compat_build}

# Fix some man pages
ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config%{exec_suffix}-%{__isa_bits}.1

%if %{with gold}
# Add symlink to lto plugin in the binutils plugin directory.
%{__mkdir_p} %{buildroot}%{_libdir}/bfd-plugins/
ln -s -t %{buildroot}%{_libdir}/bfd-plugins/ ../LLVMgold.so
%endif

%else

# Add version suffix to binaries
for f in %{buildroot}/%{install_bindir}/*; do
  filename=`basename $f`
  ln -s ../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
done

# Create ld.so.conf.d entry
mkdir -p %{buildroot}/etc/ld.so.conf.d
cat >> %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
%{install_libdir}
EOF

# Add version suffix to man pages and move them to mandir.
mkdir -p %{buildroot}/%{_mandir}/man1
for f in %{build_install_prefix}/share/man/man1/*; do
  filename=`basename $f | cut -f 1 -d '.'`
  mv $f %{buildroot}%{_mandir}/man1/$filename%{exec_suffix}.1
done

%endif

# llvm-config special casing. llvm-config is managed by update-alternatives.
# the original file must remain available for compatibility with the CMake
# infrastructure. Without compat, cmake points to the symlink, with compat it
# points to the original file.

%if %{without compat_build}

mv %{buildroot}/%{install_bindir}/llvm-config %{buildroot}/%{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
# We still maintain a versionned symlink for consistency across llvm versions.
# This is specific to the non-compat build and matches the exec prefix for
# compat builds. An isa-agnostic versionned symlink is also maintained in the (un)install
# steps.
(cd %{buildroot}/%{install_bindir} ; ln -s llvm-config%{exec_suffix}-%{__isa_bits} llvm-config-%{maj_ver}-%{__isa_bits} )
# ghost presence
touch %{buildroot}%{_bindir}/llvm-config-%{maj_ver}

%else

rm %{buildroot}%{_bindir}/llvm-config%{exec_suffix}
(cd %{buildroot}/%{install_bindir} ; ln -s llvm-config llvm-config%{exec_suffix}-%{__isa_bits} )

%endif

# ghost presence
touch %{buildroot}%{_bindir}/llvm-config%{exec_suffix}

mkdir -p %{buildroot}%{pkg_datadir}/llvm/cmake
cp -Rv ../cmake/* %{buildroot}%{pkg_datadir}/llvm/cmake

%check
# Disable check section on arm due to some kind of memory related failure.
# Possibly related to https://bugzilla.redhat.com/show_bug.cgi?id=1920183
%ifnarch %{arm} %{ix86}

# non reproducible errors
rm test/tools/dsymutil/X86/swift-interface.test

%if %{with check}
# FIXME: use %%cmake_build instead of %%__ninja
LD_LIBRARY_PATH=%{buildroot}/%{install_libdir}  %{__ninja} check-all -C %{_vpath_builddir}
%endif

%endif

%post -n %{libname_devel}
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config%{exec_suffix} llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}
%if %{without compat_build}
%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config-%{maj_ver} llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} %{__isa_bits}

# During the upgrade from LLVM 16 (F38) to LLVM 17 (F39), we found out the
# main llvm-devel package was leaving entries in the alternatives system.
# Try to remove them now.
for v in 14 15 16; do
  if [[ -e %{_bindir}/llvm-config-$v
		&& "x$(%{_bindir}/llvm-config-$v --version | awk -F . '{ print $1 }')" != "x$v" ]]; then
    %{_sbindir}/update-alternatives --remove llvm-config-$v %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
  fi
done
%endif


%postun -n %{libname_devel}
if [ $1 -eq 0 ]; then
  %{_sbindir}/update-alternatives --remove llvm-config%{exec_suffix} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
fi
%if %{without compat_build}
# When upgrading between minor versions (i.e. from x.y.1 to x.y.2), we must
# not remove the alternative.
# However, during a major version upgrade (i.e. from 16.x.y to 17.z.w), the
# alternative must be removed in order to give priority to a newly installed
# compat package.
if [[ $1 -eq 0
	  || "x$(%{_bindir}/llvm-config-%{maj_ver} --version | awk -F . '{ print $1 }')" != "x%{maj_ver}" ]]; then
  %{_sbindir}/update-alternatives --remove llvm-config-%{maj_ver} %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
fi
%endif

%files
%license LICENSE.TXT
%exclude %{_mandir}/man1/llvm-config*
%{_mandir}/man1/*
%{install_bindir}/*
%if %{with compat_build}
# This is for all the binaries with the version suffix.
%{_bindir}/*%{exec_suffix}
%endif

%exclude %{_bindir}/llvm-config%{exec_suffix}
%exclude %{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}

%exclude %{_bindir}/llvm-config-%{maj_ver}
%exclude %{install_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
%exclude %{install_bindir}/not
%exclude %{install_bindir}/count
%exclude %{install_bindir}/yaml-bench
%exclude %{install_bindir}/lli-child-target
%exclude %{install_bindir}/llvm-isel-fuzzer
%exclude %{install_bindir}/llvm-opt-fuzzer
%{pkg_datadir}/opt-viewer

%files -n %libname
%license LICENSE.TXT
%{install_libdir}/libLLVM-%{maj_ver}%{?llvm_snapshot_version_suffix:%{llvm_snapshot_version_suffix}}.so
%{install_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
%{install_libdir}/libLTO.so.*
%{install_libdir}/libRemarks.so.*
%if %{with compat_build}
%config(noreplace) /etc/ld.so.conf.d/%{name}-%{_arch}.conf
%endif

%files -n %{_lib}llvm-plugins
%if %{with gold}
%{install_libdir}/LLVMgold.so
%if %{without compat_build}
%{_libdir}/bfd-plugins/LLVMgold.so
%endif
%endif
%{install_libdir}/libLTO.so
%{install_libdir}/libRemarks.so

%files -n %{libname_devel}
%license LICENSE.TXT

%ghost %{_bindir}/llvm-config%{exec_suffix}
%{install_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
%{_mandir}/man1/llvm-config*

%{install_includedir}/llvm
%{install_includedir}/llvm-c
%{install_libdir}/libLLVM.so
%{install_libdir}/cmake/llvm
%{install_bindir}/llvm-config-%{maj_ver}-%{__isa_bits}
%ghost %{_bindir}/llvm-config-%{maj_ver}

%files doc
%license LICENSE.TXT
%doc %{_pkgdocdir}/html

%files static
%license LICENSE.TXT
%{install_libdir}/*.a
%exclude %{install_libdir}/libLLVMTestingSupport.a
%exclude %{install_libdir}/libLLVMTestingAnnotations.a
%exclude %{install_libdir}/libllvm_gtest.a
%exclude %{install_libdir}/libllvm_gtest_main.a

%files cmake-utils
%license LICENSE.TXT
%{pkg_datadir}/llvm/cmake

%files test
%license LICENSE.TXT
%{install_bindir}/not
%{install_bindir}/count
%{install_bindir}/yaml-bench
%{install_bindir}/lli-child-target
%{install_bindir}/llvm-isel-fuzzer
%{install_bindir}/llvm-opt-fuzzer

%files googletest
%license LICENSE.TXT
%{install_libdir}/libLLVMTestingSupport.a
%{install_libdir}/libLLVMTestingAnnotations.a
%{install_libdir}/libllvm_gtest.a
%{install_libdir}/libllvm_gtest_main.a
%{install_includedir}/llvm-gtest
%{install_includedir}/llvm-gmock


%changelog
* Thu Apr 11 2024 wally <wally> 17.0.6-8.mga10
+ Revision: 2056621
- drop compiler-rt BR
- build with fixed clang on all arches
- fix libified plugins pkg name

* Wed Apr 10 2024 wally <wally> 17.0.6-7.mga10
+ Revision: 2056395
- build i686 with gcc for now
- BR compiler-rt when building with clang toolchain
- allow installing 32 bit llvm-plugins into 64 bit machine

* Mon Apr 01 2024 wally <wally> 17.0.6-6.mga10
+ Revision: 2053688
- fix llvm target triple for arm32
- drop aarch64 -fPIC hacks

* Sun Mar 31 2024 wally <wally> 17.0.6-5.mga10
+ Revision: 2053484
- force building with -fPIC on aarch64

* Sat Mar 30 2024 wally <wally> 17.0.6-4.mga10
+ Revision: 2053346
- disable 'lto build'
- rebuild with clang toolchain

* Wed Mar 13 2024 wally <wally> 17.0.6-3.mga10
+ Revision: 2049787
- rebuild for arm32 with workaround for valgrind BRs

* Wed Mar 13 2024 wally <wally> 17.0.6-2.mga10
+ Revision: 2049786
- rebuild with gcc 13.2.0

* Sun Feb 25 2024 wally <wally> 17.0.6-1.mga10
+ Revision: 2044255
- new version 17.0.6 (sync with Fedora where appropriate)

* Mon Dec 05 2022 tv <tv> 15.0.6-1.mga9
+ Revision: 1918199
- Update to LLVM 15.0.6

* Fri Nov 04 2022 tv <tv> 15.0.4-1.mga9
+ Revision: 1902610
- Update to LLVM 15.0.4

* Wed Sep 21 2022 tv <tv> 15.0.0-1.mga9
+ Revision: 1891046
- Update to LLVM 15.0.0

* Thu Jun 16 2022 tv <tv> 14.0.5-1.mga9
+ Revision: 1864575
- 14.0.5 Release

* Mon May 23 2022 tv <tv> 14.0.3-2.mga9
+ Revision: 1859927
- 14.0.3 Release

* Wed Mar 30 2022 tv <tv> 14.0.0-2.mga9
+ Revision: 1834315
- Update to LLVM 14.0.0

* Thu Feb 03 2022 tv <tv> 13.0.1-2.mga9
+ Revision: 1771195
- Update to 13.0.1 final

* Sat Dec 25 2021 wally <wally> 13.0.0-2.mga9
+ Revision: 1763594
- build ARM target on aarch64

* Tue Oct 19 2021 tv <tv> 13.0.0-1.mga9
+ Revision: 1752230
- 13.0.0 Release
- Set default triple
- Pass LLVM_DEFAULT_TARGET_TRIPLE to cmake
- Add --without=check option

* Thu Aug 05 2021 luigiwalser <luigiwalser> 12.0.1-2.mga9
+ Revision: 1739659
- rebuild for libffi

* Mon Jul 19 2021 tv <tv> 12.0.1-1.mga9
+ Revision: 1736973
- 12.0.1 Release
- Stop installing lit tests

* Fri Apr 30 2021 akien <akien> 12.0.0-2.mga9
+ Revision: 1720463
- Rebuild for GCC 11

* Fri Apr 16 2021 tv <tv> 12.0.0-1.mga9
+ Revision: 1715983
- 12.0.0 final
+ wally <wally>
- only filter devel deps from plugins pkg
- fix mga8 conflicts

* Fri Apr 09 2021 tv <tv> 12.0.0-0.11.rc5.mga9
+ Revision: 1714230
- New upstream release candidate
- Patch test case for compatibility with llvm-test latout

* Fri Apr 02 2021 tv <tv> 12.0.0-0.8.rc4.mga9
+ Revision: 1712588
- 12.0.0 RC4
- Only ship llvm-config manpages for compat package

* Fri Mar 12 2021 tv <tv> 12.0.0-0.7.rc3.mga9
+ Revision: 1701662
- LLVM 12.0.0 rc3
- Add llvm-static(major) provides to the -static subpackage

* Thu Mar 04 2021 tv <tv> 12.0.0-0.4.1.rc2.mga9
+ Revision: 1697999
- conflicts with mga8's libllvm11 but not with cauldron's one

* Tue Mar 02 2021 tv <tv> 12.0.0-0.3.1.rc2.mga9
+ Revision: 1696062
- split "plugins" subpkg so that libification doesn't break upgrade
+ ghibo <ghibo>
- Add packaging notes about the other packages of the same llvm suite to be updated to the same version.

* Sun Feb 28 2021 tv <tv> 12.0.0-0.3.rc2.mga9
+ Revision: 1693212
- 12.0.0-rc2 release
- Enable WebAssembly target
- 12.0.0-rc2 release
- Enable WebAssembly target
- 12.0.0-rc1 release
- 12.0.0-rc1 release

* Thu Jan 07 2021 tv <tv> 11.0.1-4.2.mga8
+ Revision: 1669442
- LLVM 11.0.1 final

* Thu Dec 24 2020 tv <tv> 11.0.1-2.rc2.2.mga8
+ Revision: 1663455
- excludes devel deps due to plugins in library pkg

* Mon Dec 21 2020 tv <tv> 11.0.1-2.rc2.1.mga8
+ Revision: 1662556
- 11.0.1-rc2 release
- libLTO.so is now in libs package
- rename tblgen man page to match binary file
- move gold plugin into libs package
- libRemarks.so* is now in libs package

* Wed Dec 02 2020 tv <tv> 11.0.1-1.rc1.1.mga8
+ Revision: 1651658
- llvm 11.0.1-rc1
- stop targeting PowerPC, thus saving build time

* Wed Nov 25 2020 tv <tv> 11.0.0-2.1.mga8
+ Revision: 1649296
- 11.0.0
+ akien <akien>
- Update PGP key to tstellar-gpg-key.asc (used for 10.0.1 onwards)

* Thu Oct 08 2020 akien <akien> 10.0.1-1.mga8
+ Revision: 1632728
- Version 10.0.1
- Sync patches with Fedora 32
+ tv <tv>
- Make llvm-test.tar.gz creation reproducible

* Tue Jun 16 2020 ovitters <ovitters> 10.0.0-5.mga8
+ Revision: 1593527
- rebuild for new ffi

* Thu Jun 11 2020 tv <tv> 10.0.0-4.mga8
+ Revision: 1592265
- Instruct cmake not to generate RPATH

* Thu May 14 2020 tv <tv> 10.0.0-3.mga8
+ Revision: 1583685
- Install LLVMgold.so symlink in bfd-plugins directory

* Fri Apr 17 2020 tv <tv> 10.0.0-2.mga8
+ Revision: 1568340
- Remove unneeded deps on libtool & zip
- Remove unneeded deps on libstdc++
- drop old obsolete on llvm-ocaml
- Do not package UpdateTestChecks tests in llvm-tests
- Apply upstream patch bab5908df to pass gating tests

* Tue Mar 24 2020 tv <tv> 10.0.0-1.mga8
+ Revision: 1559494
- 10.0.0 final

* Tue Mar 24 2020 tv <tv> 10.0.0-0.5.3.rc5.mga8
+ Revision: 1559480
- restore excludes filters & explain it

* Sat Mar 21 2020 tv <tv> 10.0.0-0.5.2.rc5.mga8
+ Revision: 1558712
- rebuild for missing pkg on arm
- rebuild b/c of armv7 failure

* Thu Mar 19 2020 tv <tv> 10.0.0-0.5.rc5.mga8
+ Revision: 1558022
- 10.0.0 rc5

* Sun Mar 15 2020 tv <tv> 10.0.0-0.4.rc4.mga8
+ Revision: 1556556
- 10.0.0 rc4
- remove no more needed exclude filters as .so is in devel subpkg

* Thu Mar 05 2020 tv <tv> 10.0.0-0.2.rc3.mga8
+ Revision: 1554125
- 10.0.0 RC3
- Remove *_finite support (rhbz#1803203)

* Wed Feb 19 2020 tv <tv> 10.0.0-0.1.1.rc2.mga8
+ Revision: 1544028
- adjust doc subpkg filelist
- ignore testsuite failures for now
- BR zlib-devel
- restore spliting docs in doc subpkg
- enable PowerPC target (needed for testsuite)
- 10.0.0 rc2

* Wed Feb 12 2020 tv <tv> 10.0.0-0.1.1.rc1.mga8
+ Revision: 1497620
- fix test pkg deps

* Tue Feb 11 2020 tv <tv> 10.0.0-0.1.rc1.mga8
+ Revision: 1490522
- 10.0.0 rc1
+ wally <wally>
- build with new cmake macros

* Mon Oct 07 2019 tv <tv> 9.0.0-4.mga8
+ Revision: 1450204
- Build libLLVM.so first to avoid OOM errors

* Mon Sep 30 2019 tv <tv> 9.0.0-3.mga8
+ Revision: 1448366
- Remove unneeded BuildRequires: libstdc++-static-devel

* Sat Sep 21 2019 tv <tv> 9.0.0-2.mga8
+ Revision: 1444224
- re-enable testsuite
- Enable build rpath while keeping install rpath disabled
- 9.0.0 Release
- Support avr target (rhbz#1718492)

* Mon Sep 16 2019 tv <tv> 9.0.0-0.4.rc3.mga8
+ Revision: 1442223
- disable %%_python_bytecompile_extra
- 9.0.0-rc3 Release
- Split out test executables into their own export file
- Add provides for the major version of sub-packages
- Fix conflicts between llvm-static = 8 and llvm-dev < 8 around LLVMStaticExports.cmake

* Fri Apr 12 2019 tv <tv> 8.0.0-1.mga7
+ Revision: 1389465
- restrict targets (aarch64 took too much time)
- fix file list
- 8.0.0
- Fix ninja check
- Backport r351577 from trunk to fix ninja check failures
- llvm-test fixes
- Activate all backends (rhbz#1689031)
- Move some binaries to -test package, cleanup specfile

* Mon Jan 28 2019 tv <tv> 7.0.1-13.mga7
+ Revision: 1361769
- restore build_install_prefix

* Mon Jan 28 2019 tv <tv> 7.0.1-12.mga7
+ Revision: 1361636
- restore build_llvm_bindir

* Sat Jan 26 2019 kekepower <kekepower> 7.0.1-11.mga7
+ Revision: 1361070
- Fix discriminators in metadata (rhbz#1668033)
+ tv <tv>
- adjust file list

* Sat Dec 22 2018 tv <tv> 7.0.1-9.mga7
+ Revision: 1344406
- Install libraries needed for unittests

* Fri Dec 21 2018 tv <tv> 7.0.1-8.mga7
+ Revision: 1344227
- 7.0.1
- Fix running unittests as not-root user

* Fri Oct 19 2018 wally <wally> 7.0.0-8.mga7
+ Revision: 1322511
- [AArch64] DWARF: do not generate AT_location for thread local

* Wed Oct 03 2018 tv <tv> 7.mga7-current
+ Revision: 1316519
- really update run-lit-tests

* Wed Oct 03 2018 tv <tv> 7.0.0-6.mga7
+ Revision: 1316079
- Fixes for llvm-test package:
- Add some missing Requires
- Add --threads option to run-lit-tests script
- Set PATH so lit can find tools like count, not, etc.
- Don't hardcode tools directory to /usr/lib64/llvm
- Fix typo in yaml-bench define
- Only print information about failing tests

* Thu Sep 27 2018 tmb <tmb> 7.0.0-5.mga7
+ Revision: 1308155
- rebuild to restore pathfix.py fixed rpms

* Sun Sep 23 2018 tv <tv> 7.0.0-4.mga7
+ Revision: 1302178
- use newly packaged pathfix.py
+ umeabot <umeabot>
- Mageia 7 Mass Rebuild

* Sun Sep 23 2018 tv <tv> 7.0.0-3.mga7
+ Revision: 1296982
- Package lit tests and googletest sources
- fix install path (too much --short-circuit ruined the game)

* Sat Sep 22 2018 tv <tv> 7.0.0-2.mga7
+ Revision: 1296384
- new release

* Mon Aug 13 2018 akien <akien> 6.0.1-2.mga7
+ Revision: 1251306
- Attempt fixing underlinking issues

* Wed Jun 27 2018 tv <tv> 6.0.1-1.mga7
+ Revision: 1239966
- 6.0.1

* Fri Jun 08 2018 tv <tv> 6.0.1-0.2.rc2.mga7
+ Revision: 1235545
- 6.0.1-rc2

* Mon May 14 2018 tv <tv> 6.0.1-0.1.rc1.mga7
+ Revision: 1229589
- 6.0.1 rc1
- Re-enable arm tests that used to hang
- Fix testcase in backported patch

* Wed Mar 21 2018 tv <tv> 6.0.0-3.mga7
+ Revision: 1210937
- Prevent external projects from linking against both static and shared
  libraries (rhbz#1558657)

* Tue Mar 20 2018 tv <tv> 6.0.0-2.mga7
+ Revision: 1210770
- new release

* Mon Mar 12 2018 akien <akien> 5.0.1-2.mga7
+ Revision: 1208642
- Sync patches with f27: Thu Feb 01 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-2
  o Backport r315279 to fix an issue with rust

* Tue Dec 26 2017 tv <tv> 5.0.1-1.mga7
+ Revision: 1185118
- new release

* Tue Nov 21 2017 tv <tv> 5.0.0-4.mga7
+ Revision: 1178144
- Backport debuginfo fix for rust

* Mon Nov 06 2017 tv <tv> 5.0.0-3.mga7
+ Revision: 1176109
- use FC way in order to reduce debuginfo size for ARM

* Wed Oct 18 2017 tv <tv> 5.0.0-1.mga7
+ Revision: 1172627
- new release

* Thu Sep 21 2017 tv <tv> 4.0.1-2.mga7
+ Revision: 1156738
- new release
- drop support for mga5
- enable extra functionality when run the LLVM JIT under valgrind.

* Sat Sep 02 2017 tmb <tmb> 3.9.1-7.mga7
+ Revision: 1150672
- rebuild with new gcc/binutils

* Wed May 03 2017 akien <akien> 3.9.1-6.mga6
+ Revision: 1098886
- Add P47 and P67 backported from rust-lang fork

* Mon Mar 27 2017 tmb <tmb> 3.9.1-5.mga6
+ Revision: 1094965
- drop broken armv5tl 'buildfix'

* Mon Mar 27 2017 tmb <tmb> 3.9.1-4.mga6
+ Revision: 1094945
- rebuild with new gcc

* Sun Feb 12 2017 akien <akien> 3.9.1-3.mga6
+ Revision: 1085914
- Revert previous commit, some reverse deps like rust explicitely buildconflict llvm-static

* Fri Feb 10 2017 akien <akien> 3.9.1-2.mga6
+ Revision: 1085526
- o Rationale: https://ml.mageia.org/l/arc/dev/2017-02/msg00112.html
+ tv <tv>
- renumber patches like in FC

* Sat Jan 07 2017 ghibo <ghibo> 3.9.1-1.mga6
+ Revision: 1080449
- Update to release 3.9.1.
- Merge latest 3.9.0 Fedora patches (as well as latest patches for rust).
- Move .cmake files to %%{_libdir}/cmake/llvm/*.cmake, as upstream.
- Drop CppBackend as upstream dropped it.

* Mon Sep 05 2016 dlucio <dlucio> 3.8.1-2.mga6
+ Revision: 1050068
- update libffi BR version
- added support to allow this package to be backported

* Tue Jul 12 2016 tmb <tmb> 3.8.1-1.mga6
+ Revision: 1041233
- update to 3.8.1 (maintenance release)
+ tv <tv>
- fix color support detection on terminal

* Fri May 13 2016 tv <tv> 3.8.0-7.mga6
+ Revision: 1014737
- patch 0: fix build with latest python3-sphinx

* Mon Apr 25 2016 ngompa <ngompa> 3.8.0-6.mga6
+ Revision: 1006099
- Remove versioned libraries from -devel subpackage

* Fri Mar 25 2016 pterjan <pterjan> 3.8.0-5.mga6
+ Revision: 995390
- Do not ship ThreadPool on armv5tl, it require std::future
+ tv <tv>
- use new standard make macros
- use %%license

* Mon Mar 14 2016 tv <tv> 3.8.0-4.mga6
+ Revision: 990520
- submit to core/release

* Wed Mar 09 2016 tv <tv> 3.8.0-3.mga6
+ Revision: 988410
- 3.8.0 final

* Tue Mar 08 2016 tv <tv> 3.8.0-2.mga6
+ Revision: 987334
- clang needs LLVMHello.so
- drop unused support for builds from git & unused macro
- oops forget to reenable debug after testing local builds

* Tue Mar 08 2016 tv <tv> 3.8.0-1.mga6
+ Revision: 987327
- 3.8 RC3
- switch to cmake (losely based on FC work modulo %%cmake differences)
- clean old junk
- clang and the like are split
- split llvm-static out
- add %%check but do not run it yet

* Fri Feb 05 2016 shlomif <shlomif> 3.7.1-4.mga6
+ Revision: 939058
- Enable building LLVMgold.so for -flto/etc.

* Thu Jan 14 2016 tmb <tmb> 3.7.1-3.mga6
+ Revision: 922961
- filter out devel() provides/requires in llvm lib

* Fri Jan 08 2016 tmb <tmb> 3.7.1-2.mga6
+ Revision: 920649
- move libLLVM-<version>.so symlink from devel to main lib (mga#17415, mga#17465)

* Wed Jan 06 2016 tmb <tmb> 3.7.1-1.mga6
+ Revision: 920017
- update to 3.7.1

* Wed Dec 23 2015 tmb <tmb> 3.7.0-4.mga6
+ Revision: 913718
- rebuild with new gcc

* Sun Dec 06 2015 tmb <tmb> 3.7.0-3.mga6
+ Revision: 908619
- rebuild with gcc 5.3

* Wed Sep 23 2015 tmb <tmb> 3.7.0-2.mga6
+ Revision: 882304
- fix 32bit build
+ tv <tv>
- adjust file list
- temporary disable doc
- temporary disable man pages
- reenable doc+static_analyzer
- build fixes from FC
- disable static analyzer (needs switching to cmake)
- disable doc (needs switching to cmake)
- drop patch2 (uneeded but breaks build)
- final release
- add support for RCs
- 3.7.0rc3

* Thu Aug 20 2015 tmb <tmb> 3.6.2-5.mga6
+ Revision: 867036
- rebuild with new gcc

* Thu Aug 20 2015 tmb <tmb> 3.6.2-4.mga6
+ Revision: 866694
- rebuild with gcc 5.2.1

* Tue Aug 18 2015 tmb <tmb> 3.6.2-3.mga6
+ Revision: 865426
- rebuild with new glibc

* Sun Aug 02 2015 shlomif <shlomif> 3.6.2-2.mga6
+ Revision: 860846
- Enable RTTI.
- This is per the recommendation here: http://llvm.org/docs/Packaging.html and
  is needed by ponyc, the ponylang compiler.

* Thu Jul 30 2015 shlomif <shlomif> 3.6.2-1.mga6
+ Revision: 859054
- New version 3.6.2
- New version 3.6.1

* Fri Jun 12 2015 tmb <tmb> 3.5.2-1.mga5
+ Revision: 823009
- 3.5.2

* Wed Oct 15 2014 umeabot <umeabot> 3.5.0-3.mga5
+ Revision: 740652
- Second Mageia 5 Mass Rebuild

* Tue Sep 16 2014 umeabot <umeabot> 3.5.0-2.mga5
+ Revision: 681969
- Mageia 5 Mass Rebuild

* Fri Sep 05 2014 tmb <tmb> 3.5.0-1.mga5
+ Revision: 672222
- update filelists
- fix build with gcc-4.9
- update to 3.5.0

* Thu Jul 31 2014 tmb <tmb> 3.4.2-2.mga5
+ Revision: 658764
- rebuild for new gcc

* Mon Jun 16 2014 tmb <tmb> 3.4.2-1.mga5
+ Revision: 637632
- add compiler-rt (mga#13141)
- llvm major is 3.4, not full version
- drop merged patches
- update to 3.4.2

* Thu May 22 2014 tmb <tmb> 3.4.1-5.mga5
+ Revision: 624841
- disable P102 and P104 tu unbreak BS, will be fixed properly for 3.4.2
- fix libclang versioning
- adjust to upstream soname breakage

* Wed May 21 2014 tmb <tmb> 3.4.1-4.mga5
+ Revision: 624783
- Teach Clang to provide ::max_align_t in C11 and C++11 modes
- Headers: Provide an ABI compatible max_align_t when _MSC_VER is defined
- Add front-end infrastructure now address space casts are in LLVM IR
- R600/SI: allow 5 more input SGPRs to a shader
- autoconf: Fix soname for libLLVM-Major.Minor.so

* Tue May 13 2014 tmb <tmb> 3.4.1-3.mga5
+ Revision: 622539
- push to release

* Sun May 11 2014 tmb <tmb> 3.4.1-2.mga5
+ Revision: 621933
- properly detect Mageia (mga#11805)

* Thu May 08 2014 tmb <tmb> 3.4.1-1.mga5
+ Revision: 621249
- update to 3.4.1

* Sun Feb 09 2014 tv <tv> 3.4-1.mga5
+ Revision: 586922
- adjust file list
- adjust file list
- rediff patch
- new release

* Sat Oct 19 2013 umeabot <umeabot> 3.3-2.mga4
+ Revision: 532640
- Mageia 4 Mass Rebuild

* Wed Aug 21 2013 tv <tv> 3.3-1.mga4
+ Revision: 469106
- adjust file list
- new release

* Sun Aug 11 2013 tmb <tmb> 3.2-8.mga4
+ Revision: 465398
- rebuild with new gcc

* Sat Aug 03 2013 tmb <tmb> 3.2-7.mga4
+ Revision: 463049
- test gcc-4.8.2 build

* Fri Aug 02 2013 shlomif <shlomif> 3.2-6.mga4
+ Revision: 462758
- Rebuild for new gcc and libstdc++.

* Thu Feb 28 2013 blino <blino> 3.2-5.mga3
+ Revision: 400669
- add a clang symlink in scan-build directory since scan-build tries to find clang relatively to its real path

* Wed Jan 16 2013 cjw <cjw> 3.2-4.mga3
+ Revision: 388816
- new snapshot from r600 branch (20130109)
  o llvm 3.2 final
  o AMDGPU target renamed to R600

* Sat Jan 12 2013 umeabot <umeabot> 3.2-3.mga3
+ Revision: 358912
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Sat Dec 29 2012 cjw <cjw> 3.2-2.mga3
+ Revision: 336162
- 3.2 r600 branch (pre-3.2 release) for mesa 9.1pre
- patch1: from 3.2 release svn: fix build with clang 3.2
- enable both x86 and x86-64 targets on x86 and x86-64 hosts

* Mon Dec 24 2012 mitya <mitya> 3.2-1.mga3
+ Revision: 334668
- Fix build
- Cleanup, split apidocs to separate package
+ kamil <kamil>
- get rid of %%clean
- remove P1, merged upstream
- update Version and Release tago to 3.2 and 1
- new version 3.2

* Sun Oct 14 2012 ennael <ennael> 3.1-8.mga3
+ Revision: 305457
- Documentation group

* Mon Sep 24 2012 mitya <mitya> 3.1-7.mga3
+ Revision: 296968
- Rebuild for GCC 4.7.2

* Thu Sep 06 2012 anssi <anssi> 3.1-6.mga3
+ Revision: 288912
- do not create shared library development symlinks for libclang*.a at all
  since libclang.so only exports a limited set of symbols

* Thu Sep 06 2012 anssi <anssi> 3.1-5.mga3
+ Revision: 288885
- clang-devel: do not create shared library symlinks for those static
  libraries that are actually not included in libclang.so, to fix undefined
  symbol errors when compiling against those (reported by Joseph Wang)
- include libclangTooling.a in libclang.so (shared-tooling.patch from
  upstream)

* Thu Aug 30 2012 fwang <fwang> 3.1-4.mga3
+ Revision: 285683
- promote correct libdir

* Mon Aug 06 2012 luigiwalser <luigiwalser> 3.1-3.mga3
+ Revision: 278987
- rebuild for libffi

* Fri Aug 03 2012 blino <blino> 3.1-2.mga3
+ Revision: 278253
- require llvm in devel package (for tools like llvm-tblgen)

* Thu Aug 02 2012 anssi <anssi> 3.1-1.mga3
+ Revision: 277999
- new version 3.1
- drop llvm-soname.patch, fixed upstream
- re-enable clang
- replace the use of %%exclude with explicit file lists

* Thu Aug 02 2012 anssi <anssi> 3.0-9.mga3
+ Revision: 277981
- fix libification of libllvm3.0 by moving unversioned libraries to the
  devel package
- libify libclang and versionize the shared library
- drop llvm-config patch for dynamic linking, and instead provide
  .so symlinks that match the .a names so that shared linking will
  be enabled with the regular "llvm-config --libs" output
- move clang development libraries to libified clang-devel package
- force build with g++ and gcc instead of buildconflicts
- strip debug symbols from static libraries to make the llvm-devel
  package approx. 30 times smaller
- in preparation of 3.1 release which will be immediately released
  after this package release (the main purpose of this intermediate
  release is to provide a properly libified libllvm3.0):
  o drop gold LTO link patch, fixed upstream in 3.1
  o temporarily disable clang
+ blino <blino>
- buildconflict with clang < 3.1 since it would fail to build with gcc 4.7 headers

* Wed Jun 27 2012 fwang <fwang> 3.0-8.mga3
+ Revision: 264273
- rebuild for new gcc

* Thu Apr 12 2012 blino <blino> 3.0-7.mga2
+ Revision: 230547
- move libLLVM.so in devel package

* Thu Apr 12 2012 blino <blino> 3.0-6.mga2
+ Revision: 230524
- llvm-devel should require the library package

* Thu Apr 12 2012 fwang <fwang> 3.0-5.mga2
+ Revision: 230344
- add conflicts so that it upgrades correctly

* Thu Apr 12 2012 blino <blino> 3.0-4.mga2
+ Revision: 230340
- split out static libs, headers and config binary in a devel package
- do not package LLVMHello.so (taken from Fedora)
- move sub-libs in library package (but exclude big clang)

* Wed Apr 11 2012 blino <blino> 3.0-3.mga2
+ Revision: 230271
- add clang and enable it by default (most spec bits are copied from Fedora)
+ fwang <fwang>
- add upstream patch to fix gold link

* Mon Dec 05 2011 fwang <fwang> 3.0-1.mga2
+ Revision: 176830
- update file list
- update file list
- Copy missing file into the expected location
- new version 3.0

* Wed Nov 09 2011 anssi <anssi> 2.9-2.mga2
+ Revision: 165987
- split libLLVM shared library to a library package, allowing
  e.g. DRI drivers to link to it instead of using static linking
- make "llvm-config --libs" print the shared library instead of
  static libraries (config-shared.patch)
- add soname to libLLVM (soname.patch)
- versionize obsoletes
- move the libLLVM shared library to a standard path
- build with libffi support
- build with PIC enabled on all platforms
- drop wrong rpaths from binaries
- add development symlink for the libLLVM shared library
- fix typo in obsoletes

* Wed Jun 22 2011 fwang <fwang> 2.9-1.mga2
+ Revision: 111941
- new version 2.9

* Fri Feb 11 2011 ahmad <ahmad> 2.8-4.mga1
+ Revision: 50381
- imported package llvm


* Sun Dec 26 2010 Funda Wang <fwang@mandriva.org> 2.8-3mdv2011.0
+ Revision: 625147
- fix config script

* Sun Dec 26 2010 Funda Wang <fwang@mandriva.org> 2.8-2mdv2011.0
+ Revision: 625136
- add upstream patch to fix downstream program compiling
- fix linking problem when building with cmake

* Sun Oct 24 2010 Funda Wang <fwang@mandriva.org> 2.8-1mdv2011.0
+ Revision: 588692
- update file list
- new version 2.8

* Sat Oct 02 2010 Anssi Hannula <anssi@mandriva.org> 2.7-3mdv2011.0
+ Revision: 582535
- rebuild for new ocaml
- fix license tag to adhere policy

* Sat Sep 04 2010 Emmanuel Andry <eandry@mandriva.org> 2.7-2mdv2011.0
+ Revision: 575900
- rebuild

* Tue Jul 27 2010 John Balcaen <mikala@mandriva.org> 2.7-1mdv2011.0
+ Revision: 561372
- Update to 2.7
- fix %%files list
- fix %%makeinstall_std installation path

* Thu Jan 28 2010 Funda Wang <fwang@mandriva.org> 2.6-2mdv2010.1
+ Revision: 497583
- rebuild for new ocaml

* Tue Nov 24 2009 Funda Wang <fwang@mandriva.org> 2.6-1mdv2010.1
+ Revision: 469643
- update file list
- new version 2.6

* Sun Sep 27 2009 Olivier Blin <oblin@mandriva.com> 2.5-8mdv2010.0
+ Revision: 450115
- make the configure stuff know about mips and mipsel
  (rediffed patch from Arnaud Patard)

  + Nicolas Lécureuil <nlecureuil@mandriva.com>
    - Fix macro

* Thu Sep 17 2009 Nicolas Lécureuil <nlecureuil@mandriva.com> 2.5-7mdv2010.0
+ Revision: 443995
- Fix build
- Fix build on 64 bit arch

* Thu Sep 17 2009 Nicolas Lécureuil <nlecureuil@mandriva.com> 2.5-6mdv2010.0
+ Revision: 443921
- Do not use Pic on i586

* Wed Sep 16 2009 Nicolas Lécureuil <nlecureuil@mandriva.com> 2.5-5mdv2010.0
+ Revision: 443651
- Really disable assertions

* Wed Sep 16 2009 Nicolas Lécureuil <nlecureuil@mandriva.com> 2.5-4mdv2010.0
+ Revision: 443345
- Do not build with assert ( openctl does not support it)

* Wed Jul 29 2009 Funda Wang <fwang@mandriva.org> 2.5-3mdv2010.0
+ Revision: 403563
- bump rel
- fix build with gcc4.4
- rebuild for new ocaml

* Wed May 27 2009 Eugeni Dodonov <eugeni@mandriva.com> 2.5-1mdv2010.0
+ Revision: 380082
- Updated to 2.5.
  Dropped P0 and P2 (integrated upstream).

* Fri Apr 10 2009 Funda Wang <fwang@mandriva.org> 2.3-5mdv2009.1
+ Revision: 365764
- fix str fmt

* Thu Sep 18 2008 Helio Chissini de Castro <helio@mandriva.com> 2.3-5mdv2009.0
+ Revision: 285655
- Yeah, bad idea let devel doc enabled by default

* Tue Sep 16 2008 Helio Chissini de Castro <helio@mandriva.com> 2.3-4mdv2009.0
+ Revision: 285358
- Simplify package which is a compiler and never was suppose to be splitted at begin. Doc is integrated in one only package too

* Fri Jul 04 2008 Helio Chissini de Castro <helio@mandriva.com> 2.3-2mdv2009.0
+ Revision: 231722
- Fix llvm-config to match lib dir

* Tue Jul 01 2008 Helio Chissini de Castro <helio@mandriva.com> 2.3-1mdv2009.0
+ Revision: 230557
- import llvm


* Tue Jul 1 2008 Helio Chissini de Castro <helio@mandriva.com> - 2.3
- initial build version 2.3
- Based on fedora-llvm package 2.2-4
openSUSE Build Service is sponsored by