El paquete GCC contiene compiladores GNU. Es útil para compilar programas escritos en Ada, C, C++, Fortran, Java y Objective C.
Descarga (HTTP): http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-3.3.3/gcc-3.3.3.tar.bz2
Descarga (FTP): ftp://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-3.3.3/gcc-3.3.3.tar.bz2
Tamaño del paquete: 23 MB
Estimación del espacio necesario en disco: 889 MB
Tiempo estimado de construcción: 29.3 SBU
Si planeas compilar Ada necesitarás instalar GNAT temporalmente para satisfacer la dependencia circular cuando recompìlas GCC para incluir Ada.
Descarga (FTP): ftp://cs.nyu.edu/pub/gnat/3.15p/gnat-3.15p-i686-pc-redhat71-gnu-bin.tar.gz
Tamaño del paquete: 13.2 MB
Estimación del espacio necesario en disco: 48.9 MB
Tiempo estimado de construcción: 0.01 SBU
Instala GNAT ejecutando los siguientes comandos:
./doconfig
Este guión te preguntará cómo y dónde quieres instalar GNAT. Para evitar conflictos con el gcc del sistema, instalaremos este paquete en un directorio aparte, que pueda ser borrado más adelante.
En cuanto a las preguntas que hace el guión doconfig, teclea 3 para responder a la primera pregunta y /opt/gnat para responder a la segunda.
Para finalizar la instalación, ejecuta:
./doinstall
El compilador GNAT puede ser invocado ejecutando el binario gcc que el guión acaba de instalar.
Aplica los parches al código fuente con el siguiente comando:
patch -Np1 -i ../gcc-3.3.3-no_fixincludes-1.patch &&
sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in
Instala GCC ejecutando los siguientes comandos:
PATH_HOLD=$PATH &&
export PATH=/opt/gnat/bin:$PATH &&
cd gcc/ada &&
touch treeprs.ads [es]info.h nmake.ad[bs] &&
cd ../.. &&
mkdir ../gcc-build &&
cd ../gcc-build &&
CC=/usr/bin/gcc ../gcc-3.3.3/configure --prefix=/usr --enable-shared \
--enable-languages=c,c++,objc,f77,ada,java --enable-threads=posix \
--enable-__cxa_atexit --enable-clocale=gnu &&
make bootstrap &&
make -C gcc gnatlib_and_tools &&
make -k check &&
make install &&
ln -sf ../usr/bin/cpp /lib &&
ln -sf gcc /usr/bin/cc &&
ln -sf g77 /usr/bin/f77 &&
export PATH=$PATH_HOLD
Ya puedes borrar la instalación de GNAT:
rm -rf /opt/gnat
PATH_HOLD=$PATH : Este comando guarda tu PATH actual antes de que sea modificado, para poder restaurarlo después de la instalación.
export PATH=/opt/gnat/bin:$PATH : Este comando permite encontrar el compilador Ada de GNAT para construir Ada.
touch treeprs.ads [es]info.h nmake.ad[bs] : Este comando crea los ficheros necesarios para construir Ada. Puedes omitir este paso si no quieres compilar el frontal (frontend) para Ada.
CC=/usr/bin/gcc : Este comando es para evitar el uso del nuevo PATH que pone al gcc de GNAT como compilador primario.
--enable-languages=c,c++,objc,f77,ada,java : Este comando construye todos los lenguajes disponibles en el paquete GCC. Puedes modificar este comando para eliminar los lenguajes que no desees.
--enable-shared --enable-threads=posix --enable-__cxa_atexit : Estos comandos son necesarios para construir las librerías C++ según los estándares publicados.
--enable-clocale=gnu : Este comando es un mecanismo de seguridad para datos de locale incompletos.
make gnatlib_and tools : Este comando completa el proceso de construcción de Ada. Omítelo si no incluiste Ada entre los lenguajes.
El paquete GCC contiene c++, c++filt, cpp, g++, g77, gcc, gccbug, gcov, glob, gnat, gnatbind, gnatbl, gnatchop, gnatfind, gnatkr, gnatlink, gnatls, gnatmake, gnatprep, gnatpsta, gnatpsys, gnatxref y las librerías GCC.
Los programas y librerías que no se describen aquí se encuentran documentados en la página sobre GCC-3.3.3 del libro LFS.
add2line convierte los elementos orbitales de 2 líneas contenidos en un fichero del formato ASCII al binario y los añade a los ficheros orbdata.
gnatchop renombra ficheros para que cumplan con las convenciones de nombres de ficheros del Ada estándar.
gnathtml.pl convierte ficheros de código Ada a HTML para visualizarlos con navegadores Web.
gnatkr sirve para determinar el nombre truncado de un fichero dado, cuando se trunca a un largo máximo especificado.
gnatmem es la utilidad GNAT que supervisa la actividad de asignación y desasignación dinámica de un programa.
gnatpsta determina los valores de todos los parámetros relevantes en Standard y los muestra por la salida estándar.
gnatpsys determina los valores de todos los parámetros relevantes en System y los muestra por la salida estándar.