5.4. GCC-4.2.1 - Fase 1

El paquete GCC contiene la colección de compiladores GNU, que incluye los compiladores C y C++.

Tiempo estimado de construcción: 9.2 SBU
Espacio requerido en disco: 655 MB

5.4.1. Instalación de GCC

La documentación de GCC recomienda construirlo en un directorio dedicado, fuera del árbol de las fuentes:

mkdir -v ../gcc-build
cd ../gcc-build

Prepara GCC para su compilación:

CC="gcc -B/usr/bin/" ../gcc-4.2.1/configure --prefix=/tools \
    --with-local-prefix=/tools --disable-nls --enable-shared \
    --enable-languages=c

Significado de las opciones de configure:

CC="gcc -B/usr/bin/"

Esto fuerza que gcc prefiera el enlazador del anfitrión en /usr/bin. Esto es necesario con ciertos anfitriones en los que el nuevo ld construido aquí no es compatible con el gcc del anfitrión.

--with-local-prefix=/tools

Esta opción es para eliminar /usr/local/include de las rutas de búsqueda por defecto de gcc. Esto no es esencial, sin embargo ayuda a minimizar la influencia del sistema anfitrión.

--enable-shared

Esta opción permite construir libgcc_s.so.1 y libgcc_eh.a. Tener a libgcc_eh.a disponible nos asegura que el guión configure de Glibc (el siguiente paquete por compilar) produzca los resultados apropiados.

--enable-languages=c

Esta opción nos asegura que sólo se construya el compilador de C.

El siguiente comando compilará GCC no solo una vez, si no varias veces. Se usan los programas compilados la primera vez para compilarse as si mismo una segunda vez, y repite el proceso una tercera vez. Entonces compara estos segundo y tercero compiladores para asegurarse de que puede reproducirse a si mismo correctamente. Esto es conocido como “bootstrapping”. Construir GCC de este modo asegura que fué construido correctamente ys es ahora la configuración por defecto del paquete. Continua la compilación ejecutando:

make

La compilación se ha completado. En este punto normalmente ejecutaríamos el banco de pruebas, pero, como se mencionó antes, el entorno de trabajo para los bancos de pruebas no se encuentra todavía en su lugar. Los beneficios de ejecutar ahora los bancos de pruebas son mínimos, pues los programas de esta primera fase pronto serán sustituidos.

Instala el paquete:

make install

Como toque final, crea un enlace simbólico. Muchos programas y guiones ejecutan cc en vez de gcc. Esto es una forma de hacer que los programas sean genéricos y por tanto utilizables en toda clase de sistemas Unix. No todos tienen instalado el compilador de C de GNU. Ejecutar cc deja al administrador del sistema libre de decidir qué compilador de C instalar, mientras haya un enlace simbólico que apunte a él:

ln -vs gcc /tools/bin/cc

Los detalles sobre este paquete se encuentran en la Sección 6.12.2, “Contenido de GCC”.