Changeset 3349c8e for general/prog/llvm.xml
- Timestamp:
- 03/16/2016 09:38:02 PM (8 years ago)
- Branches:
- 10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 7.10, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, lazarus, lxqt, nosym, perl-modules, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, upgradedb, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
- Children:
- 7686cb7
- Parents:
- a8a772b3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
general/prog/llvm.xml
ra8a772b3 r3349c8e 7 7 <!ENTITY llvm-download-http "http://llvm.org/releases/&llvm-version;/llvm-&llvm-version;.src.tar.xz"> 8 8 <!ENTITY llvm-download-ftp " "> 9 <!ENTITY llvm-md5sum " bf8b3a2c79e61212c5409041dfdbd319">10 <!ENTITY llvm-size "1 4MB">11 <!ENTITY llvm-buildsize "1. 6 GB (with Clang andtests)">12 <!ENTITY llvm-time " 13 SBU (with Clang, tests and parallelism = 4)">9 <!ENTITY llvm-md5sum "07a7a74f3c6bd65de4702bf941b511a0"> 10 <!ENTITY llvm-size "16 MB"> 11 <!ENTITY llvm-buildsize "1.1 GB (with Clang, add 5.7GB for tests)"> 12 <!ENTITY llvm-time "50 SBU (with Clang, add 15 SBU for tests)"> 13 13 14 14 <!ENTITY clang-download-http "http://llvm.org/releases/&llvm-version;/cfe-&llvm-version;.src.tar.xz"> 15 <!ENTITY clang-md5sum " 0acd026b5529164197563d135a8fd83e">16 <!ENTITY clang-size " 8.7MB">15 <!ENTITY clang-md5sum "cc99e7019bb74e6459e80863606250c5"> 16 <!ENTITY clang-size " 9.2 MB"> 17 17 18 18 <!ENTITY rt-version "&llvm-version;"> 19 19 <!ENTITY compiler-rt-download-http "http://llvm.org/releases/&rt-version;/compiler-rt-&rt-version;.src.tar.xz"> 20 <!ENTITY compiler-rt-md5sum " 1c6975daf30bb3b0473b53c3a1a6ff01">20 <!ENTITY compiler-rt-md5sum "d6fcbe14352ffb708e4d1ac2e48bb025"> 21 21 <!ENTITY compiler-rt-size "1.2 MB"> 22 22 ]> … … 56 56 </para> 57 57 58 <!-- 58 59 <note> 59 60 <para> … … 64 65 </para> 65 66 </note> 66 67 --> 67 68 &lfs79_checked; 68 69 … … 145 146 <bridgehead renderas="sect4">Recommended</bridgehead> 146 147 <para role="recommended"> 147 <xref linkend="libffi"/> and 148 <!-- autotools are obsolete and should not be used anymore. Cmake will be 149 required for 3.9 --> 150 <xref linkend="cmake"/>, 151 <xref linkend="libffi"/>, and 148 152 <xref linkend="python2"/> 149 153 </para> … … 151 155 <bridgehead renderas="sect4">Optional</bridgehead> 152 156 <para role="optional"> 153 <xref linkend="cmake"/>,154 157 <xref linkend="doxygen"/>, 155 158 <xref linkend="graphviz"/>, … … 181 184 mv projects/compiler-rt-&rt-version;.src projects/compiler-rt</userinput></screen> 182 185 183 <!-- Only for 3.7.0: hopefully fixed on later versions -->186 <!-- For 3.7.0: Now fixed at version 3.8.0 184 187 <para> 185 188 The run-time library needs to be fixed for 32 bit installations: … … 188 191 <screen><userinput>sed -r "/ifeq.*CompilerTargetArch/s#i386#i686#g" \ 189 192 -i projects/compiler-rt/make/platform/clang_linux.mk</userinput></screen> 190 193 --> 191 194 <para> 192 195 Install <application>LLVM</application> by running the following … … 194 197 </para> 195 198 199 <!-- Not used in the build system 196 200 <screen><userinput>sed -e "s:/docs/llvm:/share/doc/llvm-&llvm-version;:" \ 197 201 -i Makefile.config.in && 198 199 mkdir -v build &&202 --> 203 <screen><userinput>mkdir -v build && 200 204 cd build && 201 205 202 CC=gcc CXX=g++ \ 203 ../configure --prefix=/usr \ 204 --datarootdir=/usr/share \ 205 --sysconfdir=/etc \ 206 --enable-libffi \ 207 --enable-optimized \ 208 --enable-shared \ 209 --enable-targets=host,r600 \ 210 --disable-assertions \ 211 --docdir=/usr/share/doc/llvm-&llvm-version; && 206 CC=gcc CXX=g++ \ 207 cmake -DCMAKE_INSTALL_PREFIX=/usr \ 208 -DLLVM_ENABLE_FFI=ON \ 209 -DCMAKE_BUILD_TYPE=Release \ 210 -DBUILD_SHARED_LIBS=ON \ 211 -DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \ 212 -Wno-dev .. && 212 213 make</userinput></screen> 213 214 214 215 <para> 215 216 If you have installed <application>Sphinx</application> and wish 216 to generate manual pages, issue the following command: 217 </para> 218 217 to generate the html documentation and manual pages, issue the 218 following commands: 219 </para> 220 <!-- The following command still works but let's try the next one 219 221 <screen><userinput>make -C ../docs -f Makefile.sphinx man</userinput></screen> 220 221 <para> 222 To test the results, issue: <command>make -k check-all</command>. 223 Some tests may fail for unknown reasons. 222 --> 223 <screen><userinput>cmake -DLLVM_ENABLE_SPHINX=ON \ 224 -DSPHINX_WARNINGS_AS_ERRORS=OFF \ 225 -Wno-dev .. && 226 make docs-llvm-html docs-llvm-man</userinput></screen> 227 <para> 228 If you have downloaded the optional packages, the clang documentation 229 can be built too: 230 </para> 231 <screen><userinput>make docs-clang-html docs-clang-man</userinput></screen> 232 <para> 233 <!-- all tests pass for version 3.8.0--> 234 To test the results, issue: <command>make check-all</command>. 235 <!-- Some tests may fail for unknown reasons.--> 224 236 </para> 225 237 … … 228 240 </para> 229 241 230 <screen role="root"><userinput>make install && 231 232 for file in /usr/lib/lib{clang,LLVM,LTO}*.a 233 do 234 test -f $file && chmod -v 644 $file 235 done 236 unset file</userinput></screen> 237 242 <screen role="root"><userinput>make install</userinput></screen> 243 244 <!-- version 3.8.0: Clang-analyser is built and installed by default 238 245 <para> 239 246 If you had <xref linkend="python2"/> installed and you have … … 257 264 mv -v /usr/lib/clang-analyzer/scan-build/scan-build.1 \ 258 265 /usr/share/man/man1/</userinput></screen> 259 260 <para> 261 If you have built manual pages, install them by running the 262 following command as the 263 <systemitem class="username">root</systemitem> user: 264 </para> 265 266 <screen role="root"><userinput>install -v -m644 ../docs/_build/man/* /usr/share/man/man1/</userinput></screen> 266 --> 267 <para> 268 If you have built the documentation, install it by running the 269 following command as the <systemitem class="username">root</systemitem> 270 user: 271 </para> 272 273 <screen role="root"><userinput>install -v -m644 docs/man/* /usr/share/man/man1 && 274 install -v -d -m755 /usr/share/doc/llvm-&llvm-version;/llvm-html && 275 cp -Rv docs/html/* /usr/share/doc/llvm-&llvm-version;/llvm-html</userinput></screen> 276 277 <para> 278 The cmake documentation can be installed in the same way (again as the 279 <systemitem class="username">root</systemitem> user): 280 </para> 281 282 <screen role="root"><userinput>install -v -m644 tools/clang/docs/man/* /usr/share/man/man1 && 283 install -v -d -m755 /usr/share/doc/llvm-&llvm-version;/clang-html && 284 cp -Rv tools/clang/docs/html/* /usr/share/doc/llvm-&llvm-version;/clang-html</userinput></screen> 267 285 268 286 </sect2> … … 271 289 <title>Command Explanations</title> 272 290 291 <!-- 273 292 <para> 274 293 <command>sed -e ... Makefile.config.in</command>: This sed fixes 275 294 location of the installed documentation. 276 295 </para> 277 278 <para> 279 <parameter>- -enable-libffi</parameter>: This switch enables296 --> 297 <para> 298 <parameter>-DLLVM_ENABLE-FFI=ON</parameter>: This switch enables 280 299 <application>LLVM</application> to use 281 300 <application>libffi</application>. Remove if you did not … … 284 303 285 304 <para> 286 <parameter>--enable-optimized</parameter>: This switch enables 287 compiler optimizations in order to speed up the code and reduce 288 its size. 289 </para> 290 291 <para> 292 <parameter>--enable-shared</parameter>: This switch enables 293 building of the <application>LLVM</application> shared 294 library which contains all of the static libraries linked into 295 a single library. 296 </para> 297 298 <para> 299 <parameter>--enable-targets=host,r600</parameter>: This switch enables 300 building for the same target as the host, and also for the r600 AMD GPU 301 used by the Mesa r600 and radeonsi drivers. Default is all. You can use 302 a comma separated list. Valid targets are: host, x86, x86_64, sparc, 303 powerpc, arm64, arm, aarch64, mips, hexagon, xcore, msp430, nvptx, 304 systemz, r600, amdgpu (equivalent to r600), bpf, wasm, and cpp. 305 </para> 306 307 <para> 308 <parameter>--disable-assertions</parameter>: Disable some compile checks, 309 not necessary on a production system. 305 <parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch enables 306 compiler optimizations in order to speed up the code and reduce its size. 307 It also disables some compile checks, not necessary on a production 308 system. 309 </para> 310 311 <para> 312 <parameter>-DBUILD_SHARED_LIBS=ON</parameter>: This switch enables 313 building all the <application>LLVM</application> libraries as shared 314 libraries instead of static. 315 </para> 316 317 <para> 318 <parameter>-DLLVM_TARGETS_TO_BUILD="host;AMDGPU"</parameter>: This 319 switch enables building for the same target as the host, and also for 320 the r600 AMD GPU used by the Mesa r600 and radeonsi drivers. Default is 321 all. You can use a semicolon separated list. Valid targets are: host, 322 X86, Sparc, PowerPC, ARM, AArch64, Mips, Hexagon, Xcore, MSP430, NVPTX, 323 SystemZ, AMDGPU, BPF, CppBackend, or all. 324 </para> 325 326 <para> 327 <option>-DLLVM_BUILD_LLVM_DYLIB=ON</option>: if used instead of 328 <parameter>-DBUILD_SHARED_LIBS=ON</parameter>, builds libraries as 329 static and links all of them into an unique shared one. 330 </para> 331 332 <para> 333 <option>-DLLVM_ENABLE_DOXYGEN</option>: Enables the generation of 334 browsable HTML documentation if you have installed <xref 335 linkend="doxygen"/>. You should run <command>make doxygen-html</command> 336 afterwards, and install the generated documentation manually. 310 337 </para> 311 338 … … 322 349 <seglistitem> 323 350 <seg> 324 bugpoint, c-index-test, clang, clang++ (symlink), count, FileCheck, 325 clang-check, clang-format, clang-tblgen, llc, lli, lli-child-target, 326 llvm-ar, llvm-as, llvm-bcanalyzer, llvm-config, llvm-cov, 327 llvm-cxxdump, llvm-diff, llvm-dis, llvm-dsymutil, llvm-dwarfdump, 328 llvm-extract, llvm-link, llvm-mc, llvm-mcmarkup, llvm-nm, 329 llvm-objdump, llvm-pdbdump, llvm-profdata, llvm-ranlib (symlink), 330 llvm-readobj, llvm-rtdyld, llvm-size, llvm-stress, llvm-symbolizer, 331 llvm-tblgen, macho-dump, not, obj2yaml, opt, scan-build (symlink), 332 scan-view (symlink), verify-uselistorder, and yaml2obj 351 bugpoint, c-index-test, clang, clang++ (symlinks to 352 clang-<version>), clang-<version>, clang-check, 353 clang-format, git-clang-format, 354 llc, lli, llvm-ar, llvm-as, llvm-bcanalyzer, llvm-config, llvm-cov, 355 llvm-c-test, llvm-cxxdump, llvm-diff, llvm-dis, llvm-dsymutil, 356 llvm-dwarfdump, llvm-dwp, llvm-extract, llvm-lib (symlink to 357 llvm-ar), llvm-link, llvm-lto, llvm-mc, llvm-mcmarkup, llvm-nm, 358 llvm-objdump, llvm-pdbdump, llvm-profdata, llvm-ranlib (symlink to 359 llvm-ar), llvm-readobj, llvm-rtdyld, llvm-size, llvm-split, 360 llvm-stress, llvm-symbolizer, llvm-tblgen, obj2yaml, opt, san-cov, 361 scan-build, scan-view, verify-uselistorder, and yaml2obj 333 362 </seg> 334 363 <seg> 335 BugpointPasses.so, libclang.so, libLLVM-&llvm-version;.so, 336 libLTO.so,<!-- libprofile_rt.so,--> LLVMHello.so and numerous 337 static libraries in /usr/lib 364 BugpointPasses.so, libclang*.so (21 libraries), libLLVM*.so (53 365 libraries), libLTO.so, and LLVMHello.so 338 366 </seg> 339 367 <seg> 340 368 /usr/include/{clang,clang-c,llvm,llvm-c}, 341 /usr/lib/ {clang,clang-analyzer}, and342 /usr/share/{ doc/llvm-&llvm-version;,llvm}369 /usr/lib/clang, and 370 /usr/share/{clang,llvm,scan-build,scan-view,doc/llvm-&llvm-version;} 343 371 </seg> 344 372 </seglistitem> … … 375 403 </varlistentry> 376 404 405 <varlistentry id="clang-format"> 406 <term><command>clang-format</command></term> 407 <listitem> 408 <para> 409 is a tool to format C/C++/Java/JavaScript/Objective-C/Protobuf 410 code. 411 </para> 412 <indexterm zone="llvm clang-format"> 413 <primary sortas="b-clang-format">clang-format</primary> 414 </indexterm> 415 </listitem> 416 </varlistentry> 417 377 418 <varlistentry id="llc"> 378 419 <term><command>llc</command></term> … … 460 501 </varlistentry> 461 502 503 <varlistentry id="llvm-c-test"> 504 <term><command>llvm-c-test</command></term> 505 <listitem> 506 <para> 507 is a bytecode disassembler. 508 </para> 509 <indexterm zone="llvm llvm-c-test"> 510 <primary sortas="b-llvm-c-test">llvm-c-test</primary> 511 </indexterm> 512 </listitem> 513 </varlistentry> 514 462 515 <varlistentry id="llvm-cxxdump"> 463 516 <term><command>llvm-cxxdump</command></term> … … 510 563 </varlistentry> 511 564 565 <varlistentry id="llvm-dwarfdump"> 566 <term><command>llvm-dwarfdump</command></term> 567 <listitem> 568 <para> 569 prints the content of DWARF sections in object files. 570 </para> 571 <indexterm zone="llvm llvm-dwarfdump"> 572 <primary sortas="b-llvm-dwarfdump">llvm-dwarfdump</primary> 573 </indexterm> 574 </listitem> 575 </varlistentry> 576 577 <varlistentry id="llvm-dwp"> 578 <term><command>llvm-dwp</command></term> 579 <listitem> 580 <para> 581 merge split DWARF files. 582 </para> 583 <indexterm zone="llvm llvm-dwp"> 584 <primary sortas="b-llvm-dwp">llvm-dwp</primary> 585 </indexterm> 586 </listitem> 587 </varlistentry> 588 512 589 <varlistentry id="llvm-extract"> 513 590 <term><command>llvm-extract</command></term> … … 535 612 </varlistentry> 536 613 614 <varlistentry id="llvm-lto"> 615 <term><command>llvm-lto</command></term> 616 <listitem> 617 <para> 618 is the <application>LLVM</application> LTO (link time optimization) 619 linker. 620 </para> 621 <indexterm zone="llvm llvm-lto"> 622 <primary sortas="b-llvm-lto">llvm-lto</primary> 623 </indexterm> 624 </listitem> 625 </varlistentry> 626 627 <varlistentry id="llvm-mc"> 628 <term><command>llvm-mc</command></term> 629 <listitem> 630 <para> 631 is a standalone machine code assembler/disassembler. 632 </para> 633 <indexterm zone="llvm llvm-mc"> 634 <primary sortas="b-llvm-mc">llvm-mc</primary> 635 </indexterm> 636 </listitem> 637 </varlistentry> 638 537 639 <varlistentry id="llvm-nm"> 538 640 <term><command>llvm-nm</command></term> … … 548 650 </varlistentry> 549 651 652 <varlistentry id="llvm-objdump"> 653 <term><command>llvm-objdump</command></term> 654 <listitem> 655 <para> 656 is an <application>LLVM</application> object file dumper. 657 </para> 658 <indexterm zone="llvm llvm-objdump"> 659 <primary sortas="b-llvm-objdump">llvm-objdump</primary> 660 </indexterm> 661 </listitem> 662 </varlistentry> 663 550 664 <varlistentry id="llvm-pdbdump"> 551 665 <term><command>llvm-pdbdump</command></term> … … 559 673 </listitem> 560 674 </varlistentry> 561 <!-- 562 <varlistentry id="llvm-prof"> 563 <term><command>llvm-prof</command></term> 564 <listitem> 565 <para> 566 is used to print execution profile of 567 <application>LLVM</application> program. 568 </para> 569 <indexterm zone="llvm llvm-prof"> 570 <primary sortas="b-llvm-prof">llvm-prof</primary> 571 </indexterm> 572 </listitem> 573 </varlistentry>--> 675 676 <varlistentry id="llvm-profdata"> 677 <term><command>llvm-profdata</command></term> 678 <listitem> 679 <para> 680 is a small tool to manipulate and print profile data files. 681 </para> 682 <indexterm zone="llvm llvm-profdata"> 683 <primary sortas="b-llvm-profdata">llvm-profdata</primary> 684 </indexterm> 685 </listitem> 686 </varlistentry> 574 687 575 688 <varlistentry id="llvm-ranlib"> … … 586 699 </varlistentry> 587 700 701 <varlistentry id="llvm-readobj"> 702 <term><command>llvm-readobj</command></term> 703 <listitem> 704 <para> 705 displays low-level format-specific information about object files. 706 </para> 707 <indexterm zone="llvm llvm-readobj"> 708 <primary sortas="b-llvm-readobj">llvm-readobj</primary> 709 </indexterm> 710 </listitem> 711 </varlistentry> 712 713 <varlistentry id="llvm-rtdyld"> 714 <term><command>llvm-rtdyld</command></term> 715 <listitem> 716 <para> 717 <application>LLVM</application> MC-JIT tool. 718 </para> 719 <indexterm zone="llvm llvm-rtdyld"> 720 <primary sortas="b-llvm-rtdyld">llvm-rtdyld</primary> 721 </indexterm> 722 </listitem> 723 </varlistentry> 724 725 <varlistentry id="llvm-size"> 726 <term><command>llvm-size</command></term> 727 <listitem> 728 <para> 729 <application>LLVM</application> object size dumper. 730 </para> 731 <indexterm zone="llvm llvm-size"> 732 <primary sortas="b-llvm-size">llvm-size</primary> 733 </indexterm> 734 </listitem> 735 </varlistentry> 736 737 <varlistentry id="llvm-split"> 738 <term><command>llvm-split</command></term> 739 <listitem> 740 <para> 741 <application>LLVM</application> module splitter. 742 </para> 743 <indexterm zone="llvm llvm-split"> 744 <primary sortas="b-llvm-split">llvm-split</primary> 745 </indexterm> 746 </listitem> 747 </varlistentry> 748 588 749 <varlistentry id="llvm-stress"> 589 750 <term><command>llvm-stress</command></term> … … 599 760 </varlistentry> 600 761 762 <varlistentry id="llvm-symbolizer"> 763 <term><command>llvm-symbolizer</command></term> 764 <listitem> 765 <para> 766 converts adresses into source code locations. 767 </para> 768 <indexterm zone="llvm llvm-symbolizer"> 769 <primary sortas="b-llvm-symbolizer">llvm-symbolizer</primary> 770 </indexterm> 771 </listitem> 772 </varlistentry> 773 601 774 <varlistentry id="llvm-tblgen"> 602 775 <term><command>llvm-tblgen</command></term> … … 637 810 </varlistentry> 638 811 812 <varlistentry id="sancov"> 813 <term><command>sancov</command></term> 814 <listitem> 815 <para> 816 sanitizer coverage processing tool. 817 </para> 818 <indexterm zone="llvm sancov"> 819 <primary sortas="b-sancov">sancov</primary> 820 </indexterm> 821 </listitem> 822 </varlistentry> 823 639 824 <varlistentry id="scan-build"> 640 825 <term><command>scan-build</command></term> … … 650 835 </varlistentry> 651 836 837 <varlistentry id="scan-view"> 838 <term><command>scan-view</command></term> 839 <listitem> 840 <para> 841 is a viewer for <application>Clang</application> static analyzer 842 results. 843 </para> 844 <indexterm zone="llvm scan-view"> 845 <primary sortas="b-scan-view">scan-view</primary> 846 </indexterm> 847 </listitem> 848 </varlistentry> 849 850 <varlistentry id="verify-uselistorder"> 851 <term><command>verify-uselistorder</command></term> 852 <listitem> 853 <para> 854 is the <application>LLVM</application> tool to verify use-list 855 order. 856 </para> 857 <indexterm zone="llvm verify-uselistorder"> 858 <primary sortas="b-verify-uselistorder">verify-uselistorder</primary> 859 </indexterm> 860 </listitem> 861 </varlistentry> 862 652 863 <varlistentry id="yaml2obj"> 653 864 <term><command>yaml2obj</command></term> … … 662 873 </listitem> 663 874 </varlistentry> 664 875 <!-- 665 876 <varlistentry id="libllvm"> 666 877 <term><filename class="libraryfile">libLLVM-&llvm-version;.so</filename></term> … … 674 885 </listitem> 675 886 </varlistentry> 676 <!-- 887 677 888 <varlistentry id="libprofile_rt"> 678 889 <term><filename class="libraryfile">libprofile_rt.so</filename></term>
Note:
See TracChangeset
for help on using the changeset viewer.