2009-12-21 9 views
6

tengo un gcc 4.3.3 cadena de herramientas de trabajo para un ARM Cortex-M3 y le gustaría integrarlo en XCode.Añadir un compilador personalizado para XCode 3.2

¿Hay una manera de configurar XCode (3.2) para utilizar esta cadena de herramientas GCC en lugar de la incorporada en el GCC 4.2?

Lo que he probado hasta ahora: He añadido una copia modificada del GCC 4.2.xcplugin y cambió el nombre, la versión y la ruta ejecutable. Se manifiesta en XCode pero cuando me puse el "C/C++ Compiler versión" para el compilador de encargo falla con

valor no válido '4.3.3' para GCC_VERSION

parece que la validez números de versión están codificados en otro lugar, porque incluso cuando quito el original GCC 4.2.xcplugin, el valor 4.2 sigue siendo válido (pero no es visible en la "C/C++ Compiler versión" desplegable más).

Respuesta

5

FYI - Tengo gcc 4.4 integrado en última Xcode 3.2.4 incluyendo banderas - véase el blog en http://skurganov.blogspot.com/

+0

Voy a tener que probar si esto funciona para ARM gcc, así ... – rluba

+0

Esto funciona para Xcode 3, pero no para Xcode 4 ... ¿Alguna idea de cómo integrar un compilador personalizado en Xcode 4? – x2on

1

Estoy trabajando en esto yo mismo.

En la actualidad, es que parece que tiene que heredar construido en un compilador de especificaciones ref.

Adición de una clave de:

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

Hace que la carga Plugin correctamente. Sin embargo, existe el problema de los indicadores no válidos debido a los parches del compilador específicos de Apple. Estoy trabajando en esa parte ahora mismo.

1

He conseguido la fase de compilación para trabajar. Para ello:

  1. En/desarrollador/Library/Xcode/Plug-ins
  2. cp "4.2.xcplugin GCC" "4.4.1.xcplugin GCC Arm"
  3. cd "GCC 4.4.1 Brazo .xcplugin "Contenido/
  4. Modificar Info.plist (puede que no sea estrictamente necesario)
 
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. cd Recursos
  2. mv "4.2.xcspec GCC" "GCC Brazo 4.4.1.xcspec"
  3. Modificar "GCC Brazo 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. Enlace el compilador en /Developer/usr/bin/gcc-arm.4.4.1

Debido al cambio de formato wiki, información anterior no son exactos, pero la relevancia de las diferencias es a allí. La pieza crítica que he señalado (y lo que parece tener el error anterior) es que el cambio del Identificador debe corresponder con el cambio del número de versión (con "." Reemplazado por "_").

Deshacerse del parámetro -arch trabaja para compila, pero no para la vinculación. Como mi gcc no aceptará este parámetro, no puedo vincularlo en este momento. A menos que encuentre otra forma de arreglar esto, probablemente pondré un script en lugar del ejecutable gcc para quitar esta opción.

Cuestiones relacionadas