Author: krejzi Date: Fri Jun 28 11:59:55 2013 New Revision: 11334 Log: LLVM 3.3
Modified: trunk/BOOK/general.ent trunk/BOOK/general/prog/llvm.xml trunk/BOOK/introduction/welcome/changelog.xml trunk/BOOK/x/installing/mesalib.xml Modified: trunk/BOOK/general.ent ============================================================================== --- trunk/BOOK/general.ent Fri Jun 28 11:45:44 2013 (r11333) +++ trunk/BOOK/general.ent Fri Jun 28 11:59:55 2013 (r11334) @@ -378,7 +378,7 @@ <!ENTITY openjdk-version "1.7.0.9"> <!ENTITY junit-version "4.10"> <!ENTITY librep-version "0.92.2.1"> -<!ENTITY llvm-version "3.2"> +<!ENTITY llvm-version "3.3"> <!ENTITY lua-version "5.2.2"> <!ENTITY mercurial-version "2.6.2"> <!ENTITY NASM-version "2.10.07"> Modified: trunk/BOOK/general/prog/llvm.xml ============================================================================== --- trunk/BOOK/general/prog/llvm.xml Fri Jun 28 11:45:44 2013 (r11333) +++ trunk/BOOK/general/prog/llvm.xml Fri Jun 28 11:59:55 2013 (r11334) @@ -4,22 +4,20 @@ <!ENTITY % general-entities SYSTEM "../../general.ent"> %general-entities; - <!ENTITY tstellar-llvm "http://people.freedesktop.org/~tstellar/llvm/3.2"> - <!ENTITY llvm-download-http "http://llvm.org/releases/&llvm-version;/llvm-&llvm-version;.src.tar.gz"> <!ENTITY llvm-download-ftp " "> - <!ENTITY llvm-md5sum "71610289bbc819e3e15fdd562809a2d7"> - <!ENTITY llvm-size "12 MB"> - <!ENTITY llvm-buildsize "800 MB"> + <!ENTITY llvm-md5sum "40564e1dc390f9844f1711c08b08e391"> + <!ENTITY llvm-size "13 MB"> + <!ENTITY llvm-buildsize "900 MB"> <!ENTITY llvm-time "13.0 SBU (Additional 7.0 SBU for Clang)"> - <!ENTITY clang-download-http "http://llvm.org/releases/&llvm-version;/clang-&llvm-version;.src.tar.gz"> - <!ENTITY clang-md5sum "3896ef4334df08563b05d0848ba80582"> - <!ENTITY clang-size "8.4 MB"> + <!ENTITY clang-download-http "http://llvm.org/releases/&llvm-version;/cfe-&llvm-version;.src.tar.gz"> + <!ENTITY clang-md5sum "8284891e3e311829b8e44ac813d0c9ef"> + <!ENTITY clang-size "9.0 MB"> <!ENTITY compiler-rt-download-http "http://llvm.org/releases/&llvm-version;/compiler-rt-&llvm-version;.src.tar.gz"> - <!ENTITY compiler-rt-md5sum "a9a30ccd7bbee6f68a3ca3020af0d852"> - <!ENTITY compiler-rt-size "1.4 MB"> + <!ENTITY compiler-rt-md5sum "9c129ce24514467cfe492cf2fed8e2c4"> + <!ENTITY compiler-rt-size "1.5 MB"> ]> <sect1 id="llvm" xreflabel="LLVM-&llvm-version;"> @@ -90,84 +88,52 @@ </listitem> </itemizedlist> - <bridgehead renderas="sect3">Additional Downloads</bridgehead> - <itemizedlist spacing="compact"> - <listitem> - <para> - Required patch: - <ulink url="&patch-root;/llvm-&llvm-version;-blfs_paths-1.patch"/> - </para> - </listitem> - </itemizedlist> - - <bridgehead renderas="sect3">Recommended Patches</bridgehead> - <itemizedlist spacing="compact"> - <listitem> - <para> - LLVM R600 Backend: - <ulink url="&tstellar-llvm;/R600-Mesa-9.1.patch"/> - </para> - </listitem> - <listitem> - <para> - LLVM R600 Backend MD5 sum: a6f9ec35fa847c4298213ab28fb868ce - </para> - </listitem> - <listitem> - <para> - LLVM R600 Backend Fixes: - <ulink url="&patch-root;/llvm-&llvm-version;-r600_fixes-1.patch"/> - </para> - </listitem> - </itemizedlist> - <bridgehead renderas="sect3">Optional Downloads</bridgehead> - <itemizedlist spacing="compact"> - <listitem> - <para> - Clang: <ulink url="&clang-download-http;"/> - </para> - </listitem> - <listitem> - <para> - Clang MD5 sum: &clang-md5sum; - </para> - </listitem> - <listitem> - <para> - Clang size: &clang-size; - </para> - </listitem> - <listitem> - <para> - Compiler RT: <ulink url="&compiler-rt-download-http;"/> - </para> - </listitem> - <listitem> - <para> - Compiler RT MD5 sum: &compiler-rt-md5sum; - </para> - </listitem> - <listitem> - <para> - Compiler RT size: &compiler-rt-size; - </para> - </listitem> - </itemizedlist> - <warning> - <para> - If you are going to build radeonsi Gallium3D driver from - <xref linkend="mesalib"/>, you will need the recommended - patches. - </para> - </warning> + <bridgehead renderas="sect4">Clang</bridgehead> + <itemizedlist spacing="compact"> + <listitem> + <para> + Download: <ulink url="&clang-download-http;"/> + </para> + </listitem> + <listitem> + <para> + Download MD5 sum: &clang-md5sum; + </para> + </listitem> + <listitem> + <para> + Download size: &clang-size; + </para> + </listitem> + </itemizedlist> + + <bridgehead renderas="sect4">Compiler RT</bridgehead> + <itemizedlist spacing="compact"> + <listitem> + <para> + Download: <ulink url="&compiler-rt-download-http;"/> + </para> + </listitem> + <listitem> + <para> + Download MD5 sum: &compiler-rt-md5sum; + </para> + </listitem> + <listitem> + <para> + Download size: &compiler-rt-size; + </para> + </listitem> + </itemizedlist> <bridgehead renderas="sect3">LLVM Dependencies</bridgehead> <bridgehead renderas="sect4">Recommended</bridgehead> <para role="recommended"> - <xref linkend="libffi"/> + <xref linkend="libffi"/> and + <xref linkend="python2"/> </para> <bridgehead renderas="sect4">Optional</bridgehead> @@ -194,33 +160,22 @@ the source tree by running the following commands: </para> -<screen><userinput>tar -xf ../clang-&llvm-version;.src.tar.gz -C tools && +<screen><userinput>tar -xf ../cfe-&llvm-version;.src.tar.gz -C tools && tar -xf ../compiler-rt-&llvm-version;.src.tar.gz -C projects && -mv tools/clang-&llvm-version;.src tools/clang && -mv projects/compiler-rt-&llvm-version;.src projects/compiler-rt && - -sed -e "s@../lib/libprofile_rt.a@../lib/llvm/libprofile_rt.a@g" \ - -i tools/clang/lib/Driver/Tools.cpp</userinput></screen> - - <para> - If you have downloaded the recommended patches, apply them by - running the following commands: - </para> - -<screen><userinput>patch -Np1 -i ../R600-Mesa-9.1.patch && -patch -Np1 -i ../llvm-&llvm-version;-r600_fixes-1.patch</userinput></screen> +mv tools/cfe-&llvm-version;.src tools/clang && +mv projects/compiler-rt-&llvm-version;.src projects/compiler-rt</userinput></screen> <para> Install <application>LLVM</application> by running the following commands: </para> -<screen><userinput>patch -Np1 -i ../llvm-&llvm-version;-blfs_paths-1.patch && +<screen><userinput>sed -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm-&llvm-version;:' \ + -i Makefile.config.in && CC=gcc CXX=g++ \ ./configure --prefix=/usr \ --sysconfdir=/etc \ - --libdir=/usr/lib/llvm \ --enable-libffi \ --enable-optimized \ --enable-shared \ @@ -247,9 +202,27 @@ </para> <screen role="root"><userinput>make install && -chmod -v 644 /usr/lib/llvm/*.a && -echo /usr/lib/llvm >> /etc/ld.so.conf && -ldconfig</userinput></screen> +for file in /usr/lib/lib{clang,LLVM,LTO,profile_rt}*.a +do + test -f $file && chmod -v 644 $file +done</userinput></screen> + + <para> + If you had <xref linkend="python2"/> installed and you have + built <application>Clang</application>, install the + <application>Clang Analyzer</application> by running the + following command as the + <systemitem class="username">root</systemitem> user: + </para> + +<screen role="root"><userinput>install -v -dm755 /usr/lib/clang-analyzer && +for prog in scan-build scan-view +do + cp -rfv tools/clang/tools/$prog /usr/lib/clang-analyzer/ + ln -sfv ../lib/clang-analyzer/$prog/$prog /usr/bin/ +done && +ln -sfv /usr/bin/clang /usr/lib/clang-analyzer/scan-build/ && +mv -v /usr/lib/clang-analyzer/scan-build/scan-build.1 /usr/share/man/man1/</userinput></screen> <para> If you have built manual pages, install them by running the @@ -257,7 +230,7 @@ <systemitem class="username">root</systemitem> user: </para> -<screen role="root"><userinput>install -m644 docs/_build/man/* /usr/share/man/man1</userinput></screen> +<screen role="root"><userinput>install -v -m644 docs/_build/man/* /usr/share/man/man1/</userinput></screen> </sect2> @@ -265,6 +238,11 @@ <title>Command Explanations</title> <para> + <command>sed -e ...</command>: This sed fixes location of the + installed documentation. + </para> + + <para> <parameter>--enable-libffi</parameter>: This switch enables <application>LLVM</application> to use <application>libffi</application>. Remove if you did not @@ -299,10 +277,9 @@ <parameter>--enable-experimental-targets=R600</parameter>: This switch enables R600 target which is required by <application>Mesa</application> to build the radeonsi - 3D driver. It can be used for r600 + 3D driver. It can be used for R600 <application>LLVM</application> backend and OpenCL - state tracker in <application>Mesa</application>. Remove - it if you did not apply the recommended patches. + state tracker in <application>Mesa</application>. </para> </sect2> @@ -317,15 +294,17 @@ <seglistitem> <seg> - bugpoint, c-index-test, clang, clang++, clang-check, clang-tblgen, llc, lli, - llvm-ar, llvm-as, llvm-bcanalyzer, llvm-config, llvm-cov, llvm-diff, llvm-dis, - llvm-dwarfdump, llvm-extract, llvm-link, llvm-mc, llvm-mcmarkup, llvm-nm, - llvm-objdump, llvm-prof, llvm-ranlib, llvm-readobj, llvm-rtdyld, llvm-size, - llvm-stress, llvm-tblgen, macho-dump and opt + bugpoint, c-index-test, clang, clang++, clang-check, clang-format, clang-tblgen, + llc, lli, llvm-ar, llvm-as, llvm-bcanalyzer, llvm-config, llvm-cov, llvm-diff, + llvm-dis, llvm-dwarfdump, llvm-extract, llvm-link, llvm-mc, llvm-mcmarkup, + llvm-nm, llvm-objdump, llvm-prof, llvm-ranlib, llvm-readobj, llvm-rtdyld, + llvm-size, llvm-stress, llvm-symbolizer, llvm-tblgen, macho-dump, opt, + scan-build and scan-view </seg> <seg> - libclang.so, libLLVM-&llvm-version;.so, libprofile_rt.so - and numerous libraries in /usr/lib/llvm + BugpointPasses.so, libclang.so, libLLVM-&llvm-version;.so, + libLTO.so, libprofile_rt.so, LLVMHello.so and numerous + static libraries in /usr/lib </seg> <seg> /usr/include/clang, @@ -333,8 +312,8 @@ /usr/include/llvm, /usr/include/llvm-c, /usr/lib/clang, - /usr/lib/llvm and - /usr/share/doc/llvm + /usr/lib/clang-analyzer and + /usr/share/doc/llvm-&llvm-version; </seg> </seglistitem> </segmentedlist> @@ -581,6 +560,19 @@ </listitem> </varlistentry> + <varlistentry id="scan-build"> + <term><command>scan-build</command></term> + <listitem> + <para> + is a <application>Perl</application> script that invokes the + <application>Clang</application> static analyzer. + </para> + <indexterm zone="llvm scan-build"> + <primary sortas="b-scan-build">scan-build</primary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry id="libllvm"> <term><filename class="libraryfile">libLLVM-&llvm-version;.so</filename></term> <listitem> @@ -611,4 +603,3 @@ </sect2> </sect1> - Modified: trunk/BOOK/introduction/welcome/changelog.xml ============================================================================== --- trunk/BOOK/introduction/welcome/changelog.xml Fri Jun 28 11:45:44 2013 (r11333) +++ trunk/BOOK/introduction/welcome/changelog.xml Fri Jun 28 11:59:55 2013 (r11334) @@ -52,6 +52,9 @@ <listitem> <para>[bdubbs] - Updated to gtk+-2.24.19.</para> </listitem> + <listitem> + <para>[krejzi] - LLVM 3.3.</para> + </listitem> </itemizedlist> </listitem> Modified: trunk/BOOK/x/installing/mesalib.xml ============================================================================== --- trunk/BOOK/x/installing/mesalib.xml Fri Jun 28 11:45:44 2013 (r11333) +++ trunk/BOOK/x/installing/mesalib.xml Fri Jun 28 11:59:55 2013 (r11334) @@ -113,12 +113,12 @@ <bridgehead renderas="sect3">Additional Patches</bridgehead> <itemizedlist spacing="compact"> - <!-- <listitem> + <listitem> <para> Required patch: <ulink url="&patch-root;/MesaLib-&mesalib-version;-llvm_fixes-1.patch"/> </para> - </listitem> --> + </listitem> <listitem> <para> Recommended patch: @@ -193,8 +193,8 @@ commands: </para> -<screen><userinput><!-- patch -Np1 -i ../MesaLib-&mesalib-version;-llvm_fixes-1.patch && --->autoreconf -fi && +<screen><userinput>patch -Np1 -i ../MesaLib-&mesalib-version;-llvm_fixes-1.patch && +autoreconf -fi && ./configure CFLAGS="-O2" CXXFLAGS="-O2" \ --prefix=/usr \ --sysconfdir=/etc \ -- http://linuxfromscratch.org/mailman/listinfo/blfs-book FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
