[9470] | 1 | %define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0} |
---|
| 2 | |
---|
[1073] | 3 | # Build options: |
---|
[9470] | 4 | # Components skipped by default: |
---|
| 5 | %bcond_with doxygen |
---|
[1073] | 6 | |
---|
[9470] | 7 | # Documentation install path |
---|
| 8 | %global llvmdocdir() %{_docdir}/%1-%{version} |
---|
| 9 | |
---|
[1073] | 10 | Name: llvm |
---|
[9734] | 11 | Version: 3.6.2 |
---|
[9470] | 12 | Release: 1%{?_dist_release} |
---|
[1073] | 13 | Summary: The Low Level Virtual Machine |
---|
| 14 | Summary(ja): LLVM - 低レベルバーチャルマシン |
---|
| 15 | |
---|
| 16 | Group: Development/Languages |
---|
| 17 | License: NCSA |
---|
| 18 | URL: http://llvm.org/ |
---|
[9073] | 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 |
---|
[9470] | 22 | Source3: http://llvm.org/releases/%{version}/lldb-%{version}.src.tar.xz |
---|
[7943] | 23 | |
---|
[4656] | 24 | # multilib fixes |
---|
[7943] | 25 | Source10: llvm-Config-config.h |
---|
| 26 | Source11: llvm-Config-llvm-config.h |
---|
[4656] | 27 | |
---|
[9470] | 28 | # patches |
---|
| 29 | Patch1: llvm-3.5.0-build-fix.patch |
---|
| 30 | Patch2: 0001-data-install-preserve-timestamps.patch |
---|
[1073] | 31 | |
---|
[9470] | 32 | # newish glibc hides the definition of __extern_always_inline behind |
---|
| 33 | # a check for gcc 4.3, clang pretends to be gcc 4.2. a proper fix would |
---|
| 34 | # be to build everything herein with gcc, but i don't have the patience |
---|
| 35 | # atm, so in the interest of bootstrapping... |
---|
| 36 | Patch100: clang-fake-gcc43.patch |
---|
| 37 | # http://llvm.org/bugs/show_bug.cgi?id=22625 |
---|
| 38 | Patch101: clang-pr22625.patch |
---|
[7197] | 39 | |
---|
[9470] | 40 | Patch200: lldb-python.patch |
---|
| 41 | Patch201: lldb-fix-expression-parser.patch |
---|
| 42 | Patch202: lldb-python-module-symlink.patch |
---|
| 43 | |
---|
[7201] | 44 | # Vine Patch |
---|
[9594] | 45 | Patch1000: clang-3.6.1-driver-ld.gold.patch |
---|
[9121] | 46 | Patch1001: clang-3.5.0-driver-lib64.patch |
---|
| 47 | Patch1002: clang-3.5.0-driver-vine.patch |
---|
[7201] | 48 | |
---|
[1073] | 49 | BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root |
---|
| 50 | |
---|
[5424] | 51 | BuildRequires: binutils-devel |
---|
[1073] | 52 | BuildRequires: bison |
---|
| 53 | BuildRequires: chrpath |
---|
| 54 | BuildRequires: flex |
---|
| 55 | BuildRequires: gcc-c++ >= 3.4 |
---|
| 56 | BuildRequires: groff |
---|
[4656] | 57 | BuildRequires: libffi-devel |
---|
[1073] | 58 | BuildRequires: libtool-ltdl-devel |
---|
[9594] | 59 | BuildRequires: libxml2-devel |
---|
| 60 | BuildRequires: ocaml-findlib |
---|
[9734] | 61 | BuildRequires: ocaml-ctypes |
---|
[9594] | 62 | BuildRequires: ocaml-ounit |
---|
[1073] | 63 | # for DejaGNU test suite |
---|
[9594] | 64 | BuildRequires: dejagnu tcl-devel python |
---|
[9470] | 65 | %if %{with doxygen} |
---|
[1073] | 66 | BuildRequires: doxygen graphviz |
---|
| 67 | %endif |
---|
[9594] | 68 | # pod2man |
---|
| 69 | BuildRequires: perl |
---|
[9470] | 70 | # lldb |
---|
| 71 | BuildRequires: swig |
---|
| 72 | BuildRequires: libedit-devel |
---|
[9594] | 73 | BuildRequires: python-devel >= 2.7 |
---|
[9470] | 74 | |
---|
[4656] | 75 | Requires: llvm-libs = %{version}-%{release} |
---|
[1073] | 76 | |
---|
| 77 | # LLVM is not supported on PPC64 |
---|
| 78 | # http://llvm.org/bugs/show_bug.cgi?id=3729 |
---|
| 79 | ExcludeArch: ppc64 |
---|
| 80 | |
---|
| 81 | %description |
---|
| 82 | LLVM is a compiler infrastructure designed for compile-time, |
---|
| 83 | link-time, runtime, and idle-time optimization of programs from |
---|
| 84 | arbitrary programming languages. The compiler infrastructure includes |
---|
| 85 | mirror sets of programming tools as well as libraries with equivalent |
---|
| 86 | functionality. |
---|
| 87 | |
---|
| 88 | |
---|
| 89 | %package devel |
---|
| 90 | Summary: Libraries and header files for LLVM |
---|
| 91 | Summary(ja): LLVM のライブラリおよびヘッダファイル |
---|
[9470] | 92 | Group: Development/Libraries |
---|
[1073] | 93 | Requires: %{name} = %{version}-%{release} |
---|
| 94 | Requires: libstdc++-devel |
---|
[4656] | 95 | Requires: libffi-devel |
---|
[1073] | 96 | Provides: llvm-static = %{version}-%{release} |
---|
| 97 | |
---|
| 98 | %description devel |
---|
| 99 | This package contains library and header files needed to develop new |
---|
| 100 | native programs that use the LLVM infrastructure. |
---|
| 101 | |
---|
| 102 | |
---|
| 103 | %package doc |
---|
| 104 | Summary: Documentation for LLVM |
---|
| 105 | Summary(ja): LLVM のドキュメント |
---|
| 106 | Group: Documentation |
---|
[9470] | 107 | BuildArch: noarch |
---|
[1073] | 108 | Requires: %{name} = %{version}-%{release} |
---|
[9470] | 109 | # might seem redundant, but needed to kill off the old arch-ed -doc subpackage |
---|
| 110 | Obsoletes: %{name}-doc < %{version}-%{release} |
---|
[1073] | 111 | |
---|
| 112 | %description doc |
---|
| 113 | Documentation for the LLVM compiler infrastructure. |
---|
| 114 | |
---|
| 115 | |
---|
[4656] | 116 | %package libs |
---|
| 117 | Summary: LLVM shared libraries |
---|
[9470] | 118 | Summary(ja): LLVM 共有ライブラリ |
---|
[4656] | 119 | Group: System Environment/Libraries |
---|
| 120 | |
---|
| 121 | %description libs |
---|
| 122 | Shared libraries for the LLVM compiler infrastructure. |
---|
| 123 | |
---|
[9594] | 124 | %description libs -l ja |
---|
| 125 | LLVM コンパイラ基盤の共有ライブラリです. |
---|
[4656] | 126 | |
---|
[1073] | 127 | %package -n clang |
---|
| 128 | Summary: A C language family front-end for LLVM |
---|
[9470] | 129 | Summary(ja): LLVM の C 言語フロントエンド |
---|
[1073] | 130 | License: NCSA |
---|
| 131 | Group: Development/Languages |
---|
[9470] | 132 | Requires: %{name} = %{version}-%{release} |
---|
| 133 | # clang requires gcc, clang++ requires libstdc++-devel |
---|
| 134 | Requires: libstdc++-devel |
---|
| 135 | # remove clang-doc pacakge |
---|
| 136 | Obsoletes: clang-doc < %{version}-%{release} |
---|
[1073] | 137 | |
---|
| 138 | %description -n clang |
---|
| 139 | clang: noun |
---|
| 140 | 1. A loud, resonant, metallic sound. |
---|
| 141 | 2. The strident call of a crane or goose. |
---|
| 142 | 3. C-language family front-end toolkit. |
---|
| 143 | |
---|
| 144 | The goal of the Clang project is to create a new C, C++, Objective C |
---|
| 145 | and Objective C++ front-end for the LLVM compiler. Its tools are built |
---|
| 146 | as libraries and designed to be loosely-coupled and extensible. |
---|
| 147 | |
---|
[9470] | 148 | %Package -n clang-libs |
---|
| 149 | Summary: Runtime library for clang |
---|
| 150 | Summary(ja): Clang のランタイムライブラリ |
---|
| 151 | Group: System Environment/Libraries |
---|
[1073] | 152 | |
---|
[9470] | 153 | %description -n clang-libs |
---|
| 154 | Runtime library for clang. |
---|
| 155 | |
---|
[9594] | 156 | %description -n clang-libs -l ja |
---|
| 157 | Clang のランタイムライブラリです. |
---|
[9470] | 158 | |
---|
[1073] | 159 | %package -n clang-devel |
---|
| 160 | Summary: Header files for clang |
---|
[9470] | 161 | Summary(ja): Clang のヘッダファイル |
---|
| 162 | Group: Development/Libraries |
---|
[1073] | 163 | Requires: clang = %{version}-%{release} |
---|
| 164 | |
---|
| 165 | %description -n clang-devel |
---|
| 166 | This package contains header files for the Clang compiler. |
---|
| 167 | |
---|
[9594] | 168 | %description -n clang-devel -l ja |
---|
| 169 | Clang コンパイラのヘッダファイル集です. |
---|
[1073] | 170 | |
---|
| 171 | %package -n clang-analyzer |
---|
| 172 | Summary: A source code analysis framework |
---|
| 173 | Summary(ja): ソースコー分析フレームワーク |
---|
| 174 | License: NCSA |
---|
| 175 | Group: Development/Languages |
---|
| 176 | Requires: clang = %{version}-%{release} |
---|
| 177 | # not picked up automatically since files are currently not instaled |
---|
| 178 | # in standard Python hierarchies yet |
---|
| 179 | Requires: python |
---|
| 180 | |
---|
| 181 | %description -n clang-analyzer |
---|
| 182 | The Clang Static Analyzer consists of both a source code analysis |
---|
| 183 | framework and a standalone tool that finds bugs in C and Objective-C |
---|
| 184 | programs. The standalone tool is invoked from the command-line, and is |
---|
| 185 | intended to run in tandem with a build of a project or code base. |
---|
| 186 | |
---|
[9470] | 187 | #%package -n clang-doc |
---|
| 188 | #Summary: Documentation for Clang |
---|
| 189 | #Summary(ja): Clang のドキュメント |
---|
| 190 | #Group: Documentation |
---|
| 191 | #Requires: %{name} = %{version}-%{release} |
---|
| 192 | # |
---|
| 193 | #%description -n clang-doc |
---|
| 194 | #Documentation for the Clang compiler front-end. |
---|
[1073] | 195 | |
---|
[9470] | 196 | %package -n lldb |
---|
| 197 | Summary: Next generation high-performance debugger |
---|
| 198 | Summary(ja): 高性能デバッガー |
---|
| 199 | License: NCSA |
---|
| 200 | Group: Development/Debuggers |
---|
[1073] | 201 | Requires: %{name} = %{version}-%{release} |
---|
| 202 | |
---|
[9470] | 203 | %description -n lldb |
---|
| 204 | LLDB is a next generation, high-performance debugger. It is built as a set |
---|
| 205 | of reusable components which highly leverage existing libraries in the |
---|
| 206 | larger LLVM Project, such as the Clang expression parser and LLVM |
---|
| 207 | disassembler. |
---|
[1073] | 208 | |
---|
[9470] | 209 | %package -n lldb-devel |
---|
| 210 | Summary: Header files for LLDB |
---|
| 211 | Summary(ja): LLDB のヘッダファイル |
---|
| 212 | Group: Development/Libraries |
---|
| 213 | Requires: lldb = %{version}-%{release} |
---|
[1073] | 214 | |
---|
[9470] | 215 | %description -n lldb-devel |
---|
| 216 | This package contains header files for the LLDB debugger. |
---|
| 217 | |
---|
| 218 | |
---|
| 219 | %if %{with doxygen} |
---|
[1073] | 220 | %package apidoc |
---|
| 221 | Summary: API documentation for LLVM |
---|
| 222 | Summary(ja): LLVM の API ドキュメント |
---|
[9470] | 223 | Group: Documentation |
---|
| 224 | BuildArch: noarch |
---|
[1073] | 225 | Requires: %{name}-docs = %{version}-%{release} |
---|
| 226 | |
---|
| 227 | %description apidoc |
---|
| 228 | API documentation for the LLVM compiler infrastructure. |
---|
[9470] | 229 | |
---|
| 230 | %package -n clang-apidoc |
---|
| 231 | Summary: API documentation for Clang |
---|
| 232 | Summary(ja): Clang の API ドキュメント |
---|
| 233 | Group: Documentation |
---|
| 234 | BuildArch: noarch |
---|
| 235 | |
---|
| 236 | %description -n clang-apidoc |
---|
| 237 | API documentation for the Clang compiler. |
---|
[1073] | 238 | %endif |
---|
| 239 | |
---|
| 240 | %package ocaml |
---|
| 241 | Summary: OCaml binding for LLVM |
---|
| 242 | Summary(ja): LLVM の OCaml バインディング |
---|
[9470] | 243 | Group: System Environment/Libraries |
---|
[1073] | 244 | Requires: %{name} = %{version}-%{release} |
---|
| 245 | Requires: ocaml |
---|
| 246 | |
---|
| 247 | %description ocaml |
---|
| 248 | OCaml binding for LLVM. |
---|
| 249 | |
---|
| 250 | %package ocaml-devel |
---|
| 251 | Summary: Development files for %{name}-ocaml |
---|
| 252 | Summary(ja): %{name}-ocaml の開発ファイル |
---|
| 253 | Group: Development/Libraries |
---|
| 254 | Requires: %{name}-devel = %{version}-%{release} |
---|
| 255 | Requires: %{name}-ocaml = %{version}-%{release} |
---|
| 256 | Requires: ocaml |
---|
| 257 | |
---|
| 258 | %description ocaml-devel |
---|
| 259 | The %{name}-ocaml-devel package contains libraries and signature files |
---|
| 260 | for developing applications that use %{name}-ocaml. |
---|
| 261 | |
---|
| 262 | %package ocaml-doc |
---|
| 263 | Summary: Documentation for %{name}-ocaml |
---|
| 264 | Summary(ja): %{name}-ocaml のドキュメント |
---|
| 265 | Group: Documentation |
---|
[9470] | 266 | BuildArch: noarch |
---|
[1073] | 267 | Requires: %{name}-ocaml = %{version}-%{release} |
---|
[9470] | 268 | # might seem redundant, but needed to kill off the old arch-ed -doc subpackage |
---|
| 269 | Obsoletes: %{name}-ocaml-doc < %{version}-%{release} |
---|
[1073] | 270 | |
---|
| 271 | %description ocaml-doc |
---|
| 272 | HTML documentation for LLVM's OCaml binding. |
---|
| 273 | |
---|
[9470] | 274 | # compat32' |
---|
| 275 | %package -n compat32-%{name}-libs |
---|
| 276 | Summary: LLVM shared libraries |
---|
| 277 | Summary(ja): LLVM 共有ライブラリ |
---|
| 278 | Group: System Environment/Libraries |
---|
| 279 | Requires: %{name}-libs = %{version}-%{release} |
---|
[1073] | 280 | |
---|
[9470] | 281 | %description -n compat32-%{name}-libs |
---|
| 282 | Shared libraries for the LLVM compiler infrastructure. |
---|
[1073] | 283 | |
---|
[9470] | 284 | |
---|
[1073] | 285 | %prep |
---|
[9470] | 286 | %setup -q -a1 -a2 -a3 -n llvm-%{version}.src |
---|
| 287 | rm -rf tools/clang tools/lldb projects/compiler-rt |
---|
[7943] | 288 | mv cfe-%{version}.src tools/clang |
---|
[9470] | 289 | mv compiler-rt-%{version}.src projects/compiler-rt |
---|
| 290 | mv lldb-%{version}.src tools/lldb |
---|
[1073] | 291 | |
---|
[9594] | 292 | #patch1 -p1 |
---|
[9470] | 293 | %patch2 -p1 |
---|
[1073] | 294 | |
---|
[9470] | 295 | # clang |
---|
[9594] | 296 | #pushd tools/clang |
---|
| 297 | #%patch100 -p1 |
---|
| 298 | #%patch101 -p0 |
---|
| 299 | #popd |
---|
[4656] | 300 | |
---|
[9470] | 301 | # lldb |
---|
| 302 | pushd tools/lldb |
---|
| 303 | # careful when recreating this patch... |
---|
| 304 | %patch200 -p1 -b .python |
---|
[9594] | 305 | #patch201 -p2 |
---|
[9470] | 306 | %patch202 -p1 |
---|
| 307 | sed -i s/@lib@/%{_lib}/g scripts/Python/modules/readline/Makefile |
---|
| 308 | popd |
---|
| 309 | |
---|
| 310 | # Vine Linux |
---|
[9121] | 311 | %patch1000 -p1 -b .driver-ld.gold |
---|
[9594] | 312 | #%ifarch x86_64 |
---|
| 313 | #%patch1001 -p1 -b .driver-lib64 |
---|
| 314 | #%endif |
---|
[9121] | 315 | %patch1002 -p1 -b .driver-vine |
---|
[7201] | 316 | |
---|
[9470] | 317 | # fix library paths |
---|
| 318 | sed -i 's|/lib /usr/lib $lt_ld_extra|%{_libdir} $lt_ld_extra|' configure |
---|
[9121] | 319 | sed -i 's|(PROJ_prefix)/lib|(PROJ_prefix)/%{_lib}/%{name}|g' Makefile.config.in |
---|
| 320 | sed -i 's|/lib\>|/%{_lib}/%{name}|g' tools/llvm-config/llvm-config.cpp |
---|
[1073] | 321 | |
---|
| 322 | %build |
---|
[9470] | 323 | # -fno-devirtualize shouldn't be necessary, but gcc has scary template-related |
---|
| 324 | # bugs that make it so. gcc 5 ought to be fixed. |
---|
[9594] | 325 | export CC=gcc |
---|
| 326 | export CXX=g++ |
---|
| 327 | export CFLAGS="%{optflags} -DLLDB_DISABLE_PYTHON" |
---|
| 328 | export CXXFLAGS="%{optflags} -DLLDB_DISABLE_PYTHON" |
---|
[4656] | 329 | %configure \ |
---|
[9470] | 330 | --with-extra-options="-fno-devirtualize" \ |
---|
| 331 | --with-extra-ld-options=-Wl,-Bsymbolic \ |
---|
[1073] | 332 | --libdir=%{_libdir}/%{name} \ |
---|
[9594] | 333 | --disable-polly \ |
---|
| 334 | --disable-libcpp \ |
---|
| 335 | --enable-cxx11 \ |
---|
| 336 | --enable-clang-arcmt \ |
---|
| 337 | --enable-clang-static-analyzer \ |
---|
| 338 | --enable-clang-rewriter \ |
---|
| 339 | --enable-optimized \ |
---|
| 340 | --disable-profiling \ |
---|
| 341 | --disable-assertions \ |
---|
| 342 | --disable-werror \ |
---|
| 343 | --disable-expensive-checks \ |
---|
| 344 | --enable-debug-runtime \ |
---|
| 345 | --enable-keep-symbols \ |
---|
| 346 | --enable-jit \ |
---|
| 347 | --enable-docs \ |
---|
[9470] | 348 | %if %{with doxygen} |
---|
[5555] | 349 | --enable-doxygen \ |
---|
[9470] | 350 | %else |
---|
| 351 | --disable-doxygen \ |
---|
[5555] | 352 | %endif |
---|
[9594] | 353 | --enable-threads \ |
---|
| 354 | --enable-pthreads \ |
---|
| 355 | --enable-zlib \ |
---|
| 356 | --enable-pic \ |
---|
| 357 | --enable-shared \ |
---|
| 358 | --disable-embed-stdcxx \ |
---|
| 359 | --enable-timestamps \ |
---|
| 360 | --enable-backtraces \ |
---|
| 361 | --enable-targets=x86,powerpc,arm,aarch64,cpp,nvptx,systemz,r600 \ |
---|
| 362 | --enable-bindings=ocaml \ |
---|
| 363 | --enable-libffi \ |
---|
| 364 | --enable-ltdl-install \ |
---|
| 365 | \ |
---|
[7943] | 366 | %ifarch armv7hl armv7l |
---|
| 367 | --with-cpu=cortex-a8 \ |
---|
| 368 | --with-tune=cortex-a8 \ |
---|
| 369 | --with-arch=armv7-a \ |
---|
| 370 | --with-float=hard \ |
---|
| 371 | --with-fpu=vfpv3-d16 \ |
---|
[9594] | 372 | --with-abi=aapcs-vfp \ |
---|
| 373 | %endif |
---|
| 374 | \ |
---|
| 375 | --with-binutils-include=%{_includedir} \ |
---|
[9121] | 376 | --with-c-include-dirs=%{_includedir}:$(echo %{_prefix}/lib/gcc/%{_target_cpu}*/*/include) \ |
---|
[9470] | 377 | --with-optimize-option=-O3 |
---|
[9594] | 378 | |
---|
| 379 | # --datadir=%{_libdir}/%{name} \ |
---|
| 380 | # --enable-experimental-targets=R600 \ |
---|
| 381 | |
---|
[9470] | 382 | make %{?_smp_mflags} REQUIRES_RTTI=1 VERBOSE=1 |
---|
[1073] | 383 | |
---|
| 384 | %install |
---|
| 385 | rm -rf %{buildroot} |
---|
[5555] | 386 | |
---|
[1073] | 387 | make install DESTDIR=%{buildroot} \ |
---|
| 388 | PROJ_docsdir=/moredocs |
---|
[4656] | 389 | |
---|
[9121] | 390 | # you have got to be kidding me |
---|
[9594] | 391 | rm -f %{buildroot}%{_bindir}/{FileCheck,count,not,verify-uselistorder,obj2yaml,yaml2obj} |
---|
[9121] | 392 | |
---|
[4656] | 393 | # multilib fixes |
---|
| 394 | mv %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}} |
---|
| 395 | |
---|
| 396 | pushd %{buildroot}%{_includedir}/llvm/Config |
---|
| 397 | mv config.h config-%{__isa_bits}.h |
---|
[7943] | 398 | cp -p %{SOURCE10} config.h |
---|
[4656] | 399 | mv llvm-config.h llvm-config-%{__isa_bits}.h |
---|
[7943] | 400 | cp -p %{SOURCE11} llvm-config.h |
---|
[1073] | 401 | popd |
---|
| 402 | |
---|
| 403 | # Create ld.so.conf.d entry |
---|
| 404 | mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d |
---|
| 405 | cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf << EOF |
---|
[9594] | 406 | %{_libdir}/%{name} |
---|
[1073] | 407 | EOF |
---|
| 408 | |
---|
| 409 | # Static analyzer not installed by default: |
---|
| 410 | # http://clang-analyzer.llvm.org/installation#OtherPlatforms |
---|
[9470] | 411 | # scan-view |
---|
| 412 | mkdir -p %{buildroot}%{_libexecdir}/clang-analyzer/ |
---|
| 413 | cp -pr tools/clang/tools/scan-view %{buildroot}%{_libexecdir}/clang-analyzer/ |
---|
| 414 | |
---|
| 415 | # scan-build |
---|
| 416 | mkdir -p %{buildroot}%{_libexecdir}/clang-analyzer/scan-build |
---|
| 417 | for file in c++-analyzer ccc-analyzer scan-build scanview.css sorttable.js; do |
---|
| 418 | cp -p tools/clang/tools/scan-build/$file \ |
---|
| 419 | %{buildroot}%{_libexecdir}/clang-analyzer/scan-build/ |
---|
| 420 | done |
---|
| 421 | |
---|
| 422 | # scan-build manual page |
---|
| 423 | mkdir -p %{buildroot}%{_mandir}/man1 |
---|
| 424 | cp -p tools/clang/tools/scan-build/scan-build.1 %{buildroot}%{_mandir}/man1/ |
---|
| 425 | |
---|
| 426 | # scan-build requires clang in search path |
---|
| 427 | ln -s ../../../bin/clang %{buildroot}%{_libexecdir}/clang-analyzer/scan-build/clang |
---|
| 428 | |
---|
| 429 | # launchers in /bin |
---|
[1073] | 430 | for f in scan-{build,view}; do |
---|
[9470] | 431 | ln -s %{_libexecdir}/clang-analyzer/$f/$f %{buildroot}%{_bindir}/$f |
---|
[1073] | 432 | done |
---|
| 433 | |
---|
[9470] | 434 | # Get rid of erroneously installed example files. |
---|
| 435 | rm %{buildroot}%{_libdir}/%{name}/*LLVMHello.* |
---|
[1073] | 436 | |
---|
[9470] | 437 | # remove executable bit from static libraries |
---|
| 438 | find %{buildroot}%{_libdir} -name "*.a" -type f -print0 | xargs -0 chmod -x |
---|
[1073] | 439 | |
---|
[9470] | 440 | # Install man page for LLDB |
---|
| 441 | mkdir -p %{buildroot}%{_mandir}/man1 |
---|
| 442 | cp tools/lldb/docs/lldb.1 %{buildroot}%{_mandir}/man1/ |
---|
[1073] | 443 | |
---|
[9594] | 444 | # Install documentation documentation |
---|
| 445 | find %{buildroot}/moredocs/ -name "*.tar.gz" -print0 | xargs -0 rm -rf |
---|
| 446 | mkdir -p %{buildroot}%{_docdir} |
---|
| 447 | |
---|
[9470] | 448 | # llvm-doc |
---|
| 449 | mkdir -p %{buildroot}%{llvmdocdir %{name}-doc} |
---|
| 450 | cp -ar examples %{buildroot}%{llvmdocdir %{name}-doc}/examples |
---|
| 451 | find %{buildroot}%{llvmdocdir %{name}-doc} -name Makefile -o -name CMakeLists.txt -o -name LLVMBuild.txt -print0 | xargs -0 rm -f |
---|
| 452 | |
---|
| 453 | # llvm-apidoc |
---|
| 454 | %if %{with doxygen} |
---|
| 455 | mv %{buildroot}/moredocs/html/doxygen %{buildroot}%{llvmdocdir %{name}-apidoc} |
---|
[4656] | 456 | %endif |
---|
| 457 | |
---|
[9470] | 458 | # llvm-ocaml-doc |
---|
[9594] | 459 | #mv %{buildroot}/moredocs/ocamldoc/html %{buildroot}%{llvmdocdir %{name}-ocaml-doc} |
---|
[9470] | 460 | |
---|
| 461 | # clang |
---|
| 462 | mkdir -p %{buildroot}%{llvmdocdir clang} |
---|
| 463 | for f in LICENSE.TXT NOTES.txt README.txt CODE_OWNERS.TXT; do |
---|
| 464 | cp tools/clang/$f %{buildroot}%{llvmdocdir clang}/ |
---|
[1073] | 465 | done |
---|
| 466 | |
---|
[9470] | 467 | # clang-apidoc |
---|
| 468 | %if %{with doxygen} |
---|
| 469 | cp -ar tools/clang/docs/doxygen/html %{buildroot}%{llvmdocdir clang-apidoc} |
---|
| 470 | %endif |
---|
[1073] | 471 | |
---|
[9470] | 472 | # lldb |
---|
| 473 | mkdir -p %{buildroot}%{llvmdocdir lldb} |
---|
| 474 | cp tools/lldb/LICENSE.TXT %{buildroot}%{llvmdocdir lldb}/ |
---|
[1073] | 475 | |
---|
[9470] | 476 | # delete the rest of installed documentation (because it's bad) |
---|
| 477 | rm -rf %{buildroot}/moredocs |
---|
[1073] | 478 | |
---|
[9470] | 479 | # install CMake modules |
---|
| 480 | mkdir -p %{buildroot}%{_datadir}/llvm/cmake/ |
---|
| 481 | cp -p cmake/modules/*.cmake %{buildroot}%{_datadir}/llvm/cmake/ |
---|
[1073] | 482 | |
---|
[9470] | 483 | # remove RPATHs |
---|
| 484 | file %{buildroot}/%{_bindir}/* | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d |
---|
| 485 | file %{buildroot}/%{_libdir}/%{name}/*.so | awk -F: '$2~/ELF/{print $1}' | xargs -r chrpath -d |
---|
[1073] | 486 | |
---|
| 487 | |
---|
[4656] | 488 | %check |
---|
[9594] | 489 | # the || : is wrong, i know, but the git snaps fail to make check due to |
---|
| 490 | # broken makefiles in the doc dirs. |
---|
| 491 | make check LIT_ARGS="-v -j4" | tee llvm-testlog.txt ||: |
---|
| 492 | make -C tools/clang/test TESTARGS="-v -j4" | tee clang-testlog.txt ||: |
---|
[4656] | 493 | |
---|
| 494 | |
---|
[1073] | 495 | %clean |
---|
| 496 | rm -rf %{buildroot} |
---|
| 497 | |
---|
| 498 | |
---|
[4656] | 499 | %post libs -p /sbin/ldconfig |
---|
[9470] | 500 | %postun libs -p /sbin/ldconfig |
---|
[1073] | 501 | |
---|
[9470] | 502 | %post -n clang-libs -p /sbin/ldconfig |
---|
| 503 | %postun -n clang-libs -p /sbin/ldconfig |
---|
[1073] | 504 | |
---|
[9470] | 505 | %post -n lldb -p /sbin/ldconfig |
---|
| 506 | %postun -n lldb -p /sbin/ldconfig |
---|
[1073] | 507 | |
---|
| 508 | |
---|
[4656] | 509 | %posttrans devel |
---|
| 510 | # link llvm-config to the platform-specific file; |
---|
| 511 | # use ISA bits as priority so that 64-bit is preferred |
---|
| 512 | # over 32-bit if both are installed |
---|
| 513 | alternatives \ |
---|
| 514 | --install \ |
---|
| 515 | %{_bindir}/llvm-config \ |
---|
| 516 | llvm-config \ |
---|
| 517 | %{_bindir}/llvm-config-%{__isa_bits} \ |
---|
| 518 | %{__isa_bits} |
---|
| 519 | |
---|
| 520 | %postun devel |
---|
| 521 | if [ $1 -eq 0 ]; then |
---|
| 522 | alternatives --remove llvm-config \ |
---|
| 523 | %{_bindir}/llvm-config-%{__isa_bits} |
---|
| 524 | fi |
---|
| 525 | exit 0 |
---|
| 526 | |
---|
| 527 | |
---|
[1073] | 528 | %files |
---|
| 529 | %defattr(-,root,root,-) |
---|
[9470] | 530 | %doc CREDITS.TXT README.txt |
---|
[1073] | 531 | %{_bindir}/bugpoint |
---|
| 532 | %{_bindir}/llc |
---|
| 533 | %{_bindir}/lli |
---|
[9121] | 534 | %{_bindir}/lli-child-target |
---|
[4656] | 535 | %exclude %{_bindir}/llvm-config-%{__isa_bits} |
---|
[1073] | 536 | %{_bindir}/llvm* |
---|
[4656] | 537 | %{_bindir}/macho-dump |
---|
[1073] | 538 | %{_bindir}/opt |
---|
[9470] | 539 | %dir %{_datadir}/llvm |
---|
[1073] | 540 | %exclude %{_mandir}/man1/clang.1.* |
---|
[9470] | 541 | %exclude %{_mandir}/man1/scan-build.1.* |
---|
| 542 | %exclude %{_mandir}/man1/lldb.1.* |
---|
[1073] | 543 | %doc %{_mandir}/man1/*.1.* |
---|
| 544 | |
---|
| 545 | %files devel |
---|
| 546 | %defattr(-,root,root,-) |
---|
[9470] | 547 | #doc %{llvmdocdir %{name}-devel}/ |
---|
[4656] | 548 | %{_bindir}/llvm-config-%{__isa_bits} |
---|
[1073] | 549 | %{_includedir}/%{name} |
---|
| 550 | %{_includedir}/%{name}-c |
---|
| 551 | %{_libdir}/%{name}/*.a |
---|
[9073] | 552 | %{_datadir}/%{name}/cmake |
---|
[1073] | 553 | |
---|
[4656] | 554 | %files libs |
---|
| 555 | %defattr(-,root,root,-) |
---|
[9470] | 556 | %doc LICENSE.TXT |
---|
[4656] | 557 | %config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf |
---|
| 558 | %dir %{_libdir}/%{name} |
---|
| 559 | %exclude %{_libdir}/%{name}/libclang.so |
---|
[9470] | 560 | %exclude %{_libdir}/%{name}/liblldb.so |
---|
[4656] | 561 | %{_libdir}/%{name}/*.so |
---|
| 562 | |
---|
[1073] | 563 | %files -n clang |
---|
| 564 | %defattr(-,root,root,-) |
---|
[9470] | 565 | %doc %{llvmdocdir clang}/ |
---|
[1073] | 566 | %{_bindir}/clang* |
---|
[7197] | 567 | %{_bindir}/c-index-test |
---|
[1073] | 568 | %{_prefix}/lib/clang |
---|
| 569 | %doc %{_mandir}/man1/clang.1.* |
---|
| 570 | |
---|
[9470] | 571 | %files -n clang-libs |
---|
| 572 | %defattr(-,root,root,-) |
---|
| 573 | %{_libdir}/%{name}/libclang.so |
---|
| 574 | |
---|
[1073] | 575 | %files -n clang-devel |
---|
| 576 | %defattr(-,root,root,-) |
---|
[9470] | 577 | #doc %{llvmdocdir clang-devel}/ |
---|
[1073] | 578 | %{_includedir}/clang |
---|
| 579 | %{_includedir}/clang-c |
---|
| 580 | |
---|
| 581 | %files -n clang-analyzer |
---|
| 582 | %defattr(-,root,root,-) |
---|
| 583 | %{_bindir}/scan-build |
---|
| 584 | %{_bindir}/scan-view |
---|
[9470] | 585 | %{_libexecdir}/clang-analyzer |
---|
| 586 | %{_mandir}/man1/scan-build.1.* |
---|
[1073] | 587 | |
---|
[9470] | 588 | %files -n lldb |
---|
[1073] | 589 | %defattr(-,root,root,-) |
---|
[9470] | 590 | %doc %{llvmdocdir lldb}/ |
---|
| 591 | %{_bindir}/lldb |
---|
| 592 | %{_bindir}/lldb-* |
---|
| 593 | %{_libdir}/%{name}/liblldb.so |
---|
| 594 | # XXX double check this |
---|
[9594] | 595 | #{python_sitearch}/* |
---|
[9470] | 596 | %doc %{_mandir}/man1/lldb.1.* |
---|
[1073] | 597 | |
---|
[9470] | 598 | %files -n lldb-devel |
---|
| 599 | %defattr(-,root,root,-) |
---|
| 600 | %{_includedir}/lldb |
---|
| 601 | |
---|
[1073] | 602 | %files doc |
---|
| 603 | %defattr(-,root,root,-) |
---|
[9470] | 604 | %doc %{llvmdocdir %{name}-doc}/ |
---|
[1073] | 605 | |
---|
| 606 | %files ocaml |
---|
| 607 | %defattr(-,root,root,-) |
---|
| 608 | %{_libdir}/ocaml/*.cma |
---|
| 609 | %{_libdir}/ocaml/*.cmi |
---|
[9073] | 610 | %{_libdir}/ocaml/*.so |
---|
| 611 | %{_libdir}/ocaml/META.llvm* |
---|
[1073] | 612 | |
---|
| 613 | %files ocaml-devel |
---|
| 614 | %defattr(-,root,root,-) |
---|
| 615 | %{_libdir}/ocaml/*.a |
---|
| 616 | %{_libdir}/ocaml/*.cmx* |
---|
| 617 | %{_libdir}/ocaml/*.mli |
---|
| 618 | |
---|
| 619 | %files ocaml-doc |
---|
| 620 | %defattr(-,root,root,-) |
---|
[9594] | 621 | #doc %{llvmdocdir %{name}-ocaml-doc}/ |
---|
[1073] | 622 | |
---|
[4656] | 623 | %if 0%{?_with_doxygen} |
---|
[1073] | 624 | %files apidoc |
---|
| 625 | %defattr(-,root,root,-) |
---|
[9470] | 626 | %doc %{llvmdocdir %{name}-apidoc}/ |
---|
[4656] | 627 | |
---|
| 628 | %files -n clang-apidoc |
---|
| 629 | %defattr(-,root,root,-) |
---|
[9470] | 630 | %doc %{llvmdocdir clang-apidoc}/ |
---|
[1073] | 631 | %endif |
---|
| 632 | |
---|
[9470] | 633 | %if %{build_compat32} |
---|
| 634 | %files -n compat32-%{name}-libs |
---|
| 635 | %defattr(-,root,root) |
---|
| 636 | %doc LICENSE.TXT |
---|
| 637 | %config(noreplace) %{_sysconfdir}/ld.so.conf.d/llvm-%{_arch}.conf |
---|
| 638 | %dir %{_libdir}/%{name} |
---|
| 639 | %exclude %{_libdir}/%{name}/libclang.so |
---|
| 640 | %exclude %{_libdir}/%{name}/liblldb.so |
---|
| 641 | %{_libdir}/%{name}/*.so |
---|
| 642 | %endif |
---|
[1073] | 643 | |
---|
[4656] | 644 | %changelog |
---|
[9734] | 645 | * Sat Sep 5 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.6.2-1 |
---|
| 646 | - new upstream release |
---|
| 647 | - added BR: ocaml-ctypes |
---|
| 648 | |
---|
[9594] | 649 | * Thu Jun 4 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.6.1-1 |
---|
| 650 | - new upstream release |
---|
| 651 | - dropt Patch 1, 201 and 1001 |
---|
| 652 | - updated Patch 1000 |
---|
| 653 | |
---|
[9470] | 654 | * Tue Mar 24 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.5.1-1 |
---|
| 655 | - updated to 3.5.1 |
---|
| 656 | - added Patch1, 2, 100, 101, 200, 201 and 202 from Fedora |
---|
| 657 | - added clang-libs, lldb, lldb-devel and compat32-llvm-libs subpackage |
---|
| 658 | - obsoleted clang-doc |
---|
| 659 | - built with ocaml 4.02.1 |
---|
| 660 | |
---|
[9121] | 661 | * Sat Nov 29 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.0-2 |
---|
| 662 | - fix <BTS:2832> |
---|
| 663 | - fix configure option "--with-c-include-dirs" |
---|
| 664 | - update Patch1000: clang-3.5.0-driver-ld.gold.patch |
---|
| 665 | - update Patch1001: clang-3.5.0-driver-lib64.patch |
---|
| 666 | - update Patch1002: clang-3.5.0-driver-vine.patch |
---|
| 667 | |
---|
[9073] | 668 | * Tue Oct 28 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.0-1 |
---|
| 669 | - update to 3.5.0 |
---|
| 670 | - remove Patch11 (clang-hardfloat-hack.patch) |
---|
| 671 | |
---|
[8758] | 672 | * Sun Jul 06 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3-2 |
---|
| 673 | - rebuild with libffi-3.0.13 |
---|
| 674 | |
---|
[7943] | 675 | * Mon Oct 28 2013 Daisuke SUZUKI <daisuke@linux.or.jp> 3.3-1 |
---|
| 676 | - update to 3.3 |
---|
| 677 | |
---|
[7201] | 678 | * Mon Dec 03 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 3.1-2 |
---|
| 679 | - ld.gold (patch1000,1001) |
---|
| 680 | - add /%{_lib} to ld search path |
---|
| 681 | - add support *-vine-linux gcc (patch1002) |
---|
| 682 | |
---|
[7197] | 683 | * Fri Nov 30 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 3.1-1 |
---|
| 684 | - update to 3.1 |
---|
| 685 | |
---|
[5555] | 686 | * Tue Jan 24 2012 NAKAMURA Kenta <kenta@vinelinux.org> - 3.0-1 |
---|
| 687 | - updated to 3.0 release |
---|
| 688 | |
---|
[5424] | 689 | * Sun Jan 15 2012 NAKAMURA Kenta <kenta@vinelinux.org> - 2.9-3 |
---|
| 690 | - added patch 2-4 to support -O4 link-time optimization |
---|
| 691 | |
---|
[4738] | 692 | * Fri Sep 9 2011 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 2.9-2 |
---|
| 693 | - disable -fno-var-tracking-assignments on ppc |
---|
| 694 | (seems like gcc-4.4.5 still doesn't support this) |
---|
| 695 | |
---|
[4656] | 696 | * Thu Aug 25 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 2.9-1 |
---|
| 697 | - new upstream release |
---|
| 698 | - add BR: libffi-devel |
---|
| 699 | - add R: libffi-devel to -devel |
---|
[1073] | 700 | |
---|
| 701 | * Sun May 23 2010 Daisuke SUZUKI <daisuke@linux.or.jp> 2.7-1 |
---|
| 702 | - initial build for Vine Linux |
---|
| 703 | |
---|
| 704 | * Sun May 2 2010 Michel Salim <salimma@fedoraproject.org> - 2.7-1 |
---|
| 705 | - Update to final 2.7 release |
---|
| 706 | |
---|
| 707 | * Sun Mar 28 2010 Michel Salim <salimma@fedoraproject.org> - 2.7-0.1.pre1 |
---|
| 708 | - Update to first 2.7 pre-release |
---|
| 709 | |
---|
| 710 | * Fri Sep 18 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.6.pre2 |
---|
| 711 | - Update to 2.6 pre-release2 |
---|
| 712 | - -devel subpackage now virtually provides -static |
---|
| 713 | |
---|
| 714 | * Wed Sep 9 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.5.pre1 |
---|
| 715 | - Disable var tracking assignments on PPC |
---|
| 716 | |
---|
| 717 | * Wed Sep 9 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.4.pre1 |
---|
| 718 | - Don't adjust clang include dir; files there are noarch (bz#521893) |
---|
| 719 | - Enable clang unit tests |
---|
| 720 | - clang and clang-analyzer renamed; no longer depend on llvm at runtime |
---|
| 721 | |
---|
| 722 | * Mon Sep 7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.3.pre1 |
---|
| 723 | - Package Clang's static analyzer tools |
---|
| 724 | |
---|
| 725 | * Mon Sep 7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.2.pre1 |
---|
| 726 | - PIC is now enabled by default; explicitly disable on %%{ix86} |
---|
| 727 | |
---|
| 728 | * Mon Sep 7 2009 Michel Salim <salimma@fedoraproject.org> - 2.6-0.1.pre1 |
---|
| 729 | - First 2.6 prerelease |
---|
| 730 | - Enable Clang front-end |
---|
| 731 | - Enable debuginfo generation |
---|
| 732 | |
---|
| 733 | * Sat Sep 5 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-6 |
---|
| 734 | - Disable assertions (needed by OpenGTL, bz#521261) |
---|
| 735 | - Align spec file with upstream build instructions |
---|
| 736 | - Enable unit tests |
---|
| 737 | |
---|
| 738 | * Sat Aug 22 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-5 |
---|
| 739 | - Only disable PIC on %%ix86; ppc actually needs it |
---|
| 740 | |
---|
| 741 | * Sat Aug 22 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-4 |
---|
| 742 | - Disable use of position-independent code on 32-bit platforms |
---|
| 743 | (buggy in LLVM <= 2.5) |
---|
| 744 | |
---|
| 745 | * Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5-3 |
---|
| 746 | - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild |
---|
| 747 | |
---|
| 748 | * Wed Mar 4 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-2 |
---|
| 749 | - Remove build scripts; they require the build directory to work |
---|
| 750 | |
---|
| 751 | * Wed Mar 4 2009 Michel Salim <salimma@fedoraproject.org> - 2.5-1 |
---|
| 752 | - Update to 2.5 |
---|
| 753 | - Package build scripts (bug #457881) |
---|
| 754 | |
---|
| 755 | * Tue Dec 2 2008 Michel Salim <salimma@fedoraproject.org> - 2.4-2 |
---|
| 756 | - Patched build process for the OCaml binding |
---|
| 757 | |
---|
| 758 | * Tue Dec 2 2008 Michel Salim <salimma@fedoraproject.org> - 2.4-1 |
---|
| 759 | - Update to 2.4 |
---|
| 760 | - Package Ocaml binding |
---|
| 761 | |
---|
| 762 | * Wed Jun 18 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.3-2 |
---|
| 763 | - Add dependency on groff |
---|
| 764 | |
---|
| 765 | * Wed Jun 18 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.3-1 |
---|
| 766 | - LLVM 2.3 |
---|
| 767 | |
---|
| 768 | * Thu May 29 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 2.2-4 |
---|
| 769 | - fix license tags |
---|
| 770 | |
---|
| 771 | * Wed Mar 5 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.2-3 |
---|
| 772 | - Fix compilation problems with gcc 4.3 |
---|
| 773 | |
---|
| 774 | * Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 2.2-2 |
---|
| 775 | - Autorebuild for GCC 4.3 |
---|
| 776 | |
---|
| 777 | * Sun Jan 20 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.1-2 |
---|
| 778 | - Fix review comments |
---|
| 779 | |
---|
| 780 | * Sun Jan 20 2008 Bryan O'Sullivan <bos@serpentine.com> - 2.1-1 |
---|
| 781 | - Initial version |
---|