llvm-vl.spec 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844
  1. %define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
  2. %define _unpackaged_files_terminate_build 1
  3. # Build options:
  4. # Components skipped by default:
  5. %bcond_with doxygen
  6. %bcond_with ocaml
  7. %bcond_with force_gold
  8. # Documentation install path
  9. %global llvmdocdir() %{_docdir}/%1-%{version}
  10. %define _unpackaged_files_terminate_build 1
  11. Name: llvm
  12. Version: 5.0.1
  13. Release: 2%{?_dist_release}
  14. Summary: The Low Level Virtual Machine
  15. Summary(ja): LLVM - 低レベルバーチャルマシン
  16. Group: Development/Languages
  17. License: NCSA
  18. URL: http://llvm.org/
  19. Source0: http://llvm.org/releases/%{version}/llvm-%{version}.src.tar.xz
  20. Source1: http://llvm.org/releases/%{version}/cfe-%{version}.src.tar.xz
  21. Source2: http://llvm.org/releases/%{version}/compiler-rt-%{version}.src.tar.xz
  22. Source3: http://llvm.org/releases/%{version}/lldb-%{version}.src.tar.xz
  23. # multilib fixes
  24. Source10: llvm-config.h
  25. Source11: clang-config.h
  26. # patches
  27. # recognize s390 as SystemZ when configuring build
  28. Patch0: llvm-3.7.1-cmake-s390.patch
  29. Patch3: 0001-CMake-Split-static-library-exports-into-their-own-ex.patch
  30. # FIXME: Symbol versioning breaks some unittests when statically linking
  31. # libstdc++, so we disable it for now.
  32. Patch4: 0001-Revert-Add-a-linker-script-to-version-LLVM-symbols.patch
  33. Patch5: 0001-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch
  34. Patch100: 0001-lit.cfg-Remove-substitutions-for-clang-llvm-tools.patch
  35. Patch200: 0001-Fix-AArch64-build-with-glibc-2.26.patch
  36. # Vine Patch
  37. Patch1000: clang-3.8.1-driver-ld.gold.patch
  38. Patch1002: clang-3.8.1-driver-vine.patch
  39. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
  40. BuildRequires: binutils-devel
  41. BuildRequires: cmake
  42. BuildRequires: bison
  43. BuildRequires: chrpath
  44. BuildRequires: flex
  45. BuildRequires: gcc-c++ >= 3.4
  46. BuildRequires: groff
  47. BuildRequires: libffi-devel
  48. BuildRequires: libstdc++-devel
  49. BuildRequires: libstdc++-static
  50. BuildRequires: libtool-ltdl-devel
  51. BuildRequires: libxml2-devel
  52. BuildRequires: ocaml-findlib
  53. BuildRequires: ocaml-ctypes
  54. BuildRequires: ocaml-ounit
  55. # for DejaGNU test suite
  56. BuildRequires: dejagnu tcl-devel python
  57. %if %{with doxygen}
  58. BuildRequires: doxygen graphviz
  59. %endif
  60. # pod2man
  61. BuildRequires: perl
  62. # lldb
  63. BuildRequires: swig
  64. BuildRequires: libedit-devel
  65. BuildRequires: python-devel >= 2.7
  66. Requires: llvm-libs = %{version}-%{release}
  67. # LLVM is not supported on PPC64
  68. # http://llvm.org/bugs/show_bug.cgi?id=3729
  69. ExcludeArch: ppc64
  70. %description
  71. LLVM is a compiler infrastructure designed for compile-time,
  72. link-time, runtime, and idle-time optimization of programs from
  73. arbitrary programming languages. The compiler infrastructure includes
  74. mirror sets of programming tools as well as libraries with equivalent
  75. functionality.
  76. %package devel
  77. Summary: Libraries and header files for LLVM
  78. Summary(ja): LLVM のライブラリおよびヘッダファイル
  79. Group: Development/Libraries
  80. Requires: %{name} = %{version}-%{release}
  81. Requires: libstdc++-devel
  82. Requires: libffi-devel
  83. %description devel
  84. This package contains library and header files needed to develop new
  85. native programs that use the LLVM infrastructure.
  86. %package doc
  87. Summary: Documentation for LLVM
  88. Summary(ja): LLVM のドキュメント
  89. Group: Documentation
  90. BuildArch: noarch
  91. Requires: %{name} = %{version}-%{release}
  92. # might seem redundant, but needed to kill off the old arch-ed -doc subpackage
  93. Obsoletes: %{name}-doc < %{version}-%{release}
  94. %description doc
  95. Documentation for the LLVM compiler infrastructure.
  96. %package libs
  97. Summary: LLVM shared libraries
  98. Summary(ja): LLVM 共有ライブラリ
  99. Group: System Environment/Libraries
  100. %description libs
  101. Shared libraries for the LLVM compiler infrastructure.
  102. %description libs -l ja
  103. LLVM コンパイラ基盤の共有ライブラリです.
  104. %package static
  105. Summary: LLVM static libraries
  106. Summary(ja): LLVM 静的ライブラリ
  107. Requires: llvm-devel = %{version}-%{release}
  108. %description static
  109. Static libraries for the LLVM compiler infrastructure.
  110. %description static -l ja
  111. LLVM コンパイラ基盤の静的ライブラリです.
  112. %package -n clang
  113. Summary: A C language family front-end for LLVM
  114. Summary(ja): LLVM の C 言語フロントエンド
  115. License: NCSA
  116. Group: Development/Languages
  117. Requires: %{name} = %{version}-%{release}
  118. # clang requires gcc, clang++ requires libstdc++-devel
  119. Requires: libstdc++-devel
  120. # remove clang-doc pacakge
  121. Obsoletes: clang-doc < %{version}-%{release}
  122. %description -n clang
  123. clang: noun
  124. 1. A loud, resonant, metallic sound.
  125. 2. The strident call of a crane or goose.
  126. 3. C-language family front-end toolkit.
  127. The goal of the Clang project is to create a new C, C++, Objective C
  128. and Objective C++ front-end for the LLVM compiler. Its tools are built
  129. as libraries and designed to be loosely-coupled and extensible.
  130. %Package -n clang-libs
  131. Summary: Runtime library for clang
  132. Summary(ja): Clang のランタイムライブラリ
  133. Group: System Environment/Libraries
  134. %description -n clang-libs
  135. Runtime library for clang.
  136. %description -n clang-libs -l ja
  137. Clang のランタイムライブラリです.
  138. %package -n clang-devel
  139. Summary: Header files for clang
  140. Summary(ja): Clang のヘッダファイル
  141. Group: Development/Libraries
  142. Requires: clang = %{version}-%{release}
  143. %description -n clang-devel
  144. This package contains header files for the Clang compiler.
  145. %description -n clang-devel -l ja
  146. Clang コンパイラのヘッダファイル集です.
  147. %package -n clang-analyzer
  148. Summary: A source code analysis framework
  149. Summary(ja): ソースコード分析フレームワーク
  150. License: NCSA
  151. Group: Development/Languages
  152. Requires: clang = %{version}-%{release}
  153. # not picked up automatically since files are currently not instaled
  154. # in standard Python hierarchies yet
  155. Requires: python
  156. %description -n clang-analyzer
  157. The Clang Static Analyzer consists of both a source code analysis
  158. framework and a standalone tool that finds bugs in C and Objective-C
  159. programs. The standalone tool is invoked from the command-line, and is
  160. intended to run in tandem with a build of a project or code base.
  161. %package -n python-clang
  162. Summary: Python bindings for clang
  163. Requires: %{name}-libs%{?_isa} = %{version}-%{release}
  164. Requires: python
  165. %description -n python-clang
  166. Python bindings for clang
  167. #%package -n clang-doc
  168. #Summary: Documentation for Clang
  169. #Summary(ja): Clang のドキュメント
  170. #Group: Documentation
  171. #Requires: %{name} = %{version}-%{release}
  172. #
  173. #%description -n clang-doc
  174. #Documentation for the Clang compiler front-end.
  175. %package -n lldb
  176. Summary: Next generation high-performance debugger
  177. Summary(ja): 高性能デバッガー
  178. License: NCSA
  179. Group: Development/Debuggers
  180. Requires: %{name} = %{version}-%{release}
  181. %description -n lldb
  182. LLDB is a next generation, high-performance debugger. It is built as a set
  183. of reusable components which highly leverage existing libraries in the
  184. larger LLVM Project, such as the Clang expression parser and LLVM
  185. disassembler.
  186. %package -n lldb-devel
  187. Summary: Header files for LLDB
  188. Summary(ja): LLDB のヘッダファイル
  189. Group: Development/Libraries
  190. Requires: lldb = %{version}-%{release}
  191. %description -n lldb-devel
  192. This package contains header files for the LLDB debugger.
  193. %if %{with doxygen}
  194. %package apidoc
  195. Summary: API documentation for LLVM
  196. Summary(ja): LLVM の API ドキュメント
  197. Group: Documentation
  198. BuildArch: noarch
  199. Requires: %{name}-docs = %{version}-%{release}
  200. %description apidoc
  201. API documentation for the LLVM compiler infrastructure.
  202. %package -n clang-apidoc
  203. Summary: API documentation for Clang
  204. Summary(ja): Clang の API ドキュメント
  205. Group: Documentation
  206. BuildArch: noarch
  207. %description -n clang-apidoc
  208. API documentation for the Clang compiler.
  209. %endif
  210. %package -n python-lldb
  211. Summary: Python module for LLDB
  212. Summary(ja): LLDB用Pythonモジュール
  213. BuildRequires: python-devel
  214. Requires: python-six
  215. %description -n python-lldb
  216. The package contains the LLDB Python module.
  217. %if %{with ocaml}
  218. %package ocaml
  219. Summary: OCaml binding for LLVM
  220. Summary(ja): LLVM の OCaml バインディング
  221. Group: System Environment/Libraries
  222. Requires: %{name} = %{version}-%{release}
  223. Requires: ocaml
  224. %description ocaml
  225. OCaml binding for LLVM.
  226. %package ocaml-devel
  227. Summary: Development files for %{name}-ocaml
  228. Summary(ja): %{name}-ocaml の開発ファイル
  229. Group: Development/Libraries
  230. Requires: %{name}-devel = %{version}-%{release}
  231. Requires: %{name}-ocaml = %{version}-%{release}
  232. Requires: ocaml
  233. %description ocaml-devel
  234. The %{name}-ocaml-devel package contains libraries and signature files
  235. for developing applications that use %{name}-ocaml.
  236. %package ocaml-doc
  237. Summary: Documentation for %{name}-ocaml
  238. Summary(ja): %{name}-ocaml のドキュメント
  239. Group: Documentation
  240. BuildArch: noarch
  241. Requires: %{name}-ocaml = %{version}-%{release}
  242. # might seem redundant, but needed to kill off the old arch-ed -doc subpackage
  243. Obsoletes: %{name}-ocaml-doc < %{version}-%{release}
  244. %description ocaml-doc
  245. HTML documentation for LLVM's OCaml binding.
  246. %endif
  247. # compat32'
  248. %package -n compat32-%{name}-libs
  249. Summary: LLVM shared libraries
  250. Summary(ja): LLVM 共有ライブラリ
  251. Group: System Environment/Libraries
  252. Requires: %{name}-libs = %{version}-%{release}
  253. %description -n compat32-%{name}-libs
  254. Shared libraries for the LLVM compiler infrastructure.
  255. %prep
  256. %setup -q -a1 -a2 -a3 -n llvm-%{version}.src
  257. %patch0 -p1
  258. %patch3 -p1
  259. %patch4 -p1
  260. %patch5 -p1
  261. rm -rf tools/clang tools/lldb projects/compiler-rt
  262. mv cfe-%{version}.src tools/clang
  263. mv compiler-rt-%{version}.src projects/compiler-rt
  264. mv lldb-%{version}.src tools/lldb
  265. pushd tools/clang
  266. %patch100 -p1
  267. popd
  268. pushd projects/compiler-rt
  269. %patch200 -p1
  270. popd
  271. # Vine Linux
  272. %if %{with force_gold}
  273. pushd tools/clang
  274. %patch1000 -p1 -b .driver-ld.gold
  275. popd
  276. %endif
  277. #%patch1002 -p1 -b .driver-vine
  278. sed -i -e 's/"i686-linux-gnu",/"i686-linux-gnu","i686-vine-linux",/' tools/clang/lib/Driver/ToolChains/Gnu.cpp
  279. sed -i -e 's/"x86_64-linux-gnu",/"x86_64-linux-gnu","x86_64-vine-linux",/' tools/clang/lib/Driver/ToolChains/Gnu.cpp
  280. sed -i -e 's/"ld"/"ld.gold"/' tools/clang/include/clang/Driver/ToolChain.h
  281. %build
  282. mkdir build
  283. cd build
  284. CFLAGS="%{optflags} -fno-strict-aliasing -Wno-error=format-security -fPIC"
  285. CXXFLAGS="%{optflags} -fno-strict-aliasing -Wno-error=format-security -fPIC -std=c++11"
  286. TMP_PWD=$(pwd)
  287. LDFLAGS="%{?__global_ldflags} -L$TMP_PWD/%{_lib} -lpthread -ldl"
  288. %cmake .. \
  289. -DBUILD_SHARED_LIBS:BOOL=OFF \
  290. -DCMAKE_BUILD_TYPE=Release \
  291. -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-Bsymbolic -static-libstdc++" \
  292. %if 0%{?__isa_bits} == 64
  293. -DLLVM_LIBDIR_SUFFIX=64 \
  294. %else
  295. -DLLVM_LIBDIR_SUFFIX= \
  296. %endif
  297. -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;BPF" \
  298. -DLLVM_ENABLE_LIBCXX:BOOL=OFF \
  299. -DLLVM_ENABLE_ZLIB:BOOL=ON \
  300. -DLLVM_ENABLE_FFI:BOOL=ON \
  301. -DLLVM_ENABLE_RTTI:BOOL=ON \
  302. -DLLVM_BINUTILS_INCDIR=%{_includedir} \
  303. -DLLVM_BUILD_RUNTIME:BOOL=ON \
  304. -DLLVM_INCLUDE_TOOLS:BOOL=ON \
  305. -DLLVM_BUILD_TOOLS:BOOL=ON \
  306. -DLLVM_INCLUDE_TESTS:BOOL=ON \
  307. -DLLVM_BUILD_TESTS:BOOL=ON \
  308. -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \
  309. -DLLVM_BUILD_EXAMPLES:BOOL=OFF \
  310. -DLLVM_INCLUDE_UTILS:BOOL=ON \
  311. -DLLVM_INSTALL_UTILS:BOOL=OFF \
  312. -DLLVM_INCLUDE_DOCS:BOOL=ON \
  313. -DLLVM_ENABLE_SPHINX:BOOL=OFF \
  314. %if %{with doxygen}
  315. -DLLVM_ENABLE_DOXYGEN:BOOL=ON \
  316. %else
  317. -DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
  318. %endif
  319. -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \
  320. -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \
  321. -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \
  322. -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
  323. -DLLVM_OPTIMIZED_TABLEGEN:BOOL=ON \
  324. \
  325. -DCLANG_ENABLE_ARCMT:BOOL=ON \
  326. -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
  327. -DCLANG_INCLUDE_DOCS:BOOL=ON \
  328. -DCLANG_INCLUDE_TESTS:BOOL=ON \
  329. -DCLANG_PLUGIN_SUPPORT:BOOL=ON \
  330. -DCLANG_BUILD_EXAMPLES:BOOL=OFF \
  331. -DLIB_SUFFIX= \
  332. \
  333. -DLLDB_DISABLE_CURSES:BOOL=OFF \
  334. -DLLDB_DISABLE_LIBEDIT:BOOL=OFF \
  335. -DLLDB_DISABLE_PYTHON:BOOL=OFF \
  336. \
  337. -DPYTHON_EXECUTABLE:STRING=%{__python} \
  338. -DPYTHON_VERSION_MAJOR:STRING=$(%{__python} -c "import sys; print sys.version_info.major") \
  339. -DPYTHON_VERSION_MINOR:STRING=$(%{__python} -c "import sys; print sys.version_info.minor") \
  340. -DCOMPILER_RT_INCLUDE_TESTS:BOOL=OFF # could be on?
  341. # workaround for all-in-one build
  342. #TMP_PWD=$(pwd)
  343. #LD_LIBRARY_PATH="$TMP_PWD/%{_lib}" make %{?_smp_mflags}
  344. make %{?_smp_mflags}
  345. %install
  346. rm -rf %{buildroot}
  347. cd build
  348. make install DESTDIR=%{buildroot}
  349. # llvm
  350. install -m755 ./bin/lli-child-target %{buildroot}%{_bindir}/lli-child-target
  351. # fix multi-lib
  352. mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}}
  353. ln -sf llvm-config-%{__isa_bits} %{buildroot}%{_bindir}/llvm-config
  354. mv -v %{buildroot}%{_includedir}/llvm/Config/llvm-config{,-%{__isa_bits}}.h
  355. install -m 0644 %{SOURCE10} %{buildroot}%{_includedir}/llvm/Config/llvm-config.h
  356. # clang
  357. # remove static libraries
  358. rm -fv %{buildroot}%{_libdir}/libclang*.a
  359. # install clang python bindings
  360. mkdir -p %{buildroot}%{python_sitelib}/clang/
  361. install -p -m644 ../tools/clang/bindings/python/clang/* %{buildroot}%{python_sitelib}/clang/
  362. mv -v %{buildroot}%{_includedir}/clang/Config/config{,-%{__isa_bits}}.h
  363. install -m 0644 %{SOURCE11} %{buildroot}%{_includedir}/clang/Config/config.h
  364. # remove git integration
  365. rm -vf %{buildroot}%{_bindir}/git-clang-format
  366. # remove editor integrations (bbedit, sublime, emacs, vim)
  367. rm -vf %{buildroot}%{_datadir}/clang/clang-format-bbedit.applescript
  368. rm -vf %{buildroot}%{_datadir}/clang/clang-format-sublime.py*
  369. rm -vf %{buildroot}%{_datadir}/clang/clang-format.el
  370. rm -vf %{buildroot}%{_datadir}/clang/clang-format.py*
  371. # remove diff reformatter
  372. rm -vf %{buildroot}%{_datadir}/clang/clang-format-diff.py*
  373. # lldb
  374. # remove static libraries
  375. rm -fv %{buildroot}%{_libdir}/liblldb*.a
  376. # python: fix binary libraries location
  377. liblldb=$(basename $(readlink -e %{buildroot}%{_libdir}/liblldb.so))
  378. ln -vsf "../../../${liblldb}" %{buildroot}%{python_sitearch}/lldb/_lldb.so
  379. mv -v %{buildroot}%{python_sitearch}/readline.so %{buildroot}%{python_sitearch}/lldb/readline.so
  380. # remove bundled six.py
  381. rm -f %{buildroot}%{python_sitearch}/six.*
  382. # Move this plugin to libdir.
  383. # FIXME: I have no idea why this is installed to bindir. Moving it to libdir
  384. # may break it, but I don't know how to test this.
  385. mv -v %{buildroot}{%{_bindir},%{_libdir}}/liblldb-intel-mpxtable.so
  386. # compiler-rt
  387. # move sanitizer lists to better place
  388. mkdir -p %{buildroot}%{_libdir}/clang/%{version}
  389. for file in asan_blacklist.txt msan_blacklist.txt dfsan_blacklist.txt cfi_blacklist.txt dfsan_abilist.txt; do
  390. mv -v %{buildroot}%{_prefix}/${file} %{buildroot}%{_libdir}/clang/%{version}/ || :
  391. done
  392. # move sanitizer libs to better place
  393. #mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib
  394. #mv -v %{buildroot}%{_prefix}/lib/linux/libclang_rt* %{buildroot}%{_libdir}/clang/%{version}/lib
  395. #mkdir -p %{buildroot}%{_libdir}/clang/%{version}/lib/linux/
  396. #pushd %{buildroot}%{_libdir}/clang/%{version}/lib
  397. #for i in *.a *.syms *.so; do
  398. # ln -s ../$i linux/$i
  399. #done
  400. #rm -rf %{buildroot}%{_libdir}/python*
  401. rm -f %{buildroot}%{_datadir}/clang/bash-autocomplete.sh
  402. rm -f %{buildroot}%{_datadir}/clang/clang-rename.el
  403. rm -f %{buildroot}%{_datadir}/clang/clang-rename.py
  404. %check
  405. # the || : is wrong, i know, but the git snaps fail to make check due to
  406. # broken makefiles in the doc dirs.
  407. cd build
  408. make check-all LIT_ARGS="-v -j4" | tee llvm-testlog.txt ||:
  409. make -C tools/clang/test TESTARGS="-v -j4" | tee clang-testlog.txt ||:
  410. %clean
  411. rm -rf %{buildroot}
  412. %post libs -p /sbin/ldconfig
  413. %postun libs -p /sbin/ldconfig
  414. %post -n clang-libs -p /sbin/ldconfig
  415. %postun -n clang-libs -p /sbin/ldconfig
  416. %post -n lldb -p /sbin/ldconfig
  417. %postun -n lldb -p /sbin/ldconfig
  418. %posttrans devel
  419. # link llvm-config to the platform-specific file;
  420. # use ISA bits as priority so that 64-bit is preferred
  421. # over 32-bit if both are installed
  422. alternatives \
  423. --install \
  424. %{_bindir}/llvm-config \
  425. llvm-config \
  426. %{_bindir}/llvm-config-%{__isa_bits} \
  427. %{__isa_bits}
  428. %postun devel
  429. if [ $1 -eq 0 ]; then
  430. alternatives --remove llvm-config \
  431. %{_bindir}/llvm-config-%{__isa_bits}
  432. fi
  433. exit 0
  434. %files
  435. %defattr(-,root,root,-)
  436. %doc CREDITS.TXT README.txt
  437. %{_bindir}/bugpoint
  438. %{_bindir}/llc
  439. %{_bindir}/lli
  440. %{_bindir}/lli-child-target
  441. %{_bindir}/obj2yaml
  442. %{_bindir}/sancov
  443. %{_bindir}/sanstats
  444. %{_bindir}/verify-uselistorder
  445. %{_bindir}/yaml2obj
  446. %exclude %{_bindir}/llvm-config
  447. %exclude %{_bindir}/llvm-config-%{__isa_bits}
  448. %{_bindir}/llvm*
  449. %{_bindir}/opt
  450. %exclude %{_mandir}/man1/scan-build.1.*
  451. %doc %{_mandir}/man1/*.1.*
  452. %{_datadir}/opt-viewer
  453. %files devel
  454. %defattr(-,root,root,-)
  455. #doc %{llvmdocdir %{name}-devel}/
  456. %{_bindir}/llvm-config
  457. %{_bindir}/llvm-config-%{__isa_bits}
  458. %{_includedir}/%{name}
  459. %{_includedir}/%{name}-c
  460. %{_libdir}/libLLVM.so
  461. %{_libdir}/cmake/llvm
  462. %exclude %{_libdir}/cmake/llvm/LLVMStaticExports.cmake
  463. %files libs
  464. %defattr(-,root,root,-)
  465. %doc LICENSE.TXT
  466. #config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
  467. #dir %{_libdir}/%{name}
  468. %{_libdir}/BugpointPasses.so
  469. %{_libdir}/libLLVM-*.so
  470. %{_libdir}/libLTO.so*
  471. %{_libdir}/LLVMgold.so
  472. %exclude %{_libdir}/LLVMHello.so
  473. %files static
  474. %{_libdir}/*.a
  475. %{_libdir}/cmake/llvm/LLVMStaticExports.cmake
  476. %files -n clang
  477. %defattr(-,root,root,-)
  478. #doc %{llvmdocdir clang}/
  479. %{_bindir}/clang*
  480. %{_bindir}/c-index-test
  481. %{_libdir}/clang
  482. %files -n clang-libs
  483. %defattr(-,root,root,-)
  484. %{_libdir}/libclang.so
  485. %{_libdir}/libclang.so.*
  486. %files -n clang-devel
  487. %defattr(-,root,root,-)
  488. #doc %{llvmdocdir clang-devel}/
  489. %{_includedir}/clang
  490. %{_includedir}/clang-c
  491. %dir %{_datadir}/clang/
  492. %{_libdir}/cmake/*
  493. %files -n clang-analyzer
  494. %defattr(-,root,root,-)
  495. %{_bindir}/scan-build
  496. %{_bindir}/scan-view
  497. %{_libexecdir}/ccc-analyzer
  498. %{_libexecdir}/c++-analyzer
  499. %{_datadir}/scan-view
  500. %{_datadir}/scan-build
  501. %{_mandir}/man1/scan-build.1.*
  502. %files -n python-clang
  503. %{python_sitelib}/clang/
  504. %files -n lldb
  505. %defattr(-,root,root,-)
  506. #doc %{llvmdocdir lldb}/
  507. %{_bindir}/lldb*
  508. %{_libdir}/liblldb.so.*
  509. %{_libdir}/liblldb-intel-mpxtable.so
  510. %files -n lldb-devel
  511. %defattr(-,root,root,-)
  512. %{_includedir}/lldb
  513. %{_libdir}/liblldb.so
  514. %files -n python-lldb
  515. %{python_sitearch}/lldb
  516. %files doc
  517. %defattr(-,root,root,-)
  518. %doc docs/*
  519. #doc %{llvmdocdir %{name}-doc}/
  520. %if %{with ocaml}
  521. %files ocaml
  522. %defattr(-,root,root,-)
  523. %{_libdir}/ocaml/*.cma
  524. %{_libdir}/ocaml/*.cmi
  525. %{_libdir}/ocaml/*.so
  526. %{_libdir}/ocaml/META.llvm*
  527. %files ocaml-devel
  528. %defattr(-,root,root,-)
  529. %{_libdir}/ocaml/*.a
  530. %{_libdir}/ocaml/*.cmx*
  531. %{_libdir}/ocaml/*.mli
  532. %files ocaml-doc
  533. %defattr(-,root,root,-)
  534. #doc %{llvmdocdir %{name}-ocaml-doc}/
  535. %endif
  536. %if 0%{?_with_doxygen}
  537. %files apidoc
  538. %defattr(-,root,root,-)
  539. %doc %{llvmdocdir %{name}-apidoc}/
  540. %files -n clang-apidoc
  541. %defattr(-,root,root,-)
  542. %doc %{llvmdocdir clang-apidoc}/
  543. %endif
  544. %if %{build_compat32}
  545. %files -n compat32-%{name}-libs
  546. %defattr(-,root,root)
  547. %doc LICENSE.TXT
  548. #config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf
  549. %exclude %{_libdir}/libclang.so
  550. %exclude %{_libdir}/liblldb.so
  551. %exclude %{_libdir}/liblldb-intel-mpxtable.so
  552. %exclude %{_libdir}/LLVMHello.so
  553. %{_libdir}/*.so
  554. %{_libdir}/libLTO.so.*
  555. %endif
  556. %changelog
  557. * Tue Jan 02 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.0.1-2
  558. - added subpackages "llvm-static", "python-lldb" and "python-clang".
  559. * Mon Jan 01 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 5.0.1-1
  560. - new upstream release.
  561. - dropped Patch1 and 2: fixed in upstream.
  562. - imported Patch0, 3-5, 100 and 200 from rawhide.
  563. - disabled Patch1002: no longer needed?
  564. * Fri Aug 5 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.8.1-1
  565. - new upstream release.
  566. - switched to cmake.
  567. - disable ocaml binding as default.
  568. - updated Patch1000 and 1002.
  569. - disabled Patch1000 as default.
  570. - cleanup patches.
  571. * Thu Jun 30 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.6.2-2
  572. - rebuild with gcc-5.4.0
  573. * Sat Sep 5 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.6.2-1
  574. - new upstream release
  575. - added BR: ocaml-ctypes
  576. * Thu Jun 4 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.6.1-1
  577. - new upstream release
  578. - dropt Patch 1, 201 and 1001
  579. - updated Patch 1000
  580. * Tue Mar 24 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.5.1-1
  581. - updated to 3.5.1
  582. - added Patch1, 2, 100, 101, 200, 201 and 202 from Fedora
  583. - added clang-libs, lldb, lldb-devel and compat32-llvm-libs subpackage
  584. - obsoleted clang-doc
  585. - built with ocaml 4.02.1
  586. * Sat Nov 29 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.0-2
  587. - fix <BTS:2832>
  588. - fix configure option "--with-c-include-dirs"
  589. - update Patch1000: clang-3.5.0-driver-ld.gold.patch
  590. - update Patch1001: clang-3.5.0-driver-lib64.patch
  591. - update Patch1002: clang-3.5.0-driver-vine.patch
  592. * Tue Oct 28 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.0-1
  593. - update to 3.5.0
  594. - remove Patch11 (clang-hardfloat-hack.patch)
  595. * Sun Jul 06 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3-2
  596. - rebuild with libffi-3.0.13
  597. * Mon Oct 28 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 3.3-1
  598. - update to 3.3
  599. * Mon Dec 03 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 3.1-2
  600. - ld.gold (patch1000,1001)
  601. - add /%{_lib} to ld search path
  602. - add support *-vine-linux gcc (patch1002)
  603. * Fri Nov 30 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 3.1-1
  604. - update to 3.1
  605. * Tue Jan 24 2012 NAKAMURA Kenta <kenta@vinelinux.org> - 3.0-1
  606. - updated to 3.0 release
  607. * Sun Jan 15 2012 NAKAMURA Kenta <kenta@vinelinux.org> - 2.9-3
  608. - added patch 2-4 to support -O4 link-time optimization
  609. * Fri Sep 9 2011 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 2.9-2
  610. - disable -fno-var-tracking-assignments on ppc
  611. (seems like gcc-4.4.5 still doesn't support this)
  612. * Thu Aug 25 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 2.9-1
  613. - new upstream release
  614. - add BR: libffi-devel
  615. - add R: libffi-devel to -devel
  616. * Sun May 23 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 2.7-1
  617. - initial build for Vine Linux
  618. * Sun May 2 2010 Michel Salim <salimma@fedoraproject.org> - 2.7-1
  619. - Update to final 2.7 release
  620. * Sun Mar 28 2010 Michel Salim <salimma@fedoraproject.org> - 2.7-0.1.pre1
  621. - Update to first 2.7 pre-release
  622. * Fri Sep 18 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.6.pre2
  623. - Update to 2.6 pre-release2
  624. - -devel subpackage now virtually provides -static
  625. * Wed Sep 9 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.5.pre1
  626. - Disable var tracking assignments on PPC
  627. * Wed Sep 9 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.4.pre1
  628. - Don't adjust clang include dir; files there are noarch (bz#521893)
  629. - Enable clang unit tests
  630. - clang and clang-analyzer renamed; no longer depend on llvm at runtime
  631. * Mon Sep 7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.3.pre1
  632. - Package Clang's static analyzer tools
  633. * Mon Sep 7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.2.pre1
  634. - PIC is now enabled by default; explicitly disable on %%{ix86}
  635. * Mon Sep 7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.1.pre1
  636. - First 2.6 prerelease
  637. - Enable Clang front-end
  638. - Enable debuginfo generation
  639. * Sat Sep 5 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-6
  640. - Disable assertions (needed by OpenGTL, bz#521261)
  641. - Align spec file with upstream build instructions
  642. - Enable unit tests
  643. * Sat Aug 22 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-5
  644. - Only disable PIC on %%ix86; ppc actually needs it
  645. * Sat Aug 22 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-4
  646. - Disable use of position-independent code on 32-bit platforms
  647. (buggy in LLVM <= 2.5)
  648. * Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5-3
  649. - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
  650. * Wed Mar 4 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-2
  651. - Remove build scripts; they require the build directory to work
  652. * Wed Mar 4 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-1
  653. - Update to 2.5
  654. - Package build scripts (bug #457881)
  655. * Tue Dec 2 2008 Michel Salim <salimma@fedoraproject.org> - 2.4-2
  656. - Patched build process for the OCaml binding
  657. * Tue Dec 2 2008 Michel Salim <salimma@fedoraproject.org> - 2.4-1
  658. - Update to 2.4
  659. - Package Ocaml binding
  660. * Wed Jun 18 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.3-2
  661. - Add dependency on groff
  662. * Wed Jun 18 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.3-1
  663. - LLVM 2.3
  664. * Thu May 29 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.2-4
  665. - fix license tags
  666. * Wed Mar 5 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.2-3
  667. - Fix compilation problems with gcc 4.3
  668. * Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.2-2
  669. - Autorebuild for GCC 4.3
  670. * Sun Jan 20 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.1-2
  671. - Fix review comments
  672. * Sun Jan 20 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.1-1
  673. - Initial version