Sync spec file with the clang6.0 package
This commit is contained in:
parent
2b91340e99
commit
74e8e2347b
95
clang.spec
95
clang.spec
@ -1,3 +1,5 @@
|
|||||||
|
%global compat_build 0
|
||||||
|
|
||||||
%global maj_ver 6
|
%global maj_ver 6
|
||||||
%global min_ver 0
|
%global min_ver 0
|
||||||
%global patch_ver 1
|
%global patch_ver 1
|
||||||
@ -26,6 +28,22 @@
|
|||||||
%{_bindir}/clang-import-test \
|
%{_bindir}/clang-import-test \
|
||||||
%{_bindir}/clang-offload-bundler
|
%{_bindir}/clang-offload-bundler
|
||||||
|
|
||||||
|
%if 0%{?compat_build}
|
||||||
|
%global pkg_name clang%{maj_ver}.%{min_ver}
|
||||||
|
# Install clang to same prefix as llvm, so that apps that use llvm-config
|
||||||
|
# will also be able to find clang libs.
|
||||||
|
%global install_prefix %{_libdir}/llvm%{maj_ver}.%{min_ver}
|
||||||
|
%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}/llvm%{maj_ver}.%{min_ver}
|
||||||
|
%global pkg_libdir %{install_libdir}
|
||||||
|
%else
|
||||||
|
%global pkg_name clang
|
||||||
|
%endif
|
||||||
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||||
%bcond_without python3
|
%bcond_without python3
|
||||||
%else
|
%else
|
||||||
@ -36,16 +54,18 @@
|
|||||||
%global clang_tools_srcdir clang-tools-extra-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
%global clang_tools_srcdir clang-tools-extra-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
%global test_suite_srcdir test-suite-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
%global test_suite_srcdir test-suite-%{version}%{?rc_ver:rc%{rc_ver}}.src
|
||||||
|
|
||||||
Name: clang
|
Name: %pkg_name
|
||||||
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
Version: %{maj_ver}.%{min_ver}.%{patch_ver}
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: A C language family front-end for LLVM
|
Summary: A C language family front-end for LLVM
|
||||||
|
|
||||||
License: NCSA
|
License: NCSA
|
||||||
URL: http://llvm.org
|
URL: http://llvm.org
|
||||||
Source0: http://llvm.org/releases/%{version}/%{clang_srcdir}.tar.xz
|
Source0: http://llvm.org/releases/%{version}/%{clang_srcdir}.tar.xz
|
||||||
|
%if !0%{?compat_build}
|
||||||
Source1: http://llvm.org/releases/%{version}/%{clang_tools_srcdir}.tar.xz
|
Source1: http://llvm.org/releases/%{version}/%{clang_tools_srcdir}.tar.xz
|
||||||
Source2: http://llvm.org/releases/%{version}/%{test_suite_srcdir}.tar.xz
|
Source2: http://llvm.org/releases/%{version}/%{test_suite_srcdir}.tar.xz
|
||||||
|
%endif
|
||||||
|
|
||||||
Source100: clang-config.h
|
Source100: clang-config.h
|
||||||
|
|
||||||
@ -56,11 +76,17 @@ Patch2: 0001-Driver-Prefer-vendor-supplied-gcc-toolchain.patch
|
|||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
|
%if 0%{?compat_build}
|
||||||
|
BuildRequires: llvm%{maj_ver}.%{min_ver}-devel = %{version}
|
||||||
|
BuildRequires: llvm%{maj_ver}.%{min_ver}-static = %{version}
|
||||||
|
%else
|
||||||
BuildRequires: llvm-devel = %{version}
|
BuildRequires: llvm-devel = %{version}
|
||||||
|
BuildRequires: llvm-static = %{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
# llvm-static is required, because clang-tablegen needs libLLVMTableGen, which
|
# llvm-static is required, because clang-tablegen needs libLLVMTableGen, which
|
||||||
# is not included in libLLVM.so.
|
# is not included in libLLVM.so.
|
||||||
BuildRequires: llvm-static = %{version}
|
|
||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
# According to https://fedoraproject.org/wiki/Packaging:Emacs a package
|
# According to https://fedoraproject.org/wiki/Packaging:Emacs a package
|
||||||
@ -124,6 +150,7 @@ Requires: %{name}-tools-extra%{?_isa} = %{version}-%{release}
|
|||||||
%description devel
|
%description devel
|
||||||
Development header files for clang.
|
Development header files for clang.
|
||||||
|
|
||||||
|
%if !0%{?compat_build}
|
||||||
%package analyzer
|
%package analyzer
|
||||||
Summary: A source code analysis framework
|
Summary: A source code analysis framework
|
||||||
License: NCSA and MIT
|
License: NCSA and MIT
|
||||||
@ -165,9 +192,13 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
|||||||
Requires: python2
|
Requires: python2
|
||||||
%description -n python2-clang
|
%description -n python2-clang
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
%if 0%{?compat_build}
|
||||||
|
%autosetup -n %{clang_srcdir} -p1
|
||||||
|
%else
|
||||||
%setup -T -q -b 1 -n %{clang_tools_srcdir}
|
%setup -T -q -b 1 -n %{clang_tools_srcdir}
|
||||||
|
|
||||||
%setup -T -q -b 2 -n %{test_suite_srcdir}
|
%setup -T -q -b 2 -n %{test_suite_srcdir}
|
||||||
@ -178,6 +209,7 @@ Requires: python2
|
|||||||
%patch2 -p1 -b .vendor-gcc
|
%patch2 -p1 -b .vendor-gcc
|
||||||
|
|
||||||
mv ../%{clang_tools_srcdir} tools/extra
|
mv ../%{clang_tools_srcdir} tools/extra
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
@ -198,12 +230,24 @@ cd _build
|
|||||||
%cmake .. \
|
%cmake .. \
|
||||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
-DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
|
||||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||||
|
%if 0%{?compat_build}
|
||||||
|
-DLLVM_CONFIG:FILEPATH=%{_bindir}/llvm-config-%{maj_ver}.%{min_ver}-%{__isa_bits} \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=%{install_prefix} \
|
||||||
|
-DCLANG_INCLUDE_TESTS:BOOL=OFF \
|
||||||
|
%else
|
||||||
-DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \
|
-DLLVM_CONFIG:FILEPATH=/usr/bin/llvm-config-%{__isa_bits} \
|
||||||
|
-DCLANG_INCLUDE_TESTS:BOOL=ON \
|
||||||
|
-DLLVM_EXTERNAL_LIT=%{python2_sitelib}/lit/main.py \
|
||||||
|
%if 0%{?__isa_bits} == 64
|
||||||
|
-DLLVM_LIBDIR_SUFFIX=64 \
|
||||||
|
%else
|
||||||
|
-DLLVM_LIBDIR_SUFFIX= \
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
\
|
\
|
||||||
-DCLANG_ENABLE_ARCMT:BOOL=ON \
|
-DCLANG_ENABLE_ARCMT:BOOL=ON \
|
||||||
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
|
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
|
||||||
-DCLANG_INCLUDE_DOCS:BOOL=ON \
|
-DCLANG_INCLUDE_DOCS:BOOL=ON \
|
||||||
-DCLANG_INCLUDE_TESTS:BOOL=ON \
|
|
||||||
-DCLANG_PLUGIN_SUPPORT:BOOL=ON \
|
-DCLANG_PLUGIN_SUPPORT:BOOL=ON \
|
||||||
-DENABLE_LINKER_BUILD_ID:BOOL=ON \
|
-DENABLE_LINKER_BUILD_ID:BOOL=ON \
|
||||||
-DLLVM_ENABLE_EH=ON \
|
-DLLVM_ENABLE_EH=ON \
|
||||||
@ -211,14 +255,8 @@ cd _build
|
|||||||
-DLLVM_BUILD_DOCS=ON \
|
-DLLVM_BUILD_DOCS=ON \
|
||||||
-DLLVM_ENABLE_SPHINX=ON \
|
-DLLVM_ENABLE_SPHINX=ON \
|
||||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||||
-DLLVM_EXTERNAL_LIT=%{python2_sitelib}/lit/main.py \
|
|
||||||
\
|
\
|
||||||
-DCLANG_BUILD_EXAMPLES:BOOL=OFF \
|
-DCLANG_BUILD_EXAMPLES:BOOL=OFF \
|
||||||
%if 0%{?__isa_bits} == 64
|
|
||||||
-DLLVM_LIBDIR_SUFFIX=64 \
|
|
||||||
%else
|
|
||||||
-DLLVM_LIBDIR_SUFFIX= \
|
|
||||||
%endif
|
|
||||||
-DLIB_SUFFIX=
|
-DLIB_SUFFIX=
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
@ -226,6 +264,20 @@ make %{?_smp_mflags}
|
|||||||
%install
|
%install
|
||||||
make install DESTDIR=%{buildroot} -C _build
|
make install DESTDIR=%{buildroot} -C _build
|
||||||
|
|
||||||
|
%if 0%{?compat_build}
|
||||||
|
|
||||||
|
# Remove binaries/other files
|
||||||
|
rm -Rf %{buildroot}%{install_bindir}
|
||||||
|
rm -Rf %{buildroot}%{install_prefix}/share
|
||||||
|
rm -Rf %{buildroot}%{install_prefix}/libexec
|
||||||
|
|
||||||
|
# Move include files
|
||||||
|
mkdir -p %{buildroot}%{pkg_includedir}
|
||||||
|
mv %{buildroot}/%{install_includedir}/clang %{buildroot}/%{pkg_includedir}/
|
||||||
|
mv %{buildroot}/%{install_includedir}/clang-c %{buildroot}/%{pkg_includedir}/
|
||||||
|
|
||||||
|
%else
|
||||||
|
|
||||||
sed -i -e 's~#!/usr/bin/env python~#!%{_bindir}/python2~' %{buildroot}%{_bindir}/git-clang-format
|
sed -i -e 's~#!/usr/bin/env python~#!%{_bindir}/python2~' %{buildroot}%{_bindir}/git-clang-format
|
||||||
|
|
||||||
# install clang python bindings
|
# install clang python bindings
|
||||||
@ -260,7 +312,10 @@ rm -vf %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
|
|||||||
# Add clang++-{version} sylink
|
# Add clang++-{version} sylink
|
||||||
ln -s %{_bindir}/clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}.%{min_ver}
|
ln -s %{_bindir}/clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}.%{min_ver}
|
||||||
|
|
||||||
|
%endif
|
||||||
|
|
||||||
%check
|
%check
|
||||||
|
%if !0%{?compat_build}
|
||||||
# requires lit.py from LLVM utilities
|
# requires lit.py from LLVM utilities
|
||||||
cd _build
|
cd _build
|
||||||
# FIXME: Fix failing ARM tests
|
# FIXME: Fix failing ARM tests
|
||||||
@ -279,8 +334,10 @@ cd %{_builddir}/%{test_suite_srcdir}/_build
|
|||||||
cmake .. -DCMAKE_C_COMPILER=%{buildroot}/usr/bin/clang \
|
cmake .. -DCMAKE_C_COMPILER=%{buildroot}/usr/bin/clang \
|
||||||
-DCMAKE_CXX_COMPILER=%{buildroot}/usr/bin/clang++
|
-DCMAKE_CXX_COMPILER=%{buildroot}/usr/bin/clang++
|
||||||
make %{?_smp_mflags} check || :
|
make %{?_smp_mflags} check || :
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%if !0%{?compat_build}
|
||||||
%files
|
%files
|
||||||
%{_libdir}/clang/
|
%{_libdir}/clang/
|
||||||
%{clang_binaries}
|
%{clang_binaries}
|
||||||
@ -289,17 +346,31 @@ make %{?_smp_mflags} check || :
|
|||||||
%{_emacs_sitestartdir}/clang-format.el
|
%{_emacs_sitestartdir}/clang-format.el
|
||||||
%{_datadir}/clang/clang-format.py*
|
%{_datadir}/clang/clang-format.py*
|
||||||
%{_datadir}/clang/clang-format-diff.py*
|
%{_datadir}/clang/clang-format-diff.py*
|
||||||
|
%endif
|
||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
|
%if !0%{?compat_build}
|
||||||
%{_libdir}/*.so.*
|
%{_libdir}/*.so.*
|
||||||
%{_libdir}/*.so
|
%{_libdir}/*.so
|
||||||
|
%else
|
||||||
|
%{pkg_libdir}/*.so.*
|
||||||
|
%{pkg_libdir}/*.so
|
||||||
|
%{pkg_libdir}/clang/%{version}
|
||||||
|
%endif
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
|
%if !0%{?compat_build}
|
||||||
%{_includedir}/clang/
|
%{_includedir}/clang/
|
||||||
%{_includedir}/clang-c/
|
%{_includedir}/clang-c/
|
||||||
%{_libdir}/cmake/*
|
%{_libdir}/cmake/*
|
||||||
%dir %{_datadir}/clang/
|
%dir %{_datadir}/clang/
|
||||||
|
%else
|
||||||
|
%{pkg_includedir}/clang/
|
||||||
|
%{pkg_includedir}/clang-c/
|
||||||
|
%{pkg_libdir}/cmake/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if !0%{?compat_build}
|
||||||
%files analyzer
|
%files analyzer
|
||||||
%{_bindir}/scan-view
|
%{_bindir}/scan-view
|
||||||
%{_bindir}/scan-build
|
%{_bindir}/scan-build
|
||||||
@ -328,7 +399,11 @@ make %{?_smp_mflags} check || :
|
|||||||
%files -n python2-clang
|
%files -n python2-clang
|
||||||
%{python2_sitelib}/clang/
|
%{python2_sitelib}/clang/
|
||||||
|
|
||||||
|
%endif
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jul 23 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-3
|
||||||
|
- Sync spec file with the clang6.0 package
|
||||||
|
|
||||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.1-2
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.1-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user