Cambiando el compilador de C (2ª parte)

En la entrada anterior nos quedamos en que necesitábamos modificar XEdit para poder compilar Xailer con los dos compiladores de C escogidos: MinGW y PellesC. En principio, esta tarea hubiera sido tan sencilla como añadir sendos apartados en la configuración general, uno para cada compilador de C, tal y como ya estaba para BCC++. Pero me temo que no es así.

Actualmente, XEdit soporta tanto Harbour como xHarbour con BCC++, pero al añadir un nuevo compilador de C, habría que añadir también otros dos apartados, uno para Harbour y otro para xHarbour con este compilador de C. Y como son dos los compiladores de C a añadir, resulta que en total necesitamos añadir seis nuevos apartados, a saber:

  • MinGW
  • Pelles C
  • Harbour con MinGW
  • Harbour con Pelles C
  • xHarbour con MinGW
  • xHarbour con Pelles C

Es obvio que esto empieza a desmadrarse. Y si más adelante añadimos soporte para 64 bits y/o para ARM, la cantidad de apartados para configurar los distintos Harbour, xHarbour y compiladores de C puede llegar a ser completamente intratable. En definitiva, que hay que buscar otra solución.

La solución que hemos adoptado, y que creemos que es la que permite mayor flexibilidad a la vez que sencillez, consiste en sacar la configuración de todos los compiladores fuera de la configuración general, y meterla exclusívamente dentro de la configuración de los entornos de programación. Esto significa que si tenemos más de un entorno que utilice p.ej. xHarbour, tendremos que configurar las rutas de acceso a xHarbour en cada uno de esos entornos.

Pero esto, que puede parecer en principio un poco engorroso, se convierte en una ventaja adicional, ya que al poder tener distintas configuraciones de cada compilador, podremos también tener varias versiones del mismo listas para utilizar. P.ej., podemos tener xHarbour 1.1 y xHarbour 1.2 en distintos directorios, al tiempo que tenemos cada uno de ellos configurado en un entorno de programación diferente que podremos utilizar en los proyectos que necesitemos. Esto no podíamos hacerlo hasta ahora con XEdit.

Y ya que estamos, como cada compilador de C tiene también su propio compilador de recursos, podríamos poner la configuración del compilador de recursos también dentro de la configuración del entorno de programación, y no una única configuración en la configuración general. Dicho y hecho, también lo hemos cambiado. Y además nos ha venido muy bien, ya que para MinGW hay que compilar los recursos en formato COFF, pues su enlazador no reconoce el formato RES. Cabe mencionar que seleccionando la opción «Usar el compilador por defecto», XEdit utilizará el compilador de recursos del compilador de C seleccionado, con sus opciones por defecto. Es decir, brc32.exe para BCC++, windres.exe para MinGW y porc.exe para Pelles C.

Y ahora, aquí teneis unos pantallazos de la nueva configuración de entornos de programación:

xedit001.png

xedit002.png

xedit003.png

xedit004.png

xedit005.png

Queda aclarar un par de opciones que podemos encontrar aquí:

  • Eliminar símbolos innecesarios de los .obj: indica a XEdit que elimine la información extra que añaden tanto MinGW como Pelles C a los .obj, haciéndolos más pequeños. Esto tiene sentido para las librerías, que verán reducido su tamaño ligeramente, pero no para los ejecutables, ya que el propio enlazador elimina esta información extra. Es muy similar al comando strip de las binutils de MinGW y sólo funciona para el formato COFF de .obj.
  • Añadir iconos y cursores estándar: indica que se deben añadir los iconos y cursores estándar de Xailer al ejecutable. En la práctica, esta opción sólo nos sirve a nosotros para compilar tanto XEdit como el IDE de Xailer.

Y para terminar, con todas estas pestañas y opciones por cada entorno de programación puede parecer un poco pesado crear uno nuevo. Para hacerlo más sencillo XEdit permite copiar la configuración desde otro entorno cuando creamos uno nuevo. Así, sólo hay que modificar aquello que haga falta y listo.

xedit006.png

Bueno, hasta aquí los cambios que hemos hecho en XEdit. En la próxima entrada abordaremos ya la compilación de Xailer con los dos nuevos compiladores de C.

6 comentarios en “Cambiando el compilador de C (2ª parte)

  1. Toni Sales

    Jose
    ¿Y porque no guardar la configuración en un fichero INI o CFG que decidamos?. La idea seria generar un fichero INI p.e. darle un nombre y desde el proyecto indicar que vamos a usar este fichero como configuracion. Esto ayudaria a realizar cambios masivos.

    Saludos.

  2. José F. Giménez

    Toni,

    ya se está guardando la configuración de los entornos de programación dentro del fichero xedit.cfg, que no es más que un .ini renombrado.

    Y en la ventana de las propiedades del proyecto, hay un combo para seleccionar el entorno a utilizar para dicho proyecto.

  3. juanato

    Soy un sufrido usuario de Xedit 2.x que no consigo poder linkar un proyecto de 90.000 líneas de un viejo Ca Clipper 5.01a. Quisiera saber como puedo enamoraros un poco para que me dejéis jugar con el Xedit 3 beta, para ver si os puedo ser util.. Gracias…

  4. Fernando

    soy nuevo en el uso xedit descargue la versionde 27-May-2009 cuando creo un entrono de programacion en el compilador de xbase no trae los valores por defecto como la hacia en la version anterior

Deja una respuesta