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.1/gcc-3.3.1.tar.bz2
Descarga (FTP): ftp://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-3.3.1/gcc-3.3.1.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.1-no_fixincludes-2.patch && patch -Np1 -i ../gcc-3.3.1-suppress-libiberty.patch |
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.1/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 install && 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.1 del libro LFS.
g77 es el compilador de Fortran invocado por gcc.
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.
gcov es un programa de chequeo de cobertura.
gdb es el depurador de GNAT.
gnatbind se usa para vincular los objetos compilados.
gnatbl es el enlazador de Ada.
gnatchop renombra ficheros para que cumplan con las convenciones de nombres de ficheros del Ada estándar.
gnatelim sirve para detectar y eliminar subprogramas sin usar en una partición Ada.
gnatfind es el buscador de definiciones/usos de GNAT.
gnatgcc es el compilador.
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.
gnatlink se usa para enlazar programas y construir un ejecutable.
gnatls es el navegador de unidades compiladas.
gnatmake es una utilidad automática para make.
gnatmem es la utilidad GNAT que supervisa la actividad de asignación y desasignación dinámica de un programa.
gnatprep es el preprocesador externo de GNAT.
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.
gnatstub es un generador de cabos de cuerpo (body stubs).
gnatxref es referenciador cruzado de GNAT.
gvd es el Depurador Visual GNU.