|
@@ -3,13 +3,17 @@
|
|
|
# Build options:
|
|
|
# Components skipped by default:
|
|
|
%bcond_with doxygen
|
|
|
+%bcond_with ocaml
|
|
|
+%bcond_with force_gold
|
|
|
|
|
|
# Documentation install path
|
|
|
%global llvmdocdir() %{_docdir}/%1-%{version}
|
|
|
|
|
|
+%define _unpackaged_files_terminate_build 1
|
|
|
+
|
|
|
Name: llvm
|
|
|
-Version: 3.6.2
|
|
|
-Release: 2%{?_dist_release}
|
|
|
+Version: 3.8.1
|
|
|
+Release: 1%{?_dist_release}
|
|
|
Summary: The Low Level Virtual Machine
|
|
|
Summary(ja): LLVM - 低レベルバーチャルマシン
|
|
|
|
|
@@ -22,39 +26,31 @@ Source2: http://llvm.org/releases/%{version}/compiler-rt-%{version}.src.t
|
|
|
Source3: http://llvm.org/releases/%{version}/lldb-%{version}.src.tar.xz
|
|
|
|
|
|
# multilib fixes
|
|
|
-Source10: llvm-Config-config.h
|
|
|
-Source11: llvm-Config-llvm-config.h
|
|
|
+Source10: llvm-config.h
|
|
|
+Source11: clang-config.h
|
|
|
|
|
|
# patches
|
|
|
-Patch1: llvm-3.5.0-build-fix.patch
|
|
|
-Patch2: 0001-data-install-preserve-timestamps.patch
|
|
|
-
|
|
|
-# newish glibc hides the definition of __extern_always_inline behind
|
|
|
-# a check for gcc 4.3, clang pretends to be gcc 4.2. a proper fix would
|
|
|
-# be to build everything herein with gcc, but i don't have the patience
|
|
|
-# atm, so in the interest of bootstrapping...
|
|
|
-Patch100: clang-fake-gcc43.patch
|
|
|
-# http://llvm.org/bugs/show_bug.cgi?id=22625
|
|
|
-Patch101: clang-pr22625.patch
|
|
|
|
|
|
-Patch200: lldb-python.patch
|
|
|
-Patch201: lldb-fix-expression-parser.patch
|
|
|
-Patch202: lldb-python-module-symlink.patch
|
|
|
+# added acc5-abi support
|
|
|
+Patch1: 0001-GCC-PR23529-Sema-part-of-attrbute-abi_tag-support.patch
|
|
|
+Patch2: 0002-GCC-PR23529-Mangler-part-of-attrbute-abi_tag-support.patch
|
|
|
|
|
|
# Vine Patch
|
|
|
-Patch1000: clang-3.6.1-driver-ld.gold.patch
|
|
|
-Patch1001: clang-3.5.0-driver-lib64.patch
|
|
|
-Patch1002: clang-3.5.0-driver-vine.patch
|
|
|
+Patch1000: clang-3.8.1-driver-ld.gold.patch
|
|
|
+Patch1002: clang-3.8.1-driver-vine.patch
|
|
|
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
|
|
|
|
|
BuildRequires: binutils-devel
|
|
|
+BuildRequires: cmake
|
|
|
BuildRequires: bison
|
|
|
BuildRequires: chrpath
|
|
|
BuildRequires: flex
|
|
|
BuildRequires: gcc-c++ >= 3.4
|
|
|
BuildRequires: groff
|
|
|
BuildRequires: libffi-devel
|
|
|
+BuildRequires: libstdc++-devel
|
|
|
+BuildRequires: libstdc++-static
|
|
|
BuildRequires: libtool-ltdl-devel
|
|
|
BuildRequires: libxml2-devel
|
|
|
BuildRequires: ocaml-findlib
|
|
@@ -170,7 +166,7 @@ Clang コンパイラのヘッダファイル集です.
|
|
|
|
|
|
%package -n clang-analyzer
|
|
|
Summary: A source code analysis framework
|
|
|
-Summary(ja): ソースコー分析フレームワーク
|
|
|
+Summary(ja): ソースコード分析フレームワーク
|
|
|
License: NCSA
|
|
|
Group: Development/Languages
|
|
|
Requires: clang = %{version}-%{release}
|
|
@@ -237,6 +233,7 @@ BuildArch: noarch
|
|
|
API documentation for the Clang compiler.
|
|
|
%endif
|
|
|
|
|
|
+%if %{with ocaml}
|
|
|
%package ocaml
|
|
|
Summary: OCaml binding for LLVM
|
|
|
Summary(ja): LLVM の OCaml バインディング
|
|
@@ -271,6 +268,8 @@ Obsoletes: %{name}-ocaml-doc < %{version}-%{release}
|
|
|
%description ocaml-doc
|
|
|
HTML documentation for LLVM's OCaml binding.
|
|
|
|
|
|
+%endif
|
|
|
+
|
|
|
# compat32'
|
|
|
%package -n compat32-%{name}-libs
|
|
|
Summary: LLVM shared libraries
|
|
@@ -289,209 +288,167 @@ mv cfe-%{version}.src tools/clang
|
|
|
mv compiler-rt-%{version}.src projects/compiler-rt
|
|
|
mv lldb-%{version}.src tools/lldb
|
|
|
|
|
|
-#patch1 -p1
|
|
|
-%patch2 -p1
|
|
|
-
|
|
|
# clang
|
|
|
-#pushd tools/clang
|
|
|
-#%patch100 -p1
|
|
|
-#%patch101 -p0
|
|
|
-#popd
|
|
|
|
|
|
-# lldb
|
|
|
-pushd tools/lldb
|
|
|
-# careful when recreating this patch...
|
|
|
-%patch200 -p1 -b .python
|
|
|
-#patch201 -p2
|
|
|
-%patch202 -p1
|
|
|
-sed -i s/@lib@/%{_lib}/g scripts/Python/modules/readline/Makefile
|
|
|
+pushd tools/clang
|
|
|
+%patch1 -p1 -b .gcc_abi-1
|
|
|
+%patch2 -p1 -b .gcc_abi-2
|
|
|
popd
|
|
|
|
|
|
# Vine Linux
|
|
|
+%if %{with force_gold}
|
|
|
+pushd tools/clang
|
|
|
%patch1000 -p1 -b .driver-ld.gold
|
|
|
-#%ifarch x86_64
|
|
|
-#%patch1001 -p1 -b .driver-lib64
|
|
|
-#%endif
|
|
|
+popd
|
|
|
+%endif
|
|
|
%patch1002 -p1 -b .driver-vine
|
|
|
|
|
|
-# fix library paths
|
|
|
-sed -i 's|/lib /usr/lib $lt_ld_extra|%{_libdir} $lt_ld_extra|' configure
|
|
|
-sed -i 's|(PROJ_prefix)/lib|(PROJ_prefix)/%{_lib}/%{name}|g' Makefile.config.in
|
|
|
-sed -i 's|/lib\>|/%{_lib}/%{name}|g' tools/llvm-config/llvm-config.cpp
|
|
|
+sed -i -e 's/"ld"/"ld.gold"/' tools/clang/include/clang/Driver/ToolChain.h
|
|
|
|
|
|
%build
|
|
|
-# -fno-devirtualize shouldn't be necessary, but gcc has scary template-related
|
|
|
-# bugs that make it so. gcc 5 ought to be fixed.
|
|
|
-export CC=gcc
|
|
|
-export CXX=g++
|
|
|
-export CFLAGS="%{optflags} -DLLDB_DISABLE_PYTHON"
|
|
|
-export CXXFLAGS="%{optflags} -DLLDB_DISABLE_PYTHON"
|
|
|
-%configure \
|
|
|
- --with-extra-options="-fno-devirtualize" \
|
|
|
- --with-extra-ld-options=-Wl,-Bsymbolic \
|
|
|
- --libdir=%{_libdir}/%{name} \
|
|
|
- --disable-polly \
|
|
|
- --disable-libcpp \
|
|
|
- --enable-cxx11 \
|
|
|
- --enable-clang-arcmt \
|
|
|
- --enable-clang-static-analyzer \
|
|
|
- --enable-clang-rewriter \
|
|
|
- --enable-optimized \
|
|
|
- --disable-profiling \
|
|
|
- --disable-assertions \
|
|
|
- --disable-werror \
|
|
|
- --disable-expensive-checks \
|
|
|
- --enable-debug-runtime \
|
|
|
- --enable-keep-symbols \
|
|
|
- --enable-jit \
|
|
|
- --enable-docs \
|
|
|
+mkdir build
|
|
|
+cd build
|
|
|
+
|
|
|
+CFLAGS="%{optflags} -fno-strict-aliasing -Wno-error=format-security -fPIC"
|
|
|
+CXXFLAGS="%{optflags} -fno-strict-aliasing -Wno-error=format-security -fPIC -std=c++11"
|
|
|
+LDFLAGS="%{?__global_ldflags} -lpthread -ldl"
|
|
|
+
|
|
|
+%cmake .. \
|
|
|
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
|
|
|
+ -DCMAKE_BUILD_TYPE=Release \
|
|
|
+ -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-Bsymbolic -static-libstdc++" \
|
|
|
+%if 0%{?__isa_bits} == 64
|
|
|
+ -DLLVM_LIBDIR_SUFFIX=64 \
|
|
|
+%else
|
|
|
+ -DLLVM_LIBDIR_SUFFIX= \
|
|
|
+%endif
|
|
|
+ -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;BPF;CppBackend" \
|
|
|
+ -DLLVM_ENABLE_LIBCXX:BOOL=OFF \
|
|
|
+ -DLLVM_ENABLE_ZLIB:BOOL=ON \
|
|
|
+ -DLLVM_ENABLE_FFI:BOOL=ON \
|
|
|
+ -DLLVM_ENABLE_RTTI:BOOL=ON \
|
|
|
+ -DLLVM_BINUTILS_INCDIR=%{_includedir} \
|
|
|
+ -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 \
|
|
|
+ -DLLVM_INSTALL_UTILS:BOOL=OFF \
|
|
|
+ -DLLVM_INCLUDE_DOCS:BOOL=ON \
|
|
|
+ -DLLVM_ENABLE_SPHINX:BOOL=OFF \
|
|
|
%if %{with doxygen}
|
|
|
- --enable-doxygen \
|
|
|
+ -DLLVM_ENABLE_DOXYGEN:BOOL=ON \
|
|
|
%else
|
|
|
- --disable-doxygen \
|
|
|
+ -DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
|
|
|
%endif
|
|
|
- --enable-threads \
|
|
|
- --enable-pthreads \
|
|
|
- --enable-zlib \
|
|
|
- --enable-pic \
|
|
|
- --enable-shared \
|
|
|
- --disable-embed-stdcxx \
|
|
|
- --enable-timestamps \
|
|
|
- --enable-backtraces \
|
|
|
- --enable-targets=x86,powerpc,arm,aarch64,cpp,nvptx,systemz,r600 \
|
|
|
- --enable-bindings=ocaml \
|
|
|
- --enable-libffi \
|
|
|
- --enable-ltdl-install \
|
|
|
- \
|
|
|
-%ifarch armv7hl armv7l
|
|
|
- --with-cpu=cortex-a8 \
|
|
|
- --with-tune=cortex-a8 \
|
|
|
- --with-arch=armv7-a \
|
|
|
- --with-float=hard \
|
|
|
- --with-fpu=vfpv3-d16 \
|
|
|
- --with-abi=aapcs-vfp \
|
|
|
- %endif
|
|
|
- \
|
|
|
- --with-binutils-include=%{_includedir} \
|
|
|
- --with-c-include-dirs=%{_includedir}:$(echo %{_prefix}/lib/gcc/%{_target_cpu}*/*/include) \
|
|
|
- --with-optimize-option=-O3
|
|
|
-
|
|
|
-# --datadir=%{_libdir}/%{name} \
|
|
|
-# --enable-experimental-targets=R600 \
|
|
|
-
|
|
|
-make %{?_smp_mflags} REQUIRES_RTTI=1 VERBOSE=1
|
|
|
+ -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 \
|
|
|
+ -DLLVM_OPTIMIZED_TABLEGEN:BOOL=ON \
|
|
|
+ \
|
|
|
+ -DCLANG_ENABLE_ARCMT:BOOL=ON \
|
|
|
+ -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
|
|
|
+ -DCLANG_INCLUDE_DOCS:BOOL=ON \
|
|
|
+ -DCLANG_INCLUDE_TESTS:BOOL=ON \
|
|
|
+ -DCLANG_PLUGIN_SUPPORT:BOOL=ON \
|
|
|
+ -DCLANG_BUILD_EXAMPLES:BOOL=OFF \
|
|
|
+ -DLIB_SUFFIX= \
|
|
|
+ \
|
|
|
+ -DLLDB_PATH_TO_LLVM_BUILD=%{_prefix} \
|
|
|
+ -DLLDB_PATH_TO_CLANG_BUILD=%{_prefix} \
|
|
|
+ \
|
|
|
+ -DLLDB_DISABLE_CURSES:BOOL=OFF \
|
|
|
+ -DLLDB_DISABLE_LIBEDIT:BOOL=OFF \
|
|
|
+ -DLLDB_DISABLE_PYTHON:BOOL=OFF \
|
|
|
+ \
|
|
|
+ -DPYTHON_EXECUTABLE:STRING=%{__python} \
|
|
|
+ -DPYTHON_VERSION_MAJOR:STRING=$(%{__python} -c "import sys; print sys.version_info.major") \
|
|
|
+ -DPYTHON_VERSION_MINOR:STRING=$(%{__python} -c "import sys; print sys.version_info.minor") \
|
|
|
+ -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF # could be on?
|
|
|
+
|
|
|
+# workaround for all-in-one build
|
|
|
+TMP_PWD=$(pwd)
|
|
|
+LD_LIBRARY_PATH="$TMP_PWD/%{_lib}" make %{?_smp_mflags}
|
|
|
+
|
|
|
|
|
|
%install
|
|
|
rm -rf %{buildroot}
|
|
|
|
|
|
-make install DESTDIR=%{buildroot} \
|
|
|
- PROJ_docsdir=/moredocs
|
|
|
+cd build
|
|
|
+make install DESTDIR=%{buildroot}
|
|
|
|
|
|
-# you have got to be kidding me
|
|
|
-rm -f %{buildroot}%{_bindir}/{FileCheck,count,not,verify-uselistorder,obj2yaml,yaml2obj}
|
|
|
+# llvm
|
|
|
|
|
|
-# multilib fixes
|
|
|
-mv %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
|
|
|
+install -m755 ./bin/lli-child-target %{buildroot}%{_bindir}/lli-child-target
|
|
|
|
|
|
-pushd %{buildroot}%{_includedir}/llvm/Config
|
|
|
-mv config.h config-%{__isa_bits}.h
|
|
|
-cp -p %{SOURCE10} config.h
|
|
|
-mv llvm-config.h llvm-config-%{__isa_bits}.h
|
|
|
-cp -p %{SOURCE11} llvm-config.h
|
|
|
-popd
|
|
|
+# fix multi-lib
|
|
|
+mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
|
|
|
+mv -v %{buildroot}%{_includedir}/llvm/Config/llvm-config{,-%{__isa_bits}}.h
|
|
|
+install -m 0644 %{SOURCE10} %{buildroot}%{_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/llvm-%{_arch}.conf << EOF
|
|
|
-%{_libdir}/%{name}
|
|
|
-EOF
|
|
|
-
|
|
|
-# Static analyzer not installed by default:
|
|
|
-# http://clang-analyzer.llvm.org/installation#OtherPlatforms
|
|
|
-# scan-view
|
|
|
-mkdir -p %{buildroot}%{_libexecdir}/clang-analyzer/
|
|
|
-cp -pr tools/clang/tools/scan-view %{buildroot}%{_libexecdir}/clang-analyzer/
|
|
|
-
|
|
|
-# scan-build
|
|
|
-mkdir -p %{buildroot}%{_libexecdir}/clang-analyzer/scan-build
|
|
|
-for file in c++-analyzer ccc-analyzer scan-build scanview.css sorttable.js; do
|
|
|
- cp -p tools/clang/tools/scan-build/$file \
|
|
|
- %{buildroot}%{_libexecdir}/clang-analyzer/scan-build/
|
|
|
-done
|
|
|
|
|
|
-# scan-build manual page
|
|
|
-mkdir -p %{buildroot}%{_mandir}/man1
|
|
|
-cp -p tools/clang/tools/scan-build/scan-build.1 %{buildroot}%{_mandir}/man1/
|
|
|
+# clang
|
|
|
|
|
|
-# scan-build requires clang in search path
|
|
|
-ln -s ../../../bin/clang %{buildroot}%{_libexecdir}/clang-analyzer/scan-build/clang
|
|
|
+mv -v %{buildroot}%{_includedir}/clang/Config/config{,-%{__isa_bits}}.h
|
|
|
+install -m 0644 %{SOURCE11} %{buildroot}%{_includedir}/clang/Config/config.h
|
|
|
|
|
|
-# launchers in /bin
|
|
|
-for f in scan-{build,view}; do
|
|
|
- ln -s %{_libexecdir}/clang-analyzer/$f/$f %{buildroot}%{_bindir}/$f
|
|
|
-done
|
|
|
+# remove git integration
|
|
|
+rm -vf %{buildroot}%{_bindir}/git-clang-format
|
|
|
+# remove editor integrations (bbedit, sublime, emacs, vim)
|
|
|
+rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript
|
|
|
+rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
|
|
|
+rm -vf %{buildroot}%{_datadir}/clang/clang-format.el
|
|
|
+rm -vf %{buildroot}%{_datadir}/clang/clang-format.py*
|
|
|
+# remove diff reformatter
|
|
|
+rm -vf %{buildroot}%{_datadir}/clang/clang-format-diff.py*
|
|
|
|
|
|
-# Get rid of erroneously installed example files.
|
|
|
-rm %{buildroot}%{_libdir}/%{name}/*LLVMHello.*
|
|
|
|
|
|
-# remove executable bit from static libraries
|
|
|
-find %{buildroot}%{_libdir} -name "*.a" -type f -print0 | xargs -0 chmod -x
|
|
|
+# lldb
|
|
|
|
|
|
-# Install man page for LLDB
|
|
|
-mkdir -p %{buildroot}%{_mandir}/man1
|
|
|
-cp tools/lldb/docs/lldb.1 %{buildroot}%{_mandir}/man1/
|
|
|
+# remove static libraries
|
|
|
+#rm -fv %{buildroot}%{_libdir}/*.a
|
|
|
|
|
|
-# Install documentation documentation
|
|
|
-find %{buildroot}/moredocs/ -name "*.tar.gz" -print0 | xargs -0 rm -rf
|
|
|
-mkdir -p %{buildroot}%{_docdir}
|
|
|
+# python: fix binary libraries location
|
|
|
+liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so))
|
|
|
+ln -vsf "../../../${liblldb}" %{buildroot}%{python_sitearch}/lldb/_lldb.so
|
|
|
+mv -v %{buildroot}%{python_sitearch}/readline.so %{buildroot}%{python_sitearch}/lldb/readline.so
|
|
|
|
|
|
-# llvm-doc
|
|
|
-mkdir -p %{buildroot}%{llvmdocdir %{name}-doc}
|
|
|
-cp -ar examples %{buildroot}%{llvmdocdir %{name}-doc}/examples
|
|
|
-find %{buildroot}%{llvmdocdir %{name}-doc} -name Makefile -o -name CMakeLists.txt -o -name LLVMBuild.txt -print0 | xargs -0 rm -f
|
|
|
+# remove bundled six.py
|
|
|
+rm -f %{buildroot}%{python_sitearch}/six.*
|
|
|
|
|
|
-# llvm-apidoc
|
|
|
-%if %{with doxygen}
|
|
|
-mv %{buildroot}/moredocs/html/doxygen %{buildroot}%{llvmdocdir %{name}-apidoc}
|
|
|
-%endif
|
|
|
|
|
|
-# llvm-ocaml-doc
|
|
|
-#mv %{buildroot}/moredocs/ocamldoc/html %{buildroot}%{llvmdocdir %{name}-ocaml-doc}
|
|
|
+# compiler-rt
|
|
|
|
|
|
-# clang
|
|
|
-mkdir -p %{buildroot}%{llvmdocdir clang}
|
|
|
-for f in LICENSE.TXT NOTES.txt README.txt CODE_OWNERS.TXT; do
|
|
|
- cp tools/clang/$f %{buildroot}%{llvmdocdir clang}/
|
|
|
+# move sanitizer lists to better place
|
|
|
+mkdir -p %{buildroot}%{_libdir}/clang/%{version}
|
|
|
+for file in asan_blacklist.txt msan_blacklist.txt dfsan_blacklist.txt cfi_blacklist.txt dfsan_abilist.txt; do
|
|
|
+ mv -v %{buildroot}%{_prefix}/${file} %{buildroot}%{_libdir}/clang/%{version}/ || :
|
|
|
done
|
|
|
|
|
|
-# clang-apidoc
|
|
|
-%if %{with doxygen}
|
|
|
-cp -ar tools/clang/docs/doxygen/html %{buildroot}%{llvmdocdir clang-apidoc}
|
|
|
-%endif
|
|
|
-
|
|
|
-# lldb
|
|
|
-mkdir -p %{buildroot}%{llvmdocdir lldb}
|
|
|
-cp tools/lldb/LICENSE.TXT %{buildroot}%{llvmdocdir lldb}/
|
|
|
-
|
|
|
-# delete the rest of installed documentation (because it's bad)
|
|
|
-rm -rf %{buildroot}/moredocs
|
|
|
-
|
|
|
-# install CMake modules
|
|
|
-mkdir -p %{buildroot}%{_datadir}/llvm/cmake/
|
|
|
-cp -p cmake/modules/*.cmake %{buildroot}%{_datadir}/llvm/cmake/
|
|
|
+# move sanitizer libs to better place
|
|
|
+#mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib
|
|
|
+#mv -v %{buildroot}%{_prefix}/lib/linux/libclang_rt* %{buildroot}%{_libdir}/clang/%{version}/lib
|
|
|
+#mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib/linux/
|
|
|
+#pushd %{buildroot}%{_libdir}/clang/%{version}/lib
|
|
|
+#for i in *.a *.syms *.so; do
|
|
|
+# ln -s ../$i linux/$i
|
|
|
+#done
|
|
|
|
|
|
-# remove RPATHs
|
|
|
-file %{buildroot}/%{_bindir}/* | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d
|
|
|
-file %{buildroot}/%{_libdir}/%{name}/*.so | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d
|
|
|
+rm -rf %{buildroot}%{_libdir}/python*
|
|
|
|
|
|
|
|
|
%check
|
|
|
# the || : is wrong, i know, but the git snaps fail to make check due to
|
|
|
# broken makefiles in the doc dirs.
|
|
|
-make check LIT_ARGS="-v -j4" | tee llvm-testlog.txt ||:
|
|
|
+cd build
|
|
|
+make check-all LIT_ARGS="-v -j4" | tee llvm-testlog.txt ||:
|
|
|
make -C tools/clang/test TESTARGS="-v -j4" | tee clang-testlog.txt ||:
|
|
|
|
|
|
-
|
|
|
%clean
|
|
|
rm -rf %{buildroot}
|
|
|
|
|
@@ -532,14 +489,15 @@ exit 0
|
|
|
%{_bindir}/llc
|
|
|
%{_bindir}/lli
|
|
|
%{_bindir}/lli-child-target
|
|
|
+%{_bindir}/obj2yaml
|
|
|
+%{_bindir}/sancov
|
|
|
+%{_bindir}/verify-uselistorder
|
|
|
+%{_bindir}/yaml2obj
|
|
|
%exclude %{_bindir}/llvm-config-%{__isa_bits}
|
|
|
%{_bindir}/llvm*
|
|
|
-%{_bindir}/macho-dump
|
|
|
%{_bindir}/opt
|
|
|
%dir %{_datadir}/llvm
|
|
|
-%exclude %{_mandir}/man1/clang.1.*
|
|
|
%exclude %{_mandir}/man1/scan-build.1.*
|
|
|
-%exclude %{_mandir}/man1/lldb.1.*
|
|
|
%doc %{_mandir}/man1/*.1.*
|
|
|
|
|
|
%files devel
|
|
@@ -548,61 +506,72 @@ exit 0
|
|
|
%{_bindir}/llvm-config-%{__isa_bits}
|
|
|
%{_includedir}/%{name}
|
|
|
%{_includedir}/%{name}-c
|
|
|
-%{_libdir}/%{name}/*.a
|
|
|
+%{_libdir}/*.a
|
|
|
+%{_libdir}/libLLVM.so
|
|
|
%{_datadir}/%{name}/cmake
|
|
|
|
|
|
%files libs
|
|
|
%defattr(-,root,root,-)
|
|
|
%doc LICENSE.TXT
|
|
|
-%config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
|
|
|
-%dir %{_libdir}/%{name}
|
|
|
-%exclude %{_libdir}/%{name}/libclang.so
|
|
|
-%exclude %{_libdir}/%{name}/liblldb.so
|
|
|
-%{_libdir}/%{name}/*.so
|
|
|
+#config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
|
|
|
+#dir %{_libdir}/%{name}
|
|
|
+%{_libdir}/BugpointPasses.so
|
|
|
+%{_libdir}/libLLVM-*.so
|
|
|
+%{_libdir}/libLTO.so
|
|
|
+%{_libdir}/LLVMgold.so
|
|
|
+%exclude %{_libdir}/LLVMHello.so
|
|
|
|
|
|
%files -n clang
|
|
|
%defattr(-,root,root,-)
|
|
|
-%doc %{llvmdocdir clang}/
|
|
|
+#doc %{llvmdocdir clang}/
|
|
|
%{_bindir}/clang*
|
|
|
%{_bindir}/c-index-test
|
|
|
-%{_prefix}/lib/clang
|
|
|
-%doc %{_mandir}/man1/clang.1.*
|
|
|
+%{_libdir}/clang
|
|
|
|
|
|
%files -n clang-libs
|
|
|
%defattr(-,root,root,-)
|
|
|
-%{_libdir}/%{name}/libclang.so
|
|
|
+%{_libdir}/libclang.so
|
|
|
+%{_libdir}/libclang.so.*
|
|
|
|
|
|
%files -n clang-devel
|
|
|
%defattr(-,root,root,-)
|
|
|
#doc %{llvmdocdir clang-devel}/
|
|
|
%{_includedir}/clang
|
|
|
%{_includedir}/clang-c
|
|
|
+%dir %{_datadir}/clang/
|
|
|
+%{_datadir}/clang/cmake
|
|
|
|
|
|
%files -n clang-analyzer
|
|
|
%defattr(-,root,root,-)
|
|
|
%{_bindir}/scan-build
|
|
|
%{_bindir}/scan-view
|
|
|
-%{_libexecdir}/clang-analyzer
|
|
|
+%{_libexecdir}/ccc-analyzer
|
|
|
+%{_libexecdir}/c++-analyzer
|
|
|
+%{_datadir}/scan-view
|
|
|
+%{_datadir}/scan-build
|
|
|
%{_mandir}/man1/scan-build.1.*
|
|
|
|
|
|
%files -n lldb
|
|
|
%defattr(-,root,root,-)
|
|
|
-%doc %{llvmdocdir lldb}/
|
|
|
+#doc %{llvmdocdir lldb}/
|
|
|
%{_bindir}/lldb
|
|
|
%{_bindir}/lldb-*
|
|
|
-%{_libdir}/%{name}/liblldb.so
|
|
|
-# XXX double check this
|
|
|
-#{python_sitearch}/*
|
|
|
-%doc %{_mandir}/man1/lldb.1.*
|
|
|
+%{_libdir}/liblldb.so.*
|
|
|
|
|
|
%files -n lldb-devel
|
|
|
%defattr(-,root,root,-)
|
|
|
%{_includedir}/lldb
|
|
|
+%{_libdir}/liblldb.so
|
|
|
+
|
|
|
+#python-lldb
|
|
|
+#{python_sitearch}/*
|
|
|
|
|
|
%files doc
|
|
|
%defattr(-,root,root,-)
|
|
|
-%doc %{llvmdocdir %{name}-doc}/
|
|
|
+%doc docs/*
|
|
|
+#doc %{llvmdocdir %{name}-doc}/
|
|
|
|
|
|
+%if %{with ocaml}
|
|
|
%files ocaml
|
|
|
%defattr(-,root,root,-)
|
|
|
%{_libdir}/ocaml/*.cma
|
|
@@ -619,6 +588,7 @@ exit 0
|
|
|
%files ocaml-doc
|
|
|
%defattr(-,root,root,-)
|
|
|
#doc %{llvmdocdir %{name}-ocaml-doc}/
|
|
|
+%endif
|
|
|
|
|
|
%if 0%{?_with_doxygen}
|
|
|
%files apidoc
|
|
@@ -634,14 +604,22 @@ exit 0
|
|
|
%files -n compat32-%{name}-libs
|
|
|
%defattr(-,root,root)
|
|
|
%doc LICENSE.TXT
|
|
|
-%config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
|
|
|
-%dir %{_libdir}/%{name}
|
|
|
-%exclude %{_libdir}/%{name}/libclang.so
|
|
|
-%exclude %{_libdir}/%{name}/liblldb.so
|
|
|
-%{_libdir}/%{name}/*.so
|
|
|
+#config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
|
|
|
+%exclude %{_libdir}/libclang.so
|
|
|
+%exclude %{_libdir}/liblldb.so
|
|
|
+%exclude %{_libdir}/LLVMHello.so
|
|
|
+%{_libdir}/*.so
|
|
|
%endif
|
|
|
|
|
|
%changelog
|
|
|
+* Fri Aug 5 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.8.1-1
|
|
|
+- new upstream release.
|
|
|
+- switched to cmake.
|
|
|
+- disable ocaml binding as default.
|
|
|
+- updated Patch1000 and 1002.
|
|
|
+- disabled Patch1000 as default.
|
|
|
+- cleanup patches.
|
|
|
+
|
|
|
* Thu Jun 30 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.6.2-2
|
|
|
- rebuild with gcc-5.4.0
|
|
|
|