2009-12-21 5 views
6

J'ai une chaîne d'outils gcc 4.3.3 qui fonctionne pour un ARM Cortex-m3 et je voudrais l'intégrer dans XCode.Ajouter un compilateur personnalisé à XCode 3.2

Existe-t-il un moyen de configurer XCode (3.2) pour utiliser cette chaîne d'outils gcc au lieu du GCC 4.2 intégré? Ce que j'ai essayé jusqu'à présent: J'ai ajouté une copie modifiée du GCC 4.2.xcplugin et changé le nom, la version et le chemin exécutable. Il apparaît dans XCode, mais chaque fois que je mets le « C/C++ version du compilateur » au compilateur personnalisé il échoue avec

valeur non valide « 4.3.3 » pour GCC_VERSION

Il semble que la validité Les numéros de version sont codés en dur ailleurs parce que même lorsque je supprime le GCC 4.2.xcplugin d'origine, la valeur 4.2 reste valide (mais n'est plus visible dans la liste déroulante "Version du compilateur C/C++").

Répondre

5

FYI - Je suis gcc 4.4 intégré dans le dernier Xcode 3.2.4, y compris des drapeaux - voir blog à http://skurganov.blogspot.com/

+0

je vais devoir essayer si cela fonctionne pour gcc ARM et ... – rluba

+0

Cela fonctionne pour Xcode 3, mais pas pour Xcode 4 ... Des idées pour intégrer un compilateur personnalisé dans Xcode 4? – x2on

1

Je travaille sur ce sujet moi-même.

Actuellement, il semble que vous ayez hérité d'une spécification de référence de compilateur intégrée.

Ajout d'une clé:

BasedOn = "com.apple.compilers.gcc.4_2"; 

Makes la charge du plugin correctement. Cependant, il y a le problème des indicateurs invalides dû aux correctifs de compilateur spécifiques à Apple. Je travaille sur cette partie maintenant.

1

J'ai la phase de compilation pour travailler. Pour ce faire:

  1. Dans/Developer/Library/Xcode/Plug-ins
  2. cp "GCC 4.2.xcplugin" "GCC Arm 4.4.1.xcplugin"
  3. cd « GCC 4.4.1 Arm .xcplugin "/ Contenu
  4. Modifier Info.plist (peut ne pas être strictement nécessaire)
 
8c8 
- com.apple.xcode.compilers.gcc.arm-4_4_1 
--- 
+ com.apple.xcode.compilers.gcc.4_2 
12c12 
- GCC Arm 4.4.1 Compiler Xcode Plug-in 
--- 
+ GCC 4.2 Compiler Xcode Plug-in 
  1. Ressources cd
  2. mv "GCC 4.2.xcspec" "GCC Arm 4.4.1.xcspec"
  3. Modifier "GCC Arm 4.4.1.xcspec"
 
10c10 
-  Identifier = "com.apple.compilers.gcc.arm-4_4_1"; 
--- 
+  Identifier = "com.apple.compilers.gcc.4_2"; 
13,16c13,16 
-  Name = "GCC Arm 4.4.1"; 
-  Description = "GNU Arm C/C++ Compiler 4.4.1"; 
-  Version = "arm-4.4.1"; 
--- 
+  Name = "GCC 4.2"; 
+  Description = "GNU C/C++ Compiler 4.2"; 
+  Version = "4.2"; 
39c39 
-   "com.apple.compilers.gcc.headers.arm_4_4_1", 
--- 
+   "com.apple.compilers.gcc.headers.4_2", 
42c42 
-  ExecPath = "$(PLATFORM_DEVELOPER_BIN_DIR)/gcc-arm.4.4.1"; 
--- 
+  ExecPath = "$(PLATFORM_DEVELOPER_BIN_DIR)/gcc-4.2"; 
48,49c48,49 
-  SupportsZeroLink = No; 
-  "SupportsPredictiveCompilation" = No; 
--- 
+  SupportsZeroLink = Yes; 
+  "SupportsPredictiveCompilation" = Yes; 
52,53c52,53 
-  "SupportsMacOSXDeploymentTarget" = No; 
-  "SupportsMacOSXMinVersionFlag" = No; 
--- 
+  "SupportsMacOSXDeploymentTarget" = Yes; 
+  "SupportsMacOSXMinVersionFlag" = Yes; 
88a89,90 
-      "-arch", 
-      "$(value)", 
  1. Lien le compilateur dans /Developer/usr/bin/gcc-arm.4.4.1

En raison du reformatage du wiki, les différences ci-dessus ne sont pas exactes, mais les informations pertinentes sont là. L'élément critique que j'ai noté (et ce que vous semblez avoir mal au-dessus) est que le changement d'identificateur doit correspondre au changement de numéro de version (avec "." Remplacé par "_"). Se débarrasser du paramètre -arch fonctionne pour les compilations, mais pas pour les liaisons. Puisque mon gcc n'acceptera pas ce paramètre, je ne peux pas le lier pour le moment. À moins que je trouve un autre moyen de résoudre ce problème, je mettrai probablement un script à la place de l'exécutable gcc pour retirer cette option.

Questions connexes