¿Qué es un Toolchain?
Se conoce como toolchain al conjunto de herramientas necesarias para compilar y construir un proyecto. Esto incluye al compilador, enlazador, preprocesador, etc.
Las versiones de ZinjaI para Windows incluyen un toolchain completo, llamado mingw. Las versiones para GNU/Linux y Mac OS no incluyen ninguno, sino que intentan encontrar un compilador ya instalado en el sistema. Los compiladores soportados son gcc y llvm-clang. Puede instalar cualquiera de ellos con el gestor de paquetes de su distribución.
¿Cuales puedo utilizar desde ZinjaI?
ZinjaI está diseñado para trabajar con el compilador gcc (o cualquier port a Windows como por ejemplo mingw o mingw64). Esto quiere decir que al intentar compilar un programa o proyecto, ZinjaI intenta invocar este compilador y en la linea de comandos coloca los argumentos necesarios para el mismo.
Sin embargo, hay dos formas alternativas de compilar un programa simple o construir un proyecto. La primera es utilizar otro compilador cuya linea de comandos sea compatible con gcc. Esta puede utilizarse para invocar otro port/otra versión de gcc que no sea la que ZinjaI utiliza por defecto, o para compilar utilizando llvm+clang, dado que clang acepta los mismos argumentos que gcc.
La segunda opción es delegar todo el proceso de compilación en una herramienta externa. Esto puede ser por ejemplo un script de bash, o una herramienta específica como make. En este caso, la decisión de cuales fuentes se deben recompilar, qué compilador utilizar, qué argumentos incluir, etc, se deja a dicha herramienta. Por esta razón la mayoría de las opciones de compilación y ejecución de ZinjaI quedan deshabilitadas al utilizar una herramienta externa. Sin embargo, esta puede ser la forma más facil de importar proyectos complejos o utilizar toolchains poco convencionales.
¿Cómo selecciono o activo un toolchain?
El toolchain que utiliza ZinjaI para programas simples y por defecto en las configuraciones de proyectos, se puede configurar en Programa Simple/Proyecto del diálogo de Preferencias. Luego, al crear un proyecto, puede definir un toolchain diferente para un perfil determinado (en este caso puede ser también un toolchain externo), desde la pestaña Secuencia del diálogo de Opciones de Compilación y Ejecución de Proyecto. Allí puede también variar los argumentos que dicho toolchain utiliza por defecto (por ejemplo, cambiar el Makefile en un toolchain que delega el proceso de compilación a la herramienta externa Make).
¿Cómo configurar un nuevo toolchain?
Para definir un nuevo toolchain, o modificar uno existente, debe seleccionarlo en la opción "Herramientas de compilación" de la pestaña "Programa/Proyecto" del cuadro de preferencias, y abrir el diálogo de personalización del toolchain con el botón "..." ubicado a la izquierda.