Le paquet LLVM contient une collection de compilateur modulaire et réutilisable et des technologies de chaînes d'outils. Le cœur des bibliothèques Low Level Virtual Machine (LLVM) fournit un optimiseur moderne de source- et cible- indépendant,ainsi que le support de génération de code pour beaucoup des processeurs populaires (ainsi que quelques autres moins courants!) Ces bibliothèques sont construites autour d'une représentation du code bien connu comme précise la représentation LLVM intermédiaire ("LLVM IR").
Les paquets facultatifs Clang et Compiler RT fournissent de nouvelles interfaces C, C++, C objet et C++ objet et des bibliothèques d'exécution pour LLVM.
Ce paquet est connu pour se construire correctement sur une plateforme LFS-7.4.
Téléchargement (HTTP) : http://llvm.org/releases/3.3/llvm-3.3.src.tar.gz
Somme de contrôle MD5 du téléchargement : 40564e1dc390f9844f1711c08b08e391
Taille du téléchargement : 13 Mo
Estimation de l'espace disque requis : 900 Mo
Estimation du temps de construction ;
Téléchargement: http://llvm.org/releases/3.3/cfe-3.3.src.tar.gz
Somme de contrôle MD5: 8284891e3e311829b8e44ac813d0c9ef
Taille du téléchargement: 9.0 Mo
Téléchargement: http://llvm.org/releases/3.3/compiler-rt-3.3.src.tar.gz
Somme de contrôle MD5: 9c129ce24514467cfe492cf2fed8e2c4
Taille du téléchargement: 1.5 Mo
Doxygen-1.8.5, Graphviz-2.34.0, libxml2-2.9.1, Zip-3.0, OCaml, Sphinx et Valgrind
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/llvm
Si vous avez téléchargé les paquets facultatifs, installez-les dans l'arborescence des sources :
tar -xf ../cfe-3.3.src.tar.gz -C tools && tar -xf ../compiler-rt-3.3.src.tar.gz -C projects && mv tools/cfe-3.3.src tools/clang && mv projects/compiler-rt-3.3.src projects/compiler-rt
Installez LLVM en lançant les commandes suivantes :
sed -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm-3.3:' \ -i Makefile.config.in && CC=gcc CXX=g++ \ ./configure --prefix=/usr \ --sysconfdir=/etc \ --enable-libffi \ --enable-optimized \ --enable-shared \ --enable-targets=all \ --disable-assertions \ --disable-debug-runtime \ --disable-expensive-checks \ --enable-experimental-targets=R600 && make
Si vous avez installé Sphinx et que vous souhaitez générer les pages de manuel, tapez la commande suivante:
make -C docs -f Makefile.sphinx man
Pour testez les résultats, tapez: make check.
Maintenant, en tant qu'utilisateur root
:
make install && for file in /usr/lib/lib{clang,LLVM,LTO,profile_rt}*.a do test -f $file && chmod -v 644 $file done
Si vous avez installé Python-2.7.5 et vous avez construit Clang, installez Clang Analyzer en lançant la commande suivante
en tant qu'utilisateur root
:
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/
si vous avez constuit les pages de manuel, installez les en lançant
la commande suivant en tant qu'utilisateur root
:
install -v -m644 docs/_build/man/* /usr/share/man/man1/
sed -e ...: Ce sed corrige le chemin de la documentation installée.
--enable-libffi
: Ce
paramètre initialise LLVM pour
utiliser libffi. Effacez le si
vous n'avaz pas installé libffi.
--enable-optimized
: Ce
paramètre active les optimisations du compilateur pour augmenter la
vitesse du code et diminuer sa taille.
--enable-shared
: Ce
paramètre active la construction des bibliothèques partagées de
LLVM qui contiennent toutes les
bibliothèques statiques liées dans une seule bibliothèque.
--enable-targets=all
: Ce
paramètre assure que toutes les cibles de LLVM sont construites.
--disable-*
: Ces paramètres
désactivent les fonctionnalités qui sont utilisées pour le
déboguage et qui ne sont pas nécessaire sur un système de
production.
--enable-experimental-targets=R600
:
Ce paramètre active la cible R600 qui est requise par Mesa pour construire le pilote 3D radeonsi. Il
peut être utilisé par le serveur r600 de LLVM et par le suiveur d'état de OpenCL dans
Mesa. Effacez le si vous n'avez
pas appliqué les correctifs recommandés.
est l'outil automatique de réduction des tests de case |
|
est le compilateur Clang de C, C++, et C objet. |
|
est le compilateur statique de LLVM. |
|
est utilisé pour exécuter directement des programmes depuis le binaire LLVM . |
|
est l'archiveur LLVM. |
|
est l'assembleur LLVM. |
|
est l'analyseyr binaire de LLVM. |
|
Affiche les options de compilation de LLVM. |
|
est utiliser pour émettre des informations de couverture. |
|
est le diff de LLVM. |
|
est le désassembleur de LLVM. |
|
est utilisé pour extraire une fonction d'un module LLVM. |
|
est le lieur de LLVM. |
|
est utilisé pour lister des tables de symboles des fichiers binaires et objet de LLVM. |
|
est utilisé pour afficher le profile d'exécution d'un programme LLVM. |
|
est utilisé pour générer un index pour les archives LLVM. |
|
est utilisé pour générer des fichiers aléatoires
|
|
est le générateue de description de cible du code C++ de LLVM. |
|
est l'optimiseur de LLVM. |
|
est un script Perl qui appelle l'analyseur statique de Clang. |
|
contient les fonctions de l'API de LLVM. |
|
est la bibliothèque d'exécution de C, C++ et C objet pour Clang. |
Last updated on : 2013-03-06 04:05:17 +010