Commits

monamimani committed 5c98e40

- Finished the instruction to make and use a costum clang in Xcode.

  • Participants
  • Parent commits 032ec42

Comments (0)

Files changed (4)

 
 A) Setuper un clang plus récent.
 - Je crois que le clang qui viens avec xCode est trop vieux pour les dernières modification du repo de clang. Je t'ai donc mis dans un repo bitbucket public ma dernièere version compilé de clang. 
-- Copie le contenu de usr/local, dans ton /user/local/. Le dossier usr est caché par le finder. Tu peux faire les touche pomme+shift+g et entré /usr/. Tu devras probablement créer le dossier local et entré ton mot de passe car le dossier usr est protégé.
+- Copie le contenu de usr/local, dans ton /user/local/. Le dossier usr est caché par le finder. Tu peux faire les touche pomme+shift+g et entré /usr/. Tu devras probablement créer le dossier local et entré ton mot de passe car le dossier usr est protégé.
+
+B) Setup pour compiler Clang/LLVM...
+- Va chercher cmake (http://www.cmake.org/cmake/resources/software.html) moi j'ai la version 2.8.9 mais la plus récente devrait fonctionner.
+- De cette page (http://clang.llvm.org/get_started.html) fait ces instructions:
+	0) git
+		Si tu veux utiliser git, je te recommande fortement sourcetree, prend le de leur site web, celui du mac app store ce sera pu mis à jours.
+		Voici les mirroirs des svn
+		clang:  http://llvm.org/git/clang.git
+		libc++: http://llvm.org/git/libcxx
+		llvm:   http://llvm.org/git/llvm.git
+		compiler-RT: http://llvm.org/git/compiler-rt
+		clang extra tools http://llvm.org/git/clang-tools-extra.git
+	1)Checkout LLVM:
+		Change directory to where you want the llvm directory placed.
+		svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
+	2) Checkout Clang:
+		cd llvm/tools
+		svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
+		cd ../..
+	3) Checkout extra Clang Tools: (optional)
+		cd llvm/tools/clang/tools
+		svn co http://llvm.org/svn/llvm-project/clang-tools-extra/trunk extra
+		cd ../../../..
+	4) Checkout Compiler-RT:
+		cd llvm/projects
+		svn co http://llvm.org/svn/llvm-project/compiler-rt/trunk compiler-rt
+		cd ../..
+	5) Build LLVM and Clang:
+		mkdir build (for building without polluting the source dir)
+		cd build
+		copie les scripts du dossier build du repo que j'ai fais, ca setup et fais une couple de trucs.
+		dans terminal:
+			./_GenerateProjects.sh
+			./_BuildProjects.sh
+			./_InstallProjects.sh
+- Ca va installer clang dans ton /usr/local
+
+C) Libc++
+ - suis les instructions içi (http://libcxx.llvm.org/) arrête les instruction à ./builtit
+ - moi j'ai mis libc++ dans mon llvm/source/project mais je crois que tu peux le metre ou tu veux.
+ - Copie libcxx/lib/libc++.1.dylib dans /usr/local/lib et créer un shortcut de /usr/local/lib/libc++.1.dylib dans le même dossié et renomme le libc++.dylib
+ - Copie /libcxx/include dans /usr/local/lib/c++/v1/
+ 
+Voila tu as compilé et installé clang et llvm. À l'avenir tu peux sync tes depot git et ensuite runner Generate, Build et Install et refaire l'étape C) si nécessaire.
+
+Maintenant pour utiliser clang dans xCode. J'espère que tu connais les fichiers de build configuration .xcconfig ( si non chercher un peu sur internet c'est pas compliqué, c'est l'équivalent d'un vcprops).
+
+Voici ce que je met dans le miens qui est relatifs au clang custom built ou qui va t'être utilie.
+
+CC = /usr/local/bin/clang
+LDPLUSPLUS = /usr/local/bin/clang++
+GCC_VERSION = com.apple.compilers.llvm.clang.1_0
+GCC_C_LANGUAGE_STANDARD = c11
+CLANG_CXX_LANGUAGE_STANDARD = c++11
+CLANG_CXX_LIBRARY = libc++ 

File build/_BuildProjects.sh

+#!/bin/bash
+#check-all
+make -j10 ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1

File build/_GenerateProjects.sh

+#!/bin/bash
+
+rm ./CMakeCache.txt
+
+#-DCMAKE_EXE_LINKER_FLAGS="-std=c++11 -stdlib=libc++"
+cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DLLVM_TARGETS_TO_BUILD="X86" -DCMAKE_C_COMPILER=/usr/local/bin/clang -DCMAKE_CXX_COMPILER=/usr/local/bin/clang++ -DCMAKE_CXX_FLAGS="-std=c++11 -stdlib=libc++" -DCMAKE_SHARED_LINKER_FLAGS="-std=c++11 -stdlib=libc++" -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_WERROR=OFF -DLLVM_BUILD_EXAMPLES=ON -DCLANG_BUILD_EXAMPLES=ON -DLLVM_APPEND_VC_REV=ON /Users/Mani/Development/Projects/llvm/source
+ln -s $PWD/compile_commands.json /Users/Mani/Development/Projects/llvm/source

File build/_InstallProjects.sh

+#!/bin/bash
+sudo make install -j8 ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1