web-dev-qa-db-fra.com

Comment mettre à jour LLVM & Clang sur Mac OSX?

Sur ma version de Mac OSX (Lion 10.7.1, XCode 4.1), il y a LLVM 3.0svn et Clang 2.1. Les versions actuelles sont LLVM 3.0 et Clang 3.0.

D'après le site Web XCode , il semble que la dernière version (4.2.1) utilise toujours LLVM 2.0, et cela semble être une erreur.

Savez-vous que si j'installe le dernier XCode, j'obtiendrai une version plus récente de LLVM/Clang?

Connaissez-vous des problèmes possibles installation manuelle de Clang ?

Une fois installé, le nouveau Clang sera-t-il utilisé automatiquement par tous les IDE que j'ai (par exemple NetBeans)?

18
Pietro

Les éditeurs de logiciels sont traditionnellement conservateurs quant à la mise à jour des outils de build et pour cause. Si vous souhaitez utiliser les dernières versions publiquement prises en charge des outils de construction fournis et modifiés par Apple, vous devez vous en tenir à celles de la dernière version de Xcode pour la version OS X que vous exécutez. Il y a généralement de bonnes raisons pour lesquelles Apple n'a pas encore été mis à jour vers les dernières versions de pointe des composants open source, comme des bugs sérieux. Si vous n'avez pas besoin des modifications fournies par Apple et ne t l'esprit de vivre sur le bord - c'est-à-dire pas de support de Apple et peut-être (re) découvrir des problèmes connus - et ne prévoyez pas d'envoyer des fichiers compilés aux systèmes d'autres personnes, vous pourrait installer vos propres versions dans, disons, /usr/local/bin ou en utilisant des gestionnaires de packages tiers, comme MacPorts http://www.macports.org/ports.php?by=name&substr=clang ). Vous ne devriez certainement pas essayer de remplacer les fichiers aux chemins installés par Xcode. Est-ce que ça vaut le coup? Vous seul pouvez décider cela.

7
Ned Deily

Le site Web est incorrect. Xcode 4.2.1 et 4.2 incluent LLVM 3.0 et clang 3.0:

clang --version
Apple clang version 3.0 (tags/Apple/clang-211.12) (basé sur LLVM 3.0svn)

clang ++ --version
Apple clang version 3.0 (tags/Apple/clang-211.12) (basé sur LLVM 3.0svn)

llvm-g ++ --version
i686-Apple-darwin11-llvm-g ++ - 4.2 (GCC) 4.2.1 (Basé sur Apple Inc. build 5658) (LLVM build 2336.1.00)

llvm-gcc --version
i686-Apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Basé sur Apple Inc. build 5658) (LLVM build 2336.1.00)

8
Chris Lattner

Vous pouvez facilement créer votre propre LLVM en utilisant homebrew :

brew install llvm

Il existe également des packages versionnés au cas où vous auriez besoin d'une version spécifique:

6
jupp0r

OS X Update version 10.9.2 apporte XCode à la version 5.1 (5B130a) et s'accroche à la dernière version stable (pour OS X):

$ clang --version
Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
Target: x86_64-Apple-darwin13.1.0
Thread model: posix

Sur mon Mac, llvm-gcc et llvm-g ++ sont des liens symboliques vers ce clang:

lrwxr-xr-x  1 root  wheel     5B 25 Oct 16:48 /usr/bin/llvm-gcc -> clang
lrwxr-xr-x  1 root  wheel     7B 25 Oct 16:48 /usr/bin/llvm-g++ -> clang++

Ma dernière installation R est configurée pour utiliser llvm-gcc-4.2, ce qui provoquerait une erreur lors de la construction de SHLIB. Création de liens symboliques pour llvm-gcc-4.2 et llvm-g ++ - 4.2 de la même manière, au lieu de remplacer LLVM ou CLANG, suffit pour résoudre les erreurs.

1
tngn

Sur Mountain Lion 10.8.2 avec XCode 4.6, les versions sont:

$ clang --version
Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
Target: x86_64-Apple-darwin12.2.0
Thread model: posix

$ clang++ --version
Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
Target: x86_64-Apple-darwin12.2.0 
Thread model: posix

$ llvm-g++ --version
i686-Apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ llvm-gcc --version
i686-Apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Vous pouvez également mettre à jour XCode pour Lion à partir de l'App Store ou Apple compte de développeur téléchargement direct, et installer les outils de ligne de commande, qui mettront à jour clang & llvm vers les versions ci-dessus.

1