%bcond_with test %define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0} %define ver_suffix %(echo "%{version}" | cut -d . -f 1) %define _unpackaged_files_terminate_build 1 # Build options: # Components skipped by default: %bcond_with doxygen %bcond_with ocaml %bcond_with force_gold %bcond_with lld_libs %bcond_with clang_tools_extra # Documentation install path %global llvmdocdir() %{_docdir}/%1-%{version} %define _unpackaged_files_terminate_build 1 Summary: The Low Level Virtual Machine Summary(ja): LLVM - 低レベルバーチャルマシン Name: llvm Version: 11.0.0 Release: 2%{?_dist_release} Group: programming Vendor: Project Vine Distribution: Vine Linux License: NCSA URL: https://llvm.org/ Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/llvm-%{version}.src.tar.xz Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-%{version}.src.tar.xz Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/compiler-rt-%{version}.src.tar.xz Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lldb-%{version}.src.tar.xz Source4: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/lld-%{version}.src.tar.xz %if %{with clang_tools_extra} Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/clang-tools-extra-%{version}.src.tar.xz %endif Source6: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/openmp-%{version}.src.tar.xz # multilib fixes Source10: llvm-config.h Source11: clang-config.h # patches # llvm Patch0: 0001-Filter-out-cxxflags-not-supported-by-clang.patch # TODO: I'm not sure why this is needed. Could be a change in newer version # of gold. Patch1: 0001-Pass-target-to-gold-linker-to-avoid-faliures-on-i686.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 # clang Patch100: 0002-gtest-reorg.patch Patch101: 0001-Fix-uninitialized-value-in-ABIArgInfo.patch Patch102: 0001-ToolChain-Add-lgcc_s-to-the-linker-flags-when-using-.patch Patch103: 0001-Fix-Driver-modules.cpp-test-to-work-when-build-direc.patch # compiler-rt Patch200: 0001-PATCH-std-thread-copy.patch # lld Patch400: 0001-CMake-Check-for-gtest-headers-even-if-lit.py-is-not-.patch # 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: ninja BuildRequires: bison BuildRequires: python3 BuildRequires: python3-rpm-macros BuildRequires: chrpath BuildRequires: flex BuildRequires: git BuildRequires: gcc-c++ >= 3.4 BuildRequires: groff BuildRequires: libffi-devel >= 3.3 BuildRequires: libstdc++-devel BuildRequires: libstdc++-static BuildRequires: libtool-ltdl-devel BuildRequires: libxml2-devel %if %{with ocaml} BuildRequires: ocaml-findlib BuildRequires: ocaml-ctypes BuildRequires: ocaml-ounit %endif # for DejaGNU test suite BuildRequires: dejagnu tcl-devel %if %{with doxygen} BuildRequires: doxygen graphviz %endif # pod2man BuildRequires: perl # lldb BuildRequires: swig BuildRequires: libedit-devel BuildRequires: python3-devel # lld BuildRequires: ncurses-devel BuildRequires: zlib-devel Requires: llvm%{ver_suffix}-libs = %{version}-%{release} # LLVM is not supported on PPC64 # http://llvm.org/bugs/show_bug.cgi?id=3729 ExcludeArch: ppc64 %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 Summary(ja): LLVM のライブラリおよびヘッダファイル Group: programming Requires: %{name} = %{version}-%{release} Requires: libstdc++-devel Requires: libffi-devel Requires: libedit-devel %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 Summary(ja): LLVM のドキュメント Group: documentation BuildArch: noarch Requires: %{name} = %{version}-%{release} # might seem redundant, but needed to kill off the old arch-ed -doc subpackage Obsoletes: %{name}-doc < %{version}-%{release} %description doc Documentation for the LLVM compiler infrastructure. %package -n llvm%{ver_suffix}-libs Summary: LLVM shared libraries Summary(ja): LLVM 共有ライブラリ Group: system Provides: llvm-libs = %{version}-%{release} Obsoletes: llvm-libs <= 7.0.0 %description -n llvm%{ver_suffix}-libs Shared libraries for the LLVM compiler infrastructure. %description -n llvm%{ver_suffix}-libs -l ja LLVM コンパイラ基盤の共有ライブラリです. %package static Summary: LLVM static libraries Summary(ja): LLVM 静的ライブラリ Group: programming Requires: llvm-devel = %{version}-%{release} %description static Static libraries for the LLVM compiler infrastructure. %description static -l ja LLVM コンパイラ基盤の静的ライブラリです. %package -n clang Summary: A C language family front-end for LLVM Summary(ja): LLVM の C 言語フロントエンド License: NCSA Group: programming Requires: %{name} = %{version}-%{release} # clang requires gcc, clang++ requires libstdc++-devel Requires: libstdc++-devel # remove clang-doc pacakge Obsoletes: clang-doc < %{version}-%{release} %description -n clang clang: noun 1. A loud, resonant, metallic sound. 2. The strident call of a crane or goose. 3. C-language family front-end toolkit. The goal of the Clang project is to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler. Its tools are built as libraries and designed to be loosely-coupled and extensible. %Package -n clang-libs Summary: Runtime library for clang Summary(ja): Clang のランタイムライブラリ Group: system %description -n clang-libs Runtime library for clang. %description -n clang-libs -l ja Clang のランタイムライブラリです. %package -n clang-devel Summary: Header files for clang Summary(ja): Clang のヘッダファイル Group: programming Requires: clang = %{version}-%{release} %description -n clang-devel This package contains header files for the Clang compiler. %description -n clang-devel -l ja Clang コンパイラのヘッダファイル集です. %package -n clang-analyzer Summary: A source code analysis framework Summary(ja): ソースコード分析フレームワーク License: NCSA Group: programming Requires: clang = %{version}-%{release} # not picked up automatically since files are currently not instaled # in standard Python hierarchies yet Requires: python3 %description -n clang-analyzer The Clang Static Analyzer consists of both a source code analysis framework and a standalone tool that finds bugs in C and Objective-C programs. The standalone tool is invoked from the command-line, and is intended to run in tandem with a build of a project or code base. %package -n python3-clang Summary: Python3 bindings for clang Group: programming Requires: %{name}%{ver_suffix}-libs%{?_isa} = %{version}-%{release} Requires: python3 %description -n python3-clang Python3 bindings for clang #%package -n clang-doc #Summary: Documentation for Clang #Summary(ja): Clang のドキュメント #Group: Documentation #Requires: %{name} = %{version}-%{release} # #%description -n clang-doc #Documentation for the Clang compiler front-end. %package -n lldb Summary: Next generation high-performance debugger Summary(ja): 高性能デバッガー License: NCSA Group: programming Requires: %{name} = %{version}-%{release} %description -n lldb LLDB is a next generation, high-performance debugger. It is built as a set of reusable components which highly leverage existing libraries in the larger LLVM Project, such as the Clang expression parser and LLVM disassembler. %package -n lldb-devel Summary: Header files for LLDB Summary(ja): LLDB のヘッダファイル Group: programming Requires: lldb = %{version}-%{release} %description -n lldb-devel This package contains header files for the LLDB debugger. %package -n lld Summary: The LLVM Linker Summary(ja): LLVMリンカー License: NCSA Group: programming %description -n lld The LLVM project linker. %if %{with lld_libs} %package -n lld-libs Summary: LLD shared libraries Summary(ja): LLD 共有ライブラリ License: NCSA Group: programming %description -n lld-libs Shared libraries for LLD. %package -n lld-devel Summary: Libraries and header files for LLD Summary(ja): LLD 用ライブラリとヘッダファイル License: NCSA Group: programming Requires: lld-libs = %{version}-%{release} %description -n lld-devel This package contains library and header files needed to develop new native programs that use the LLD infrastructure. %endif %if %{with doxygen} %package apidoc Summary: API documentation for LLVM Summary(ja): LLVM の API ドキュメント Group: documentation BuildArch: noarch Requires: %{name}-docs = %{version}-%{release} %description apidoc API documentation for the LLVM compiler infrastructure. %package -n clang-apidoc Summary: API documentation for Clang Summary(ja): Clang の API ドキュメント Group: Documentation BuildArch: noarch %description -n clang-apidoc API documentation for the Clang compiler. %endif %package -n python3-lldb Summary: Python3 module for LLDB Summary(ja): LLDB用Python3モジュール Group: programming BuildRequires: python-devel Requires: python-six %description -n python3-lldb The package contains the LLDB Python3 module. %package -n libomp Summary: OpenMP runtime for clang Summary(ja): clang用OpenMPランタイム Group: system %description -n libomp The package contains the OpenMP runtime for clang. %package -n libomp-devel Summary: OpenMP header files Summary(ja): OpenMPヘッダファイル Group: programming Requires: clang-devel%{?isa} = %{version} %description -n libomp-devel The package contains the OpenMP header files. %if %{with ocaml} %package ocaml Summary: OCaml binding for LLVM Summary(ja): LLVM の OCaml バインディング Group: system Requires: %{name} = %{version}-%{release} Requires: ocaml %description ocaml OCaml binding for LLVM. %package ocaml-devel Summary: Development files for %{name}-ocaml Summary(ja): %{name}-ocaml の開発ファイル Group: programming Requires: %{name}-devel = %{version}-%{release} Requires: %{name}-ocaml = %{version}-%{release} Requires: ocaml %description ocaml-devel The %{name}-ocaml-devel package contains libraries and signature files for developing applications that use %{name}-ocaml. %package ocaml-doc Summary: Documentation for %{name}-ocaml Summary(ja): %{name}-ocaml のドキュメント Group: documentation BuildArch: noarch Requires: %{name}-ocaml = %{version}-%{release} # might seem redundant, but needed to kill off the old arch-ed -doc subpackage Obsoletes: %{name}-ocaml-doc < %{version}-%{release} %description ocaml-doc HTML documentation for LLVM's OCaml binding. %endif # compat32' %package -n compat32-%{name}%{ver_suffix}-libs Summary: LLVM shared libraries Summary(ja): LLVM 共有ライブラリ Group: system Provides: compat32-llvm-libs = %{version}-%{release} Requires: %{name}%{ver_suffix}-libs = %{version}-%{release} %description -n compat32-%{name}%{ver_suffix}-libs Shared libraries for the LLVM compiler infrastructure. %debug_package %prep %setup -q -a1 -a2 -a3 -a4 -a6 -n llvm-%{version}.src #%patch0 -p2 #%patch1 -p2 #%patch2 -p2 ##patch3 -p2 rm -rf tools/clang tools/lld tools/lldb projects/compiler-rt mv clang-%{version}.src tools/clang mv compiler-rt-%{version}.src projects/compiler-rt mv lldb-%{version}.src tools/lldb mv lld-%{version}.src tools/lld mv openmp-%{version}.src projects/openmp %if %{with clang_tools_extra} tar xvf %{SOURCE5} mv clang-tools-extra-%{version}.src tools/clang/tools/extra %endif pushd tools/clang ##patch100 -p1 #%patch101 -p2 #%patch102 -p1 #%patch103 -p2 popd pushd projects/compiler-rt #%patch200 -p1 popd pushd tools/lld #%patch400 -p1 popd # Vine Linux %if %{with force_gold} pushd tools/clang %patch1000 -p1 -b .driver-ld.gold popd %endif #%patch1002 -p1 -b .driver-vine sed -i -e 's/"i686-linux-gnu",/"i686-linux-gnu","i686-vine-linux","i686-vine-linux-gnu",/' tools/clang/lib/Driver/ToolChains/Gnu.cpp sed -i -e 's/"x86_64-linux-gnu",/"x86_64-linux-gnu","x86_64-vine-linux","x86_64-vine-linux-gnu",/' tools/clang/lib/Driver/ToolChains/Gnu.cpp sed -i -e 's/"ld"/"ld.gold"/' tools/clang/include/clang/Driver/ToolChain.h %build mkdir build cd build %ifarch s390 s390x %{arm} %ix86 # Decrease debuginfo verbosity to reduce memory consumption during final library linking %global optflags %(echo %{optflags} | sed 's/-g /-g1 /') %endif #CFLAGS="%{optflags} -fno-strict-aliasing -Wno-error=format-security -fPIC" #CXXFLAGS="%{optflags} -fno-strict-aliasing -Wno-error=format-security -fPIC -std=c++11" #TMP_PWD=$(pwd) #LDFLAGS="%{?__global_ldflags} -L$TMP_PWD/%{_lib} -lpthread -ldl" %cmake .. \ -GNinja \ -DBUILD_SHARED_LIBS:BOOL=OFF \ -DLLVM_PARALLEL_LINK_JOBS=1 \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_RPATH=";" \ %if 0%{?__isa_bits} == 64 -DLLVM_LIBDIR_SUFFIX=64 \ %else -DLLVM_LIBDIR_SUFFIX= \ %endif -DLLVM_TARGETS_TO_BUILD=all \ -DLLVM_ENABLE_LIBCXX:BOOL=OFF \ -DLLVM_ENABLE_ZLIB:BOOL=ON \ -DLLVM_ENABLE_FFI:BOOL=ON \ -DLLVM_ENABLE_RTTI:BOOL=ON \ -DLLVM_ENABLE_EH=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=ON \ -DLLVM_UTILS_INSTALL_DIR:PATH=%{_bindir} \ -DLLVM_TOOLS_INSTALL_DIR:PATH=bin \ \ -DLLVM_INCLUDE_DOCS:BOOL=ON \ -DLLVM_ENABLE_SPHINX:BOOL=OFF \ %if %{with doxygen} -DLLVM_ENABLE_DOXYGEN:BOOL=ON \ %else -DLLVM_ENABLE_DOXYGEN:BOOL=OFF \ %endif -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \ -DLLVM_DYLIB_EXPORT_ALL:BOOL=ON \ -DLLVM_LINK_LLVM_DYLIB: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 \ -DCLANG_LINK_CLANG_DYLIB=ON \ -DCLANG_REPOSITORY_STRING="Vine Linux %{version}-%{release}" \ -DLIB_SUFFIX= \ \ -DLLDB_DISABLE_CURSES:BOOL=OFF \ -DLLDB_DISABLE_LIBEDIT:BOOL=OFF \ -DLLDB_DISABLE_PYTHON:BOOL=OFF \ \ -DLLDB_LINK_LLVM_DYLIB:BOOL=ON \ \ -DLIBOMP_INSTALL_ALIASES=OFF \ -DLIBOMP_HEADERS_INSTALL_PATH:PATH=%{_libdir}/clang/%{version}/include \ \ -DPYTHON_EXECUTABLE:STRING=%{__python3} \ -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} %ninja_build %install rm -rf %{buildroot} cd build %ninja_install # llvm install -m755 ./bin/lli-child-target %{buildroot}%{_bindir}/lli-child-target # fix multi-lib mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}} ln -sf llvm-config-%{__isa_bits} %{buildroot}%{_bindir}/llvm-config mv -v %{buildroot}%{_includedir}/llvm/Config/llvm-config{,-%{__isa_bits}}.h install -m 0644 %{SOURCE10} %{buildroot}%{_includedir}/llvm/Config/llvm-config.h # clang # remove static libraries rm -fv %{buildroot}%{_libdir}/libclang*.a # install clang python bindings mkdir -p %{buildroot}%{python3_sitelib}/clang/ install -p -m644 ../tools/clang/bindings/python/clang/* %{buildroot}%{python3_sitelib}/clang/ mv -v %{buildroot}%{_includedir}/clang/Config/config{,-%{__isa_bits}}.h install -m 0644 %{SOURCE11} %{buildroot}%{_includedir}/clang/Config/config.h # 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* # lldb # remove static libraries rm -fv %{buildroot}%{_libdir}/liblldb*.a # python: fix binary libraries location liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so)) ln -vsf "../../../${liblldb}" %{buildroot}%{python3_sitearch}/lldb/_lldb.so # remove bundled six.py rm -f %{buildroot}%{python3_sitearch}/six.* # lld # remove static libraries rm -fv %{buildroot}%{_libdir}/liblld*.a # Remove rpath chrpath --delete %{buildroot}%{_bindir}/*lld chrpath --delete %{buildroot}%{_bindir}/lld-link chrpath --delete %{buildroot}%{_bindir}/wasm-ld find %{buildroot}%{_libdir} -type f -name 'liblld*.so*' | \ grep -v 'liblldb' | \ xargs chrpath --delete %if !%{with lld_libs} rm -rf %{buildroot}%{_includedir}/lld %endif # compiler-rt # 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 # 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 #rm -rf %{buildroot}%{_libdir}/python* rm -f %{buildroot}%{_datadir}/clang/bash-autocomplete.sh rm -f %{buildroot}%{_datadir}/clang/clang-rename.el rm -f %{buildroot}%{_datadir}/clang/clang-rename.py %if %{with test} %check ninja -C build check ninja -C build check-clang ninja -C build check-lldb ninja -C build check-lld %endif %clean rm -rf %{buildroot} %post -n llvm%{ver_suffix}-libs -p /sbin/ldconfig %postun -n llvm%{ver_suffix}-libs -p /sbin/ldconfig %post -n clang-libs -p /sbin/ldconfig %postun -n clang-libs -p /sbin/ldconfig %post -n lldb -p /sbin/ldconfig %postun -n lldb -p /sbin/ldconfig %post -n lld /sbin/alternatives --install /usr/bin/ld ld \ /usr/bin/ld.lld 20 %preun -n lld if [ $1 = 0 ]; then /sbin/alternatives --remove ld /usr/bin/ld.lld fi %if %{with lld_libs} %post -n lld-libs -p /sbin/ldconfig %postun -n lld-libs -p /sbin/ldconfig %endif %posttrans devel # link llvm-config to the platform-specific file; # use ISA bits as priority so that 64-bit is preferred # over 32-bit if both are installed alternatives \ --install \ %{_bindir}/llvm-config \ llvm-config \ %{_bindir}/llvm-config-%{__isa_bits} \ %{__isa_bits} %postun devel if [ $1 -eq 0 ]; then alternatives --remove llvm-config \ %{_bindir}/llvm-config-%{__isa_bits} fi exit 0 %files %defattr(-,root,root,-) %doc CREDITS.TXT README.txt %{_bindir}/FileCheck %{_bindir}/bugpoint %{_bindir}/dsymutil %{_bindir}/llc %{_bindir}/lli %{_bindir}/lli-child-target %{_bindir}/obj2yaml %{_bindir}/sancov %{_bindir}/sanstats %{_bindir}/verify-uselistorder %{_bindir}/yaml2obj %{_bindir}/count %{_bindir}/not %{_bindir}/yaml-bench %exclude %{_bindir}/llvm-config %exclude %{_bindir}/llvm-config-%{__isa_bits} %{_bindir}/llvm* %{_bindir}/opt %exclude %{_mandir}/man1/scan-build.1.* %doc %{_mandir}/man1/*.1.* %{_datadir}/opt-viewer %files -n llvm%{ver_suffix}-libs %defattr(-,root,root,-) %license LICENSE.TXT #config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf #dir %{_libdir}/%{name} %{_libdir}/libLLVM-*.so %{_libdir}/LLVMgold.so %{_libdir}/libLTO.so* %{_libdir}/libRemarks.so* %files devel %defattr(-,root,root,-) #doc %{llvmdocdir %{name}-devel}/ %{_bindir}/llvm-config %{_bindir}/llvm-config-%{__isa_bits} %{_includedir}/%{name} %{_includedir}/%{name}-c #{_libdir}/BugpointPasses.so %{_libdir}/libLLVM.so %{_libdir}/cmake/llvm #exclude %{_libdir}/cmake/llvm/LLVMStaticExports.cmake %files static %{_libdir}/*.a #{_libdir}/cmake/llvm/LLVMStaticExports.cmake %files -n clang %defattr(-,root,root,-) #doc %{llvmdocdir clang}/ %{_bindir}/clang* %{_bindir}/c-index-test %{_bindir}/diagtool %{_bindir}/hmaptool %{_libdir}/clang %files -n clang-libs %defattr(-,root,root,-) %{_libdir}/libclang.so %{_libdir}/libclang.so.* %{_libdir}/libclang-cpp.so %{_libdir}/libclang-cpp.so.* %files -n clang-devel %defattr(-,root,root,-) #doc %{llvmdocdir clang-devel}/ %{_includedir}/clang %{_includedir}/clang-c %dir %{_datadir}/clang/ %{_libdir}/cmake/* %files -n clang-analyzer %defattr(-,root,root,-) %{_bindir}/scan-build %{_bindir}/scan-view #%{_libdir}/CheckerDependencyHandlingAnalyzerPlugin.so #%{_libdir}/CheckerOptionHandlingAnalyzerPlugin.so #%{_libdir}/SampleAnalyzerPlugin.so %{_libexecdir}/ccc-analyzer %{_libexecdir}/c++-analyzer %{_datadir}/scan-view %{_datadir}/scan-build %{_mandir}/man1/scan-build.1.* %files -n python3-clang %{python3_sitelib}/clang/ %files -n lldb %defattr(-,root,root,-) #doc %{llvmdocdir lldb}/ %{_bindir}/lldb* %{_libdir}/liblldb*.so.* %files -n lldb-devel %defattr(-,root,root,-) %{_includedir}/lldb %{_libdir}/liblldb*.so %files -n python3-lldb %{python3_sitearch}/lldb %files -n lld %defattr(-,root,root,-) %{_bindir}/lld* %{_bindir}/ld.lld %{_bindir}/ld64.lld %{_bindir}/wasm-ld %exclude %{_bindir}/lldb* %if %{with lld_libs} %files -n lld-libs %{_libdir}/liblld*.so.* %exclude %{_libdir}/liblldb*.so.* %files -n lld-devel %{_includedir}/lld %{_libdir}/liblld*.so %exclude %{_libdir}/liblldb*.so %endif %files -n libomp %{_libdir}/libarcher.so %{_libdir}/libomp.so %{_libdir}/libomptarget.so %files -n libomp-devel %{_libdir}/clang/%{version}/include/omp.h %{_libdir}/clang/%{version}/include/omp-tools.h %{_libdir}/clang/%{version}/include/ompt.h %{_includedir}/ompt-multiplex.h %files doc %defattr(-,root,root,-) %doc docs/* #doc %{llvmdocdir %{name}-doc}/ %if %{with ocaml} %files ocaml %defattr(-,root,root,-) %{_libdir}/ocaml/*.cma %{_libdir}/ocaml/*.cmi %{_libdir}/ocaml/*.so %{_libdir}/ocaml/META.llvm* %files ocaml-devel %defattr(-,root,root,-) %{_libdir}/ocaml/*.a %{_libdir}/ocaml/*.cmx* %{_libdir}/ocaml/*.mli %files ocaml-doc %defattr(-,root,root,-) #doc %{llvmdocdir %{name}-ocaml-doc}/ %endif %if 0%{?_with_doxygen} %files apidoc %defattr(-,root,root,-) %doc %{llvmdocdir %{name}-apidoc}/ %files -n clang-apidoc %defattr(-,root,root,-) %doc %{llvmdocdir clang-apidoc}/ %endif %if %{build_compat32} %files -n compat32-%{name}%{ver_suffix}-libs %defattr(-,root,root) %license LICENSE.TXT #config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf %exclude %{_libdir}/libLTO.so #exclude %{_libdir}/BugpointPasses.so %exclude %{_libdir}/libclang*.so %exclude %{_libdir}/liblld*.so %exclude %{_libdir}/LLVMgold.so %{_libdir}/*.so %{_libdir}/libRemarks.so.* %endif %changelog * Fri Oct 16 2020 Tomohiro "Tomo-p" KATO 11.0.0-2 - enabled to build utils. * Thu Oct 15 2020 Tomohiro "Tomo-p" KATO 11.0.0-1 - new upstream release. * Mon Aug 17 2020 Tomohiro "Tomo-p" KATO 10.0.1-1 - new upstream release. * Thu Apr 16 2020 Tomohiro "Tomo-p" KATO 10.0.0-2 - rebuilt with libffi-3.3. * Fri Mar 27 2020 Tomohiro "Tomo-p" KATO 10.0.0-1 - new upstream release. * Sun Dec 22 2019 Tomohiro "Tomo-p" KATO 9.0.1-1 - new upstream release. * Sun Sep 22 2019 Tomohiro "Tomo-p" KATO 9.0.0-2 - dropped all patches. - switched build-system to ninja. - switched python to python3. * Fri Sep 20 2019 Tomohiro "Tomo-p" KATO 9.0.0-1 - new upstream release. - added OpenMP. * Sun Dec 16 2018 Tomohiro "Tomo-p" KATO 7.0.1-1 - fixed %%files. * Wed Dec 05 2018 Tomohiro "Tomo-p" KATO 7.0.0-1 - new upstream release. - dropped Patch0, 4, 5, 100 and 200. - imported Patch3, 7, 12, 15, 100, 101, 102 and 400 from rawhide. - renamed a subpackage "llvm-libs". - added a subpackage "lld". * Tue Jan 02 2018 Tomohiro "Tomo-p" KATO 5.0.1-2 - added subpackages "llvm-static", "python-lldb" and "python-clang". * Mon Jan 01 2018 Tomohiro "Tomo-p" KATO 5.0.1-1 - new upstream release. - dropped Patch1 and 2: fixed in upstream. - imported Patch0, 3-5, 100 and 200 from rawhide. - disabled Patch1002: no longer needed? * Fri Aug 5 2016 Tomohiro "Tomo-p" KATO 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 3.6.2-2 - rebuild with gcc-5.4.0 * Sat Sep 5 2015 Ryoichi INAGAKI 3.6.2-1 - new upstream release - added BR: ocaml-ctypes * Thu Jun 4 2015 Ryoichi INAGAKI 3.6.1-1 - new upstream release - dropt Patch 1, 201 and 1001 - updated Patch 1000 * Tue Mar 24 2015 Ryoichi INAGAKI 3.5.1-1 - updated to 3.5.1 - added Patch1, 2, 100, 101, 200, 201 and 202 from Fedora - added clang-libs, lldb, lldb-devel and compat32-llvm-libs subpackage - obsoleted clang-doc - built with ocaml 4.02.1 * Sat Nov 29 2014 Yoji TOYODA 3.5.0-2 - fix - fix configure option "--with-c-include-dirs" - update Patch1000: clang-3.5.0-driver-ld.gold.patch - update Patch1001: clang-3.5.0-driver-lib64.patch - update Patch1002: clang-3.5.0-driver-vine.patch * Tue Oct 28 2014 Yoji TOYODA 3.5.0-1 - update to 3.5.0 - remove Patch11 (clang-hardfloat-hack.patch) * Sun Jul 06 2014 Yoji TOYODA 3.3-2 - rebuild with libffi-3.0.13 * Mon Oct 28 2013 Daisuke SUZUKI 3.3-1 - update to 3.3 * Mon Dec 03 2012 Daisuke SUZUKI 3.1-2 - ld.gold (patch1000,1001) - add /%{_lib} to ld search path - add support *-vine-linux gcc (patch1002) * Fri Nov 30 2012 Daisuke SUZUKI 3.1-1 - update to 3.1 * Tue Jan 24 2012 NAKAMURA Kenta - 3.0-1 - updated to 3.0 release * Sun Jan 15 2012 NAKAMURA Kenta - 2.9-3 - added patch 2-4 to support -O4 link-time optimization * Fri Sep 9 2011 MATSUBAYASHI Kohji - 2.9-2 - disable -fno-var-tracking-assignments on ppc (seems like gcc-4.4.5 still doesn't support this) * Thu Aug 25 2011 Daisuke SUZUKI 2.9-1 - new upstream release - add BR: libffi-devel - add R: libffi-devel to -devel * Sun May 23 2010 Daisuke SUZUKI 2.7-1 - initial build for Vine Linux * Sun May 2 2010 Michel Salim - 2.7-1 - Update to final 2.7 release * Sun Mar 28 2010 Michel Salim - 2.7-0.1.pre1 - Update to first 2.7 pre-release * Fri Sep 18 2009 Michel Salim - 2.6-0.6.pre2 - Update to 2.6 pre-release2 - -devel subpackage now virtually provides -static * Wed Sep 9 2009 Michel Salim - 2.6-0.5.pre1 - Disable var tracking assignments on PPC * Wed Sep 9 2009 Michel Salim - 2.6-0.4.pre1 - Don't adjust clang include dir; files there are noarch (bz#521893) - Enable clang unit tests - clang and clang-analyzer renamed; no longer depend on llvm at runtime * Mon Sep 7 2009 Michel Salim - 2.6-0.3.pre1 - Package Clang's static analyzer tools * Mon Sep 7 2009 Michel Salim - 2.6-0.2.pre1 - PIC is now enabled by default; explicitly disable on %%{ix86} * Mon Sep 7 2009 Michel Salim - 2.6-0.1.pre1 - First 2.6 prerelease - Enable Clang front-end - Enable debuginfo generation * Sat Sep 5 2009 Michel Salim - 2.5-6 - Disable assertions (needed by OpenGTL, bz#521261) - Align spec file with upstream build instructions - Enable unit tests * Sat Aug 22 2009 Michel Salim - 2.5-5 - Only disable PIC on %%ix86; ppc actually needs it * Sat Aug 22 2009 Michel Salim - 2.5-4 - Disable use of position-independent code on 32-bit platforms (buggy in LLVM <= 2.5) * Sat Jul 25 2009 Fedora Release Engineering - 2.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Wed Mar 4 2009 Michel Salim - 2.5-2 - Remove build scripts; they require the build directory to work * Wed Mar 4 2009 Michel Salim - 2.5-1 - Update to 2.5 - Package build scripts (bug #457881) * Tue Dec 2 2008 Michel Salim - 2.4-2 - Patched build process for the OCaml binding * Tue Dec 2 2008 Michel Salim - 2.4-1 - Update to 2.4 - Package Ocaml binding * Wed Jun 18 2008 Bryan O'Sullivan - 2.3-2 - Add dependency on groff * Wed Jun 18 2008 Bryan O'Sullivan - 2.3-1 - LLVM 2.3 * Thu May 29 2008 Tom "spot" Callaway - 2.2-4 - fix license tags * Wed Mar 5 2008 Bryan O'Sullivan - 2.2-3 - Fix compilation problems with gcc 4.3 * Mon Feb 18 2008 Fedora Release Engineering - 2.2-2 - Autorebuild for GCC 4.3 * Sun Jan 20 2008 Bryan O'Sullivan - 2.1-2 - Fix review comments * Sun Jan 20 2008 Bryan O'Sullivan - 2.1-1 - Initial version