GCC-3.3.3

Introducción a GCC

El paquete GCC contiene compiladores GNU. Es útil para compilar programas escritos en Ada, C, C++, Fortran, Java y Objective C.

Información sobre el paquete

Instalación de GCC

Si planeas compilar Ada necesitarás instalar GNAT temporalmente para satisfacer la dependencia circular cuando recompìlas GCC para incluir Ada.

Información sobre el paquete

Dependencias de GNAT

Requerida

Tcsh-6.13.00

Instalación de GNAT

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.

Regreso a la instalación de GCC

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

Explicación de los comandos

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.

Contenido

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.

Descripciones

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.

g77

g77 es el compilador de Fortran invocado por gcc.

add2line

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

gcov es un programa de chequeo de cobertura.

gdb

gdb es el depurador de GNAT.

gnatbind

gnatbind se usa para vincular los objetos compilados.

gnatbl

gnatbl es el enlazador de Ada.

gnatchop

gnatchop renombra ficheros para que cumplan con las convenciones de nombres de ficheros del Ada estándar.

gnatelim

gnatelim sirve para detectar y eliminar subprogramas sin usar en una partición Ada.

gnatfind

gnatfind es el buscador de definiciones/usos de GNAT.

gnatgcc

gnatgcc es el compilador.

gnathtml.pl

gnathtml.pl convierte ficheros de código Ada a HTML para visualizarlos con navegadores Web.

gnatkr

gnatkr sirve para determinar el nombre truncado de un fichero dado, cuando se trunca a un largo máximo especificado.

gnatlink

gnatlink se usa para enlazar programas y construir un ejecutable.

gnatls

gnatls es el navegador de unidades compiladas.

gnatemake

gnatmake es una utilidad automática para make.

gnatmem

gnatmem es la utilidad GNAT que supervisa la actividad de asignación y desasignación dinámica de un programa.

gnatprep

gnatprep es el preprocesador externo de GNAT.

gnatpsta

gnatpsta determina los valores de todos los parámetros relevantes en Standard y los muestra por la salida estándar.

gnatpsys

gnatpsys determina los valores de todos los parámetros relevantes en System y los muestra por la salida estándar.

gnatstub

gnatstub es un generador de cabos de cuerpo (body stubs).

gnatxref

gnatxref es referenciador cruzado de GNAT.

gvd

gvd es el Depurador Visual GNU.