Linux From Scratch para Cubietruck – C4: Las opciones de configuración del CCG

class=»Apple-interchange-newline» Antes de configurar GCC, tenemos que saber lo que se tiene que configurar para GCC. El script de configuración de fuente de GCC nos dirá lo que son todos los que las opciones de configuración. Muchas de las opciones tienen valores vagos si no sabemos cómo estas opciones de configuración afectan el comportamiento de GCC. ¿Cómo debe comportarse GCC en un entorno bien configurado? GCC no es una sola pieza de software, que vive en un ecosistema. Primero lo primero, tenemos que tener viaje en el ecosistema.

1. Lo que está en GCC? />
¿Qué componente vivo en GCC ecosistema de software? La respuesta más clara que puedo encontrar viene de propia fuente GCC. El guión autoconf nivel superior bajo «$ gccsrc / configure.ac» le dirá GCC propia opinión sobre todos aquellos componentes de software. He aquí las compendia relacionados de nivel superior «configure.ac» en gcc 4.8.2:

# # # Para añadir un nuevo directorio para el árbol, primero elige si se trata de un objetivo
# # # o una herramienta dependiente de acogida. Luego lo puso en la lista correspondiente
# # # (biblioteca o herramientas , host o destino), haciendo una especie de dependencia.

# subdirectorios se configurará en el orden indicado en build_configdirs,
# configdirs o target_configdirs;. consulte la sección serialización abajo

clasificación # Dependencia sólo es necesario cuando * Configuración * debe hacerse en
# un orden determinado. En todos los casos una dependencia debe ser especificado en
# Makefile, si es o no es implícitamente especificado aquí.

# entradas dobles en build_configdirs, configdirs o target_configdirs puede
# causan dependencias circulares y romper todo lo horriblemente

# éstos biblioteca es usada por varios programas integrados para la construcción
# entorno
#
build_libs =» construir- libiberty «

# estas herramientas están diseñadas para el entorno de construcción
build_tools =» build-m4 acumulación fixincludes «

# estas bibliotecas son utilizadas por diversos programas integrados para el entorno de host
#
host_libs = « intl libiberty opcodes BFD readline tcl tk itcl libgui zlib libcpp libbacktrace libdecnumber gmp MPFR mpc isl cloog libelf libiconv»

# estas herramientas están diseñadas para el entorno de acogida
# Nota , la acumulación de powerpc eabi depende de sim se produzca antes de gdb para
# Sabemos que estamos construyendo el simulador.
# binutils, gas y ld aparecen en ese orden porque tiene sentido para ejecutar
# «make check» en ese particular, . order
# Si – se utiliza enable-oro, «oro» puede reemplazar «ld».
host_tools = «texinfo flex bison binutils gas ld fixincludes gcc CGEN sid sim gdb gprof etc esperar dejagnu m4 utils astucia fastjar gnattools «

# libgcj representa las bibliotecas de tiempo de ejecución sólo utilizados por gcj
libgcj =» meta- libffi
span style meta-<= "color: red;" > zlib
apuntar- libjava «

# estas bibliotecas se construyen para el entorno de destino, y se construyen después de
# las bibliotecas de acogida y las herramientas de acogida (que puede ser un compilador cruzado)
# Tenga en cuenta que es libiberty no es una biblioteca de destino.
target_libraries = « libgcc
meta- libbacktrace
meta-libgloss
apuntar-newlib
meta- libgomp

; meta- libatomic
meta- libitm

libstdc + +-v3

span style meta-<=" color: rojo ; "> libmudflap

libsanitizer

meta- libssp
meta- libquadmath

libgfortran

meta- boehm- gc

libgcj }

lapso de objetivos