diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9609a9c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+SOURCES/hans-gpg-key.asc
+SOURCES/llvm-10.0.0.src.tar.xz
diff --git a/.llvm.metadata b/.llvm.metadata
new file mode 100644
index 0000000..0132433
--- /dev/null
+++ b/.llvm.metadata
@@ -0,0 +1,2 @@
+32fa4b0193960f05064f2ab31b5a89c7cf48a0b9 SOURCES/hans-gpg-key.asc
+85f2d89205fb190c61c8a98dad2a58e27a1540da SOURCES/llvm-10.0.0.src.tar.xz
diff --git a/SOURCES/0001-CMake-Split-static-library-exports-into-their-own-ex.patch b/SOURCES/0001-CMake-Split-static-library-exports-into-their-own-ex.patch
new file mode 100644
index 0000000..e780c34
--- /dev/null
+++ b/SOURCES/0001-CMake-Split-static-library-exports-into-their-own-ex.patch
@@ -0,0 +1,66 @@
+From 8f6917ea11bd1bfbfe07f3577756d1c4abfdb916 Mon Sep 17 00:00:00 2001
+From: Tom Stellard <tstellar@redhat.com>
+Date: Fri, 6 Sep 2019 11:03:18 -0700
+Subject: [PATCH] CMake: Split static library exports into their own export
+ file
+
+---
+ llvm/cmake/modules/AddLLVM.cmake       | 6 +++++-
+ llvm/cmake/modules/CMakeLists.txt      | 3 +++
+ llvm/cmake/modules/LLVMConfig.cmake.in | 2 ++
+ 3 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
+index 619e986..200fc45 100644
+--- a/llvm/cmake/modules/AddLLVM.cmake
++++ b/llvm/cmake/modules/AddLLVM.cmake
+@@ -691,7 +691,11 @@ macro(add_llvm_library name)
+       if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
+           (in_llvm_libs AND "llvm-libraries" IN_LIST LLVM_DISTRIBUTION_COMPONENTS) OR
+           NOT LLVM_DISTRIBUTION_COMPONENTS)
+-        set(export_to_llvmexports EXPORT LLVMExports)
++        if (ARG_SHARED)
++          set(export_to_llvmexports EXPORT LLVMExports)
++        else()
++          set(export_to_llvmexports EXPORT LLVMStaticExports)
++        endif()
+         set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
+       endif()
+ 
+diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
+index 9cf22b4..dc982d2 100644
+--- a/llvm/cmake/modules/CMakeLists.txt
++++ b/llvm/cmake/modules/CMakeLists.txt
+@@ -105,6 +105,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")
+ set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
+ set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
+ set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
++set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
+ configure_file(
+   LLVMConfig.cmake.in
+   ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
+@@ -121,6 +122,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+   if(llvm_has_exports)
+     install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
+             COMPONENT cmake-exports)
++    install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
++            COMPONENT cmake-exports)
+   endif()
+ 
+   install(FILES
+diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
+index 536031f..6ef54a0 100644
+--- a/llvm/cmake/modules/LLVMConfig.cmake.in
++++ b/llvm/cmake/modules/LLVMConfig.cmake.in
+@@ -89,6 +89,8 @@ if(NOT TARGET LLVMSupport)
+   set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@")
+   include("@LLVM_CONFIG_EXPORTS_FILE@")
+   @llvm_config_include_buildtree_only_exports@
++
++  include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
+ endif()
+ 
+ # By creating intrinsics_gen here, subprojects that depend on LLVM's
+-- 
+1.8.3.1
+
diff --git a/SOURCES/0001-CMake-Split-test-binary-exports-into-their-own-expor.patch b/SOURCES/0001-CMake-Split-test-binary-exports-into-their-own-expor.patch
new file mode 100644
index 0000000..a3801ff
--- /dev/null
+++ b/SOURCES/0001-CMake-Split-test-binary-exports-into-their-own-expor.patch
@@ -0,0 +1,65 @@
+From 9d496e978f59e153bb76e92229d5a524d92dee04 Mon Sep 17 00:00:00 2001
+From: Tom Stellard <tstellar@redhat.com>
+Date: Tue, 10 Sep 2019 13:33:48 -0700
+Subject: [PATCH] CMake: Split test binary exports into their own export file
+
+---
+ llvm/cmake/modules/AddLLVM.cmake       | 7 ++++++-
+ llvm/cmake/modules/CMakeLists.txt      | 3 +++
+ llvm/cmake/modules/LLVMConfig.cmake.in | 1 +
+ 3 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
+index 200fc45..9eec7a7 100644
+--- a/llvm/cmake/modules/AddLLVM.cmake
++++ b/llvm/cmake/modules/AddLLVM.cmake
+@@ -953,7 +953,12 @@ macro(add_llvm_utility name)
+       set(export_to_llvmexports)
+       if (${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
+           NOT LLVM_DISTRIBUTION_COMPONENTS)
+-        set(export_to_llvmexports EXPORT LLVMExports)
++        if (${name} STREQUAL "not" OR ${name} STREQUAL "count" OR
++            ${name} STREQUAL "yaml-bench" OR ${name} STREQUAL "lli-child-target")
++          set(export_to_llvmexports EXPORT LLVMTestExports)
++        else()
++          set(export_to_llvmexports EXPORT LLVMExports)
++        endif()
+         set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
+       endif()
+ 
+diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt
+index dc982d2..c861f45 100644
+--- a/llvm/cmake/modules/CMakeLists.txt
++++ b/llvm/cmake/modules/CMakeLists.txt
+@@ -106,6 +106,7 @@ set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")
+ set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")
+ set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")
+ set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake")
++set(LLVM_CONFIG_TEST_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMTestExports.cmake")
+ configure_file(
+   LLVMConfig.cmake.in
+   ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake
+@@ -124,6 +125,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+             COMPONENT cmake-exports)
+     install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
+             COMPONENT cmake-exports)
++    install(EXPORT LLVMTestExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}
++            COMPONENT cmake-exports)
+   endif()
+ 
+   install(FILES
+diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in
+index 6ef54a0..d81b09a 100644
+--- a/llvm/cmake/modules/LLVMConfig.cmake.in
++++ b/llvm/cmake/modules/LLVMConfig.cmake.in
+@@ -91,6 +91,7 @@ if(NOT TARGET LLVMSupport)
+   @llvm_config_include_buildtree_only_exports@
+ 
+   include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)
++  include("@LLVM_CONFIG_TEST_EXPORTS_FILE@" OPTIONAL)
+ endif()
+ 
+ # By creating intrinsics_gen here, subprojects that depend on LLVM's
+-- 
+1.8.3.1
+
diff --git a/SOURCES/0001-Deactivate-markdown-doc.patch b/SOURCES/0001-Deactivate-markdown-doc.patch
new file mode 100644
index 0000000..d9e402a
--- /dev/null
+++ b/SOURCES/0001-Deactivate-markdown-doc.patch
@@ -0,0 +1,28 @@
+From e7bc515182199764b17ab3f5e22047342f9c7514 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <sguelton@redhat.com>
+Date: Thu, 13 Jun 2019 07:58:59 +0000
+Subject: [PATCH] Deactivate markdown doc
+
+---
+ llvm/docs/conf.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/llvm/docs/conf.py b/llvm/docs/conf.py
+index 4a52df8..340cd07 100644
+--- a/llvm/docs/conf.py
++++ b/llvm/docs/conf.py
+@@ -32,9 +32,9 @@ extensions = ['sphinx.ext.intersphinx', 'sphinx.ext.todo']
+ templates_path = ['_templates']
+ 
+ # The suffix of source filenames.
+-source_suffix = ['.rst', '.md']
++source_suffix = ['.rst']
+ 
+-source_parsers = {'.md': 'recommonmark.parser.CommonMarkParser'}
++source_parsers = {}
+ 
+ # The encoding of source files.
+ #source_encoding = 'utf-8-sig'
+-- 
+1.8.3.1
+
diff --git a/SOURCES/bab5908df544680ada0a3cf431f55aeccfbdb321.patch b/SOURCES/bab5908df544680ada0a3cf431f55aeccfbdb321.patch
new file mode 100644
index 0000000..2a93e6a
--- /dev/null
+++ b/SOURCES/bab5908df544680ada0a3cf431f55aeccfbdb321.patch
@@ -0,0 +1,23 @@
+From bab5908df544680ada0a3cf431f55aeccfbdb321 Mon Sep 17 00:00:00 2001
+From: serge-sans-paille <sguelton@redhat.com>
+Date: Mon, 13 Apr 2020 13:44:15 +0200
+Subject: [PATCH] Normalize working directory when running llvm-mc in test
+
+Otherwise, depending on the lit location used to run the test, llvm-mc adds an
+include_directories entry in the dwarf output, which breaks tests in some setup.
+
+Differential Revision: https://reviews.llvm.org/D77876
+---
+ llvm/test/MC/MachO/gen-dwarf.s | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/llvm/test/MC/MachO/gen-dwarf.s b/llvm/test/MC/MachO/gen-dwarf.s
+index 0813856d625f..6d39d278e818 100644
+--- a/llvm/test/MC/MachO/gen-dwarf.s
++++ b/llvm/test/MC/MachO/gen-dwarf.s
+@@ -1,4 +1,4 @@
+-// RUN: llvm-mc -g -triple i386-apple-darwin10 %s -filetype=obj -o %t
++// RUN: mkdir -p %t0 && cd %t0 && llvm-mc -g -triple i386-apple-darwin10 %s -filetype=obj -o %t
+ // RUN: llvm-dwarfdump -all %t | FileCheck %s
+ 
+ .globl _bar
diff --git a/SOURCES/lit.fedora.cfg.py b/SOURCES/lit.fedora.cfg.py
new file mode 100644
index 0000000..1c918b4
--- /dev/null
+++ b/SOURCES/lit.fedora.cfg.py
@@ -0,0 +1,17 @@
+
+config.llvm_tools_dir = '/usr/bin'
+config.llvm_shlib_dir = '%(llvm_shlib_dir)s' % lit_config.params
+
+if hasattr(config, 'host_triple'):
+    # This means we are running lit regression tests
+
+    # Regression tests write output to this directory, so we need to be able to specify
+    # a temp directory when invoking lit. e.g. lit -Dllvm_obj_root=/tmp/lit
+    config.llvm_obj_root = "%(llvm_obj_root)s" % lit_config.params
+    lit_config.load_config(config, '%(llvm_test_root)s/lit.cfg.py' % lit_config.params)
+else:
+    # This means we are running lit unit tests
+
+    # For unit tests, llvm_obj_root is used to find the unit test binaries.
+    config.llvm_obj_root = '%(llvm_unittest_bindir)s' % lit_config.params
+    lit_config.load_config(config, '%(llvm_test_root)s/Unit/lit.cfg.py' % lit_config.params)
diff --git a/SOURCES/llvm-10.0.0.src.tar.xz.sig b/SOURCES/llvm-10.0.0.src.tar.xz.sig
new file mode 100644
index 0000000..00138e7
Binary files /dev/null and b/SOURCES/llvm-10.0.0.src.tar.xz.sig differ
diff --git a/SOURCES/run-lit-tests b/SOURCES/run-lit-tests
new file mode 100755
index 0000000..a0f27d8
--- /dev/null
+++ b/SOURCES/run-lit-tests
@@ -0,0 +1,58 @@
+#!/bin/bash
+
+usage() {
+    echo "usage: `basename $0` [OPTIONS]"
+    echo "  --threads NUM         The number of threads to use for running tests."
+    echo "  --multilib-arch ARCH  Use this option to test 32-bit libs/binaries on"
+    echo "                        64-bit hosts."
+}
+
+threads_arg=''
+
+while [ $# -gt 0 ]; do
+    case $1 in
+        --threads)
+            shift
+            threads_arg="--threads $1"
+            ;;
+	--multilib-arch)
+            shift
+	    ARCH=$1
+	    ;;
+        * )
+            echo "unknown option: $1"
+            echo ""
+            usage
+            exit 1
+            ;;
+    esac
+    shift
+done
+
+set -xe
+
+if [ -z "$ARCH" ]; then
+    ARCH=`rpm --eval '%_arch'`
+fi
+
+case $ARCH in
+    arm)
+	;&
+    i686)
+        LIB_DIR="/usr/lib/"
+        ;;
+    *)
+        LIB_DIR="/usr/lib64/"
+        ;;
+esac
+
+cd $(mktemp -d)
+ln -s /usr/include include
+tar -xzf /usr/share/llvm/src/test.tar.gz
+ln -s $ARCH.site.cfg.py test/lit.site.cfg.py
+ln -s $ARCH.site.cfg.py test/Unit/lit.site.cfg.py
+lit -v -s $threads_arg test \
+	-Dllvm_obj_root=`pwd` \
+	-Dllvm_test_root=`pwd`/test \
+	-Dllvm_unittest_bindir=$LIB_DIR/llvm \
+	-Dllvm_shlib_dir=$LIB_DIR
diff --git a/SPECS/llvm.spec b/SPECS/llvm.spec
new file mode 100644
index 0000000..2027a30
--- /dev/null
+++ b/SPECS/llvm.spec
@@ -0,0 +1,786 @@
+# Components enabled if supported by target architecture:
+%define gold_arches %{ix86} x86_64 %{arm} aarch64 %{power64}
+%ifarch %{gold_arches}
+  %bcond_without gold
+%else
+  %bcond_with gold
+%endif
+
+%bcond_with compat_build
+
+%global llvm_libdir %{_libdir}/%{name}
+%global build_llvm_libdir %{buildroot}%{llvm_libdir}
+#%%global rc_ver 6
+%global baserelease 1
+%global llvm_srcdir llvm-%{version}%{?rc_ver:rc%{rc_ver}}.src
+%global maj_ver 10
+%global min_ver 0
+%global patch_ver 0
+
+%if %{with compat_build}
+%global pkg_name llvm%{maj_ver}.%{min_ver}
+%global exec_suffix -%{maj_ver}.%{min_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_bindir %{install_bindir}
+%global pkg_includedir %{_includedir}/%{name}
+%global pkg_libdir %{install_libdir}
+%else
+%global pkg_name llvm
+%global install_prefix /usr
+%global install_libdir %{_libdir}
+%global pkg_libdir %{install_libdir}
+%endif
+
+%global build_install_prefix %{buildroot}%{install_prefix}
+
+%if !0%{?rhel}
+# libedit-devel is a buildroot-only package in RHEL8, so we can't have a
+# any run-time depencies on it.
+%global use_libedit 1
+%endif
+
+Name:		%{pkg_name}
+Version:	%{maj_ver}.%{min_ver}.%{patch_ver}
+Release:	%{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist}
+Summary:	The Low Level Virtual Machine
+
+License:	NCSA
+URL:		http://llvm.org
+%if 0%{?rc_ver:1}
+Source0:	https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{llvm_srcdir}.tar.xz
+Source3:	https://prereleases.llvm.org/%{version}/rc%{rc_ver}/%{llvm_srcdir}.tar.xz.sig
+%else
+Source0:	https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{llvm_srcdir}.tar.xz
+Source3:	https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{llvm_srcdir}.tar.xz.sig
+%endif
+%if %{without compat_build}
+Source1:	run-lit-tests
+Source2:	lit.fedora.cfg.py
+%endif
+Source4:	https://prereleases.llvm.org/%{version}/hans-gpg-key.asc
+
+##Patch0:		0001-Filter-out-cxxflags-not-supported-by-clang.patch
+Patch2:		0001-CMake-Split-static-library-exports-into-their-own-ex.patch
+Patch3:		0001-CMake-Split-test-binary-exports-into-their-own-expor.patch
+Patch4:		bab5908df544680ada0a3cf431f55aeccfbdb321.patch
+
+# RHEL-specific patches.
+Patch101:	0001-Deactivate-markdown-doc.patch
+# Patches to convert md files to rst since we don't have the md parser in RHEL.
+#Patch102:	0001-Docs-llvm-strip-Add-help-text-to-llvm-strip-rst-doc.patch
+#Patch103:	0001-docs-Convert-remaining-command-guide-entries-from-md.patch
+### Fix crash in kernel bpf self-tests
+##Patch5: 0001-BPF-Handling-type-conversions-correctly-for-CO-RE.patch
+##Patch6: 0001-BPF-annotate-DIType-metadata-for-builtin-preseve_arr.patch
+##
+### Fix Rust codegen bug, https://github.com/rust-lang/rust/issues/69225
+##Patch7:	0001-Revert-SCEV-add-no-wrap-flag-for-SCEVAddExpr.patch
+
+BuildRequires:	gcc
+BuildRequires:	gcc-c++
+BuildRequires:	cmake
+BuildRequires:	ninja-build
+BuildRequires:	zlib-devel
+BuildRequires:	libffi-devel
+BuildRequires:	ncurses-devel
+BuildRequires:	python3-sphinx
+%if !0%{?rhel}
+BuildRequires:	python3-recommonmark
+%else
+BuildRequires:	pandoc
+%endif
+BuildRequires:	multilib-rpm-config
+%if %{with gold}
+BuildRequires:	binutils-devel
+%endif
+%ifarch %{valgrind_arches}
+# Enable extra functionality when run the LLVM JIT under valgrind.
+BuildRequires:	valgrind-devel
+%endif
+%if 0%{?use_libedit}
+# LLVM's LineEditor library will use libedit if it is available.
+BuildRequires:	libedit-devel
+%endif
+# We need python3-devel for pathfix.py.
+BuildRequires:	python3-devel
+
+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 devel
+Summary:	Libraries and header files for LLVM
+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.
+%if 0%{?use_libedit}
+Requires:	libedit-devel
+%endif
+Requires(post):	%{_sbindir}/alternatives
+Requires(postun):	%{_sbindir}/alternatives
+
+Provides:	llvm-devel(major) = %{maj_ver}
+
+%description 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
+BuildArch:	noarch
+Requires:	%{name} = %{version}-%{release}
+
+%description doc
+Documentation for the LLVM compiler infrastructure.
+
+%package libs
+Summary:	LLVM shared libraries
+
+%description libs
+Shared libraries for the LLVM compiler infrastructure.
+
+%package static
+Summary:	LLVM static libraries
+Conflicts:	%{name}-devel < 8
+
+%description static
+Static libraries for the LLVM compiler infrastructure.
+
+%if %{without compat_build}
+
+%package test
+Summary:	LLVM regression tests
+Requires:	%{name}%{?_isa} = %{version}-%{release}
+Requires:	%{name}-libs%{?_isa} = %{version}-%{release}
+Requires:	python3-lit
+# The regression tests need gold.
+Requires:	binutils
+# This is for llvm-config
+Requires:	%{name}-devel%{?_isa} = %{version}-%{release}
+# Bugpoint tests require gcc
+Requires:	gcc
+Requires:	findutils
+
+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.
+
+%endif
+
+%prep
+%autosetup -n %{llvm_srcdir} -p2
+
+pathfix.py -i %{__python3} -pn \
+	test/BugPoint/compile-custom.ll.py \
+	tools/opt-viewer/*.py
+
+# Convert markdown files to rst to cope with the absence of recommonmark in rhel.
+# The sed expression takes care of a slight difference between pandoc markdown and sphinx markdown.
+find -name '*.md' | while read md; do sed -r -e 's/^( )*\* /\n\1\* /' ${md} | pandoc -f markdown -o ${md%.md}.rst  ; done
+
+%build
+mkdir -p _build
+cd _build
+
+%ifarch s390 %{arm} %ix86
+# Decrease debuginfo verbosity to reduce memory consumption during final library linking
+%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
+%endif
+
+# force off shared libs as cmake macros turns it on.
+#
+# -DCMAKE_INSTALL_RPATH=";" is a workaround for llvm manually setting the
+# rpath of libraries and binaries.  llvm will skip the manual setting
+# if CAMKE_INSTALL_RPATH is set to a value, but cmake interprets this value
+# as nothing, so it sets the rpath to "" when installing.
+%cmake .. -G Ninja \
+	-DBUILD_SHARED_LIBS:BOOL=OFF \
+	-DLLVM_PARALLEL_LINK_JOBS=1 \
+	-DCMAKE_BUILD_TYPE=RelWithDebInfo \
+	-DCMAKE_INSTALL_RPATH=";" \
+%ifarch s390 %{arm} %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="X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF" \
+	-DLLVM_ENABLE_LIBCXX:BOOL=OFF \
+	-DLLVM_ENABLE_ZLIB:BOOL=ON \
+	-DLLVM_ENABLE_FFI:BOOL=ON \
+	-DLLVM_ENABLE_RTTI:BOOL=ON \
+%if %{with gold}
+	-DLLVM_BINUTILS_INCDIR=%{_includedir} \
+%endif
+	\
+	-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_INCLUDE_EXAMPLES:BOOL=ON \
+	-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
+	\
+	-DLLVM_INCLUDE_UTILS:BOOL=ON \
+%if %{with compat_build}
+	-DLLVM_INSTALL_UTILS:BOOL=OFF \
+%else
+	-DLLVM_INSTALL_UTILS:BOOL=ON \
+	-DLLVM_UTILS_INSTALL_DIR:PATH=%{_bindir} \
+	-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \
+%endif
+	\
+	-DLLVM_INCLUDE_DOCS:BOOL=ON \
+	-DLLVM_BUILD_DOCS:BOOL=ON \
+	-DLLVM_ENABLE_SPHINX:BOOL=ON \
+	-DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
+	\
+	-DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
+	-DLLVM_DYLIB_EXPORT_ALL:BOOL=ON \
+	-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
+	-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
+	-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
+	\
+	-DSPHINX_WARNINGS_AS_ERRORS=OFF \
+	-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
+	-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \
+	-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3
+
+# 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.
+%ninja_build LLVM
+%ninja_build
+
+%install
+%ninja_install -C _build
+
+
+%if %{without compat_build}
+mkdir -p %{buildroot}/%{_bindir}
+mv %{buildroot}/%{_bindir}/llvm-config %{buildroot}/%{_bindir}/llvm-config-%{__isa_bits}
+
+# Fix some man pages
+ln -s llvm-config.1 %{buildroot}%{_mandir}/man1/llvm-config-%{__isa_bits}.1
+mv %{buildroot}%{_mandir}/man1/tblgen.1 %{buildroot}%{_mandir}/man1/llvm-tblgen.1
+
+# Install binaries needed for lit tests
+%global test_binaries llvm-isel-fuzzer llvm-opt-fuzzer
+
+for f in %{test_binaries}
+do
+    install -m 0755 ./_build/bin/$f %{buildroot}%{_bindir}
+done
+
+# Remove testing of update utility tools
+rm -rf test/tools/UpdateTestChecks
+
+%multilib_fix_c_header --file %{_includedir}/llvm/Config/llvm-config.h
+
+# Install libraries needed for unittests
+%if 0%{?__isa_bits} == 64
+%global build_libdir _build/lib64
+%else
+%global build_libdir _build/lib
+%endif
+
+install %{build_libdir}/libLLVMTestingSupport.a %{buildroot}%{_libdir}
+
+%global install_srcdir %{buildroot}%{_datadir}/llvm/src
+%global lit_cfg test/%{_arch}.site.cfg.py
+%global lit_unit_cfg test/Unit/%{_arch}.site.cfg.py
+%global lit_fedora_cfg %{_datadir}/llvm/lit.fedora.cfg.py
+
+# Install gtest sources so clang can use them for gtest
+install -d %{install_srcdir}
+install -d %{install_srcdir}/utils/
+cp -R utils/unittest %{install_srcdir}/utils/
+
+# Generate lit config files.  Strip off the last line that initiates the
+# test run, so we can customize the configuration.
+head -n -1 _build/test/lit.site.cfg.py >> %{lit_cfg}
+head -n -1 _build/test/Unit/lit.site.cfg.py >> %{lit_unit_cfg}
+
+# Install custom fedora config file
+cp %{SOURCE2} %{buildroot}%{lit_fedora_cfg}
+
+# Patch lit config files to load custom fedora config:
+for f in %{lit_cfg} %{lit_unit_cfg}; do
+  echo "lit_config.load_config(config, '%{lit_fedora_cfg}')" >> $f
+done
+
+install -d %{buildroot}%{_libexecdir}/tests/llvm
+install -m 0755 %{SOURCE1} %{buildroot}%{_libexecdir}/tests/llvm
+
+# Install lit tests.  We need to put these in a tarball otherwise rpm will complain
+# about some of the test inputs having the wrong object file format.
+install -d %{buildroot}%{_datadir}/llvm/
+tar -czf %{install_srcdir}/test.tar.gz test/
+
+# Install the unit test binaries
+mkdir -p %{build_llvm_libdir}
+cp -R _build/unittests %{build_llvm_libdir}/
+rm -rf `find %{build_llvm_libdir} -iname 'cmake*'`
+
+# Install libraries used for testing
+install -m 0755 %{build_libdir}/BugpointPasses.so %{buildroot}%{_libdir}
+install -m 0755 %{build_libdir}/LLVMHello.so %{buildroot}%{_libdir}
+
+# Install test inputs for PDB tests
+echo "%{_datadir}/llvm/src/unittests/DebugInfo/PDB" > %{build_llvm_libdir}/unittests/DebugInfo/PDB/llvm.srcdir.txt
+mkdir -p %{buildroot}%{_datadir}/llvm/src/unittests/DebugInfo/PDB/
+cp -R unittests/DebugInfo/PDB/Inputs %{buildroot}%{_datadir}/llvm/src/unittests/DebugInfo/PDB/
+
+%else
+
+# Add version suffix to binaries
+mkdir -p %{buildroot}/%{_bindir}
+for f in %{buildroot}/%{install_bindir}/*; do
+  filename=`basename $f`
+  ln -s ../../../%{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}
+done
+
+# Move header files
+mkdir -p %{buildroot}/%{pkg_includedir}
+ln -s ../../../%{install_includedir}/llvm %{buildroot}/%{pkg_includedir}/llvm
+ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c
+
+# Fix multi-lib
+mv %{buildroot}%{_bindir}/llvm-config{%{exec_suffix},%{exec_suffix}-%{__isa_bits}}
+%multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h
+
+# Create ld.so.conf.d entry
+mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
+cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf << EOF
+%{pkg_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
+
+# Remove opt-viewer, since this is just a compatibility package.
+rm -Rf %{build_install_prefix}/share/opt-viewer
+
+%endif
+
+
+%check
+# TODO: Fix test failures on arm
+ninja check-all -C _build || \
+%ifarch %{arm}
+  :
+%else
+  false
+%endif
+
+%ldconfig_scriptlets libs
+
+%if %{without compat_build}
+
+%post devel
+%{_sbindir}/update-alternatives --install %{_bindir}/llvm-config llvm-config %{_bindir}/llvm-config-%{__isa_bits} %{__isa_bits}
+
+%postun devel
+if [ $1 -eq 0 ]; then
+  %{_sbindir}/update-alternatives --remove llvm-config %{_bindir}/llvm-config
+fi
+
+%endif
+
+%files
+%exclude %{_mandir}/man1/llvm-config*
+%{_mandir}/man1/*
+%{_bindir}/*
+
+%if %{without compat_build}
+%exclude %{_bindir}/llvm-config-%{__isa_bits}
+%exclude %{_bindir}/not
+%exclude %{_bindir}/count
+%exclude %{_bindir}/yaml-bench
+%exclude %{_bindir}/lli-child-target
+%exclude %{_bindir}/llvm-isel-fuzzer
+%exclude %{_bindir}/llvm-opt-fuzzer
+%{_datadir}/opt-viewer
+%else
+%exclude %{pkg_bindir}/llvm-config
+%{pkg_bindir}
+%endif
+
+%files libs
+%{pkg_libdir}/libLLVM-%{maj_ver}.so
+%if %{without compat_build}
+%if %{with gold}
+%{_libdir}/LLVMgold.so
+%endif
+%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
+%{_libdir}/libLTO.so*
+%else
+%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf
+%if %{with gold}
+%{_libdir}/%{name}/lib/LLVMgold.so
+%endif
+%{pkg_libdir}/libLLVM-%{maj_ver}.%{min_ver}*.so
+%{pkg_libdir}/libLTO.so*
+%exclude %{pkg_libdir}/libLTO.so
+%endif
+%{pkg_libdir}/libRemarks.so*
+
+%files devel
+%if %{without compat_build}
+%{_bindir}/llvm-config-%{__isa_bits}
+%{_mandir}/man1/llvm-config*
+%{_includedir}/llvm
+%{_includedir}/llvm-c
+%{_libdir}/libLLVM.so
+%{_libdir}/cmake/llvm
+%exclude %{_libdir}/cmake/llvm/LLVMStaticExports.cmake
+%exclude %{_libdir}/cmake/llvm/LLVMTestExports.cmake
+%else
+%{_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}
+%{pkg_bindir}/llvm-config
+%{_mandir}/man1/llvm-config%{exec_suffix}.1.gz
+%{install_includedir}/llvm
+%{install_includedir}/llvm-c
+%{pkg_includedir}/llvm
+%{pkg_includedir}/llvm-c
+%{pkg_libdir}/libLTO.so
+%{pkg_libdir}/libLLVM.so
+%{pkg_libdir}/cmake/llvm
+%endif
+
+%files doc
+%doc %{_pkgdocdir}/html
+
+%files static
+%if %{without compat_build}
+%{_libdir}/*.a
+%exclude %{_libdir}/libLLVMTestingSupport.a
+%{_libdir}/cmake/llvm/LLVMStaticExports.cmake
+%else
+%{_libdir}/%{name}/lib/*.a
+%endif
+
+%if %{without compat_build}
+
+%files test
+%{_libexecdir}/tests/llvm/
+%{llvm_libdir}/unittests/
+%{_datadir}/llvm/src/unittests
+%{_datadir}/llvm/src/test.tar.gz
+%{_datadir}/llvm/lit.fedora.cfg.py
+%{_bindir}/not
+%{_bindir}/count
+%{_bindir}/yaml-bench
+%{_bindir}/lli-child-target
+%{_bindir}/llvm-isel-fuzzer
+%{_bindir}/llvm-opt-fuzzer
+%{_libdir}/BugpointPasses.so
+%{_libdir}/LLVMHello.so
+%{_libdir}/cmake/llvm/LLVMTestExports.cmake
+
+%files googletest
+%{_datadir}/llvm/src/utils
+%{_libdir}/libLLVMTestingSupport.a
+
+%endif
+
+%changelog
+* Tue Apr 7 2020 sguelton@redhat.com - 10.0.0-1
+- 10.0.0 Release
+
+* Thu Feb 27 2020 Josh Stone <jistone@redhat.com> - 9.0.1-4
+- Fix a codegen bug for Rust
+
+* Fri Jan 17 2020 Tom Stellard <tstellar@redhat.com> - 9.0.1-3
+- Add explicit Requires from sub-packages to llvm-libs
+
+* Fri Jan 10 2020 Tom Stellard <tstellar@redhat.com> - 9.0.1-2
+- Fix crash with kernel bpf self-tests
+
+* Thu Dec 19 2019 tstellar@redhat.com - 9.0.1-1
+- 9.0.1 Release
+
+* Wed Oct 30 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-5
+- Remove work-around for threading issue in gold
+
+* Wed Oct 30 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-4
+- Build libLLVM.so first to avoid OOM errors
+
+* Tue Oct 01 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-3
+- Adjust run-lit-tests script to better match in tree testing
+
+* Mon Sep 30 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-2
+- Limit number of build threads using -l option for ninja
+
+* Thu Sep 26 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-1
+- 9.0.0 Release
+
+* Thu Aug 1 2019 sguelton@redhat.com - 8.0.1-1
+- 8.0.1 release
+
+* Tue Jul 2 2019 sguelton@redhat.com - 8.0.1-0.3.rc2
+- Deactivate multithreading for gold plugin only to fix rhbz#1636479
+
+* Mon Jun 17 2019 sguelton@redhat.com - 8.0.1-0.2.rc2
+- Deactivate multithreading instead of patching to fix rhbz#1636479
+
+* Thu Jun 13 2019 sguelton@redhat.com - 8.0.1-0.1.rc2
+- 8.0.1rc2 Release
+
+* Tue May 14 2019 sguelton@redhat.com - 8.0.0-3
+- Disable threading in LTO
+
+* Wed May 8 2019 sguelton@redhat.com - 8.0.0-2
+- Fix conflicts between llvm-static = 8 and llvm-dev < 8 around LLVMStaticExports.cmake
+
+* Thu May 2 2019 sguelton@redhat.com - 8.0.0-1
+- 8.0.0 Release
+
+* Fri Dec 14 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-1
+- 7.0.1 Release
+
+* Thu Dec 13 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-0.5.rc3
+- Drop compat libs
+
+* Wed Dec 12 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-0.4.rc3
+- Fix ambiguous python shebangs
+
+* Tue Dec 11 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-0.3.rc3
+- Disable threading in thinLTO
+
+* Tue Dec 11 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-0.2.rc3
+- Update cmake options for compat build
+
+* Mon Dec 10 2018 Tom Stellard <tstellar@redhat.com> - 7.0.1-0.1.rc3
+- 7.0.1-rc3 Release
+
+* Fri Dec 07 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-14
+- Don't build llvm-test on i686
+
+* Thu Dec 06 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-13
+- Fix build when python2 is not present on system
+
+* Tue Nov 06 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-12
+- Fix multi-lib installation of llvm-devel
+
+* Tue Oct 23 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-11
+- Add sub-packages for testing
+
+* Mon Oct 01 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-10
+- Drop scl macros
+
+* Tue Aug 28 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-9
+- Drop libedit dependency
+
+* Tue Aug 14 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-8
+- Only enabled valgrind functionality on arches that support it
+
+* Mon Aug 13 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-7
+- BuildRequires: python3-devel
+
+* Mon Aug 06 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-6
+- Backport fixes for rhbz#1610053, rhbz#1562196, rhbz#1595996
+
+* Mon Aug 06 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-5
+- Fix ld.so.conf.d path in files list
+
+* Sat Aug 04 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-4
+- Fix ld.so.conf.d path
+
+* Fri Aug 03 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-3
+- Install ld.so.conf so llvm libs are in the library search path
+
+* Wed Jul 25 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-2
+- Re-enable doc package now that BREW-2381 is fixed
+
+* Tue Jul 10 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-1
+- 6.0.1 Release
+
+* Mon Jun 04 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-13
+- Limit build jobs on ppc64 to avoid OOM errors
+
+* Sat Jun 02 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-12
+- Switch to python3-sphinx
+
+* Thu May 31 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-11
+- Remove conditionals to enable building only the llvm-libs package, we don't
+  needs these for module builds.
+
+* Wed May 23 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-10
+- Add BuildRequires: libstdc++-static
+- Resolves: #1580785
+
+* Wed Apr 04 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-9
+- Add conditionals to enable building only the llvm-libs package
+
+* Tue Apr 03 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-8
+- Drop BuildRequires: libstdc++-static this package does not exist in RHEL8
+
+* Tue Mar 20 2018 Tilmann Scheller <tschelle@redhat.com> - 5.0.1-7
+- Backport fix for rhbz#1558226 from trunk
+
+* Tue Mar 06 2018 Tilmann Scheller <tschelle@redhat.com> - 5.0.1-6
+- Backport fix for rhbz#1550469 from trunk
+
+* Thu Feb 22 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-5
+- Backport some retpoline fixes
+
+* Tue Feb 06 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-4
+- Backport retpoline support
+
+* Mon Jan 29 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-3
+- Backport r315279 to fix an issue with rust
+
+* Mon Jan 15 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-2
+- Drop ExculdeArch: ppc64
+
+* Mon Jan 08 2018 Tom Stellard <tstellar@redhat.com> - 5.0.1-1
+- 5.0.1 Release
+
+* Thu Jun 22 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-3
+- Fix Requires for devel package again.
+
+* Thu Jun 22 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-2
+- Fix Requires for llvm-devel
+
+* Tue Jun 20 2017 Tom Stellard <tstellar@redhat.com> - 4.0.1-1
+- 4.0.1 Release
+
+* Mon Jun 05 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-5
+- Build for llvm-toolset-7 rename
+
+* Mon May 01 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-4
+- Remove multi-lib workarounds
+
+* Fri Apr 28 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-3
+- Fix build with llvm-toolset-4 scl
+
+* Mon Apr 03 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-2
+- Simplify spec with rpm macros.
+
+* Thu Mar 23 2017 Tom Stellard <tstellar@redhat.com> - 4.0.0-1
+- LLVM 4.0.0 Final Release
+
+* Wed Mar 22 2017 tstellar@redhat.com - 3.9.1-6
+- Fix %%postun sep for -devel package.
+
+* Mon Mar 13 2017 Tom Stellard <tstellar@redhat.com> - 3.9.1-5
+- Disable failing tests on ARM.
+
+* Sun Mar 12 2017 Peter Robinson <pbrobinson@fedoraproject.org> 3.9.1-4
+- Fix missing mask on relocation for aarch64 (rhbz 1429050)
+
+* Wed Mar 01 2017 Dave Airlie <airlied@redhat.com> - 3.9.1-3
+- revert upstream radeonsi breaking change.
+
+* Thu Feb 23 2017 Josh Stone <jistone@redhat.com> - 3.9.1-2
+- disable sphinx warnings-as-errors
+
+* Fri Feb 10 2017 Orion Poplawski <orion@cora.nwra.com> - 3.9.1-1
+- llvm 3.9.1
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.9.0-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Tue Nov 29 2016 Josh Stone <jistone@redhat.com> - 3.9.0-7
+- Apply backports from rust-lang/llvm#55, #57
+
+* Tue Nov 01 2016 Dave Airlie <airlied@gmail.com - 3.9.0-6
+- rebuild for new arches
+
+* Wed Oct 26 2016 Dave Airlie <airlied@redhat.com> - 3.9.0-5
+- apply the patch from -4
+
+* Wed Oct 26 2016 Dave Airlie <airlied@redhat.com> - 3.9.0-4
+- add fix for lldb out-of-tree build
+
+* Mon Oct 17 2016 Josh Stone <jistone@redhat.com> - 3.9.0-3
+- Apply backports from rust-lang/llvm#47, #48, #53, #54
+
+* Sat Oct 15 2016 Josh Stone <jistone@redhat.com> - 3.9.0-2
+- Apply an InstCombine backport via rust-lang/llvm#51
+
+* Wed Sep 07 2016 Dave Airlie <airlied@redhat.com> - 3.9.0-1
+- llvm 3.9.0
+- upstream moved where cmake files are packaged.
+- upstream dropped CppBackend
+
+* Wed Jul 13 2016 Adam Jackson <ajax@redhat.com> - 3.8.1-1
+- llvm 3.8.1
+- Add mips target
+- Fix some shared library mispackaging
+
+* Tue Jun 07 2016 Jan Vcelak <jvcelak@fedoraproject.org> - 3.8.0-2
+- fix color support detection on terminal
+
+* Thu Mar 10 2016 Dave Airlie <airlied@redhat.com> 3.8.0-1
+- llvm 3.8.0 release
+
+* Wed Mar 09 2016 Dan Horák <dan[at][danny.cz> 3.8.0-0.3
+- install back memory consumption workaround for s390
+
+* Thu Mar 03 2016 Dave Airlie <airlied@redhat.com> 3.8.0-0.2
+- llvm 3.8.0 rc3 release
+
+* Fri Feb 19 2016 Dave Airlie <airlied@redhat.com> 3.8.0-0.1
+- llvm 3.8.0 rc2 release
+
+* Tue Feb 16 2016 Dan Horák <dan[at][danny.cz> 3.7.1-7
+- recognize s390 as SystemZ when configuring build
+
+* Sat Feb 13 2016 Dave Airlie <airlied@redhat.com> 3.7.1-6
+- export C++ API for mesa.
+
+* Sat Feb 13 2016 Dave Airlie <airlied@redhat.com> 3.7.1-5
+- reintroduce llvm-static, clang needs it currently.
+
+* Fri Feb 12 2016 Dave Airlie <airlied@redhat.com> 3.7.1-4
+- jump back to single llvm library, the split libs aren't working very well.
+
+* Fri Feb 05 2016 Dave Airlie <airlied@redhat.com> 3.7.1-3
+- add missing obsoletes (#1303497)
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Thu Jan 07 2016 Jan Vcelak <jvcelak@fedoraproject.org> 3.7.1-1
+- new upstream release
+- enable gold linker
+
+* Wed Nov 04 2015 Jan Vcelak <jvcelak@fedoraproject.org> 3.7.0-100
+- fix Requires for subpackages on the main package
+
+* Tue Oct 06 2015 Jan Vcelak <jvcelak@fedoraproject.org> 3.7.0-100
+- initial version using cmake build system