Copyright
Copyright © José
Luis Lara Carrascal 2012-2024
Sumario
Introducción
GMP (32/64 bits)
MPFR (32/64 bits)
MPC (32/64 bits)
ISL (32/64 bits)
Enlaces
Introducción
Este manual es complementario del manual de GCC,
y contiene la instalación de las librerías de
optimización, requeridas unas y opcionales otras, que se
utilizan en el proceso de instalación de este compilador. Desde
el 14 de abril de 2018, el manual se ha actualizado a una instalación en
un sistema de 64 bits multiarquitectura, basado en el CLFS.
GMP (32/64 bits)
Dependencia requerida para la compilación de GCC.
Procurar utilizar siempre dos terminales o pestañas de terminal
para cada modo de compilación, para no hacernos un lío
con las variables de entorno específicas a establecer en cada
uno.
Instalación
Dependencias
Herramientas
de Compilación
Entre paréntesis la
versión con la que se ha compilado GMP para la
elaboración de este documento.
* GCC - (13.2.0)
* Gawk - (5.3.0)
* M4 - (1.4.19)
* Libtool - (2.4.7)
* Make - (4.4.1)
* Automake - (1.16.5)
* Autoconf - (2.72)
* Bison - (3.8.2)
* Flex - (2.6.4)
Librerías
de Desarrollo
* Readline - (8.2)
Descarga
gmp-6.3.0.tar.xz
Optimizaciones
GMP utiliza
sus propias optimizaciones con detección de CPU incluida (aunque no las detecta muy bien).
Parámetros adicionales para la versión de 32 bits
Establecer la variable de entorno adecuada para pkg-config en sistemas de 64 bits multiarquitectura |
$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH |
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export LDFLAGS+=' -L/usr/lib -L/usr/local/lib' |
Establecer
la variable de entorno de arquitectura de procesador requerida en
sistemas de 64 bits multiarquitectura basados en el CLFS |
$ export USE_ARCH=32
|
Parámetros adicionales para la versión de 64 bits
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export
LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64" |
Extracción
$ tar Jxvf gmp-6.3.0.tar.xz
$ cd gmp-6.3.0
|
Configuración de la versión de 32 bits
$ mkdir build32; cd build32
$ ../configure --prefix=/usr --enable-cxx --build=i686-pc-linux-gnu
|
Explicación de los
comandos
--prefix=/usr
: Instala la librería en el directorio principal /usr.
--enable-cxx : Activa el soporte de GMP en C++.
--build=i686-pc-linux-gnu
: Activa el modo de compilación de 32 bits, en sistemas de 64
bits multiarquitectura. En otros paquetes del manual hay que hacerlo
desde la variable de entorno de uso de compilador.
Compilación
Parámetros de compilación opcionales
-j$(nproc):
Establece el número de procesos de compilación en
paralelo, en función del número de
núcleos e hilos que tenga nuestro procesador, tomando como
referencia la información mostrada por el sistema con el comando
correspondiente. Si nuestro procesador es mononúcleo de un solo
hilo, no añadir esta opción.
Instalación
como root
$ su
# make install-strip
# mv /usr/include/gmp{,-32}.h
# ldconfig -v
|
Explicación de los
comandos
mv /usr/include/gmp{,-32}.h
: Renombramos el archivo de cabecera principal de la librería,
ya que el contenido de éste difiere en función de la
arquitectura de procesador utilizada en el proceso de
compilación. Cuando se instale la versión de 64 bits,
crearemos un archivo de cabecera selector de arquitectura de
procesador, que seleccionará este archivo o el de la
versión de 64 bits, en función del modo de
compilación utilizado, en aquellos paquetes que dependan de esta
librería.
Configuración de la versión de 64 bits
$ mkdir build64; cd build64
$ ../configure --prefix=/usr --enable-cxx --libdir=/usr/lib64
|
Explicación de los
comandos
--prefix=/usr
: Instala la librería en el directorio principal /usr.
--enable-cxx : Activa el soporte de GMP en C++.
--libdir=/usr/lib64 : Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura. La ubicación y el nombre de este
directorio, puede variar en función de la distribución que
cada usuario use.
Compilación
Parámetros de compilación opcionales
Instalación
como root
$ su
# make install-strip
# mv /usr/include/gmp{,-64}.h
# cat > /usr/include/gmp.h << "EOF"
/* gmp.h - Stub Header */
#ifndef __STUB__GMP_H__
#define __STUB__GMP_H__
#if defined(__x86_64__)
# include "gmp-64.h"
#else
# include "gmp-32.h"
#endif
#endif /* __STUB__GMP_H__ */
EOF
# ldconfig -v
|
Explicación de los
comandos
mv /usr/include/gmp{,-64}.h
: Hacemos lo mismo que hemos hecho antes con la versión de 32 bits, pero en este caso con la de 64 bits.
cat > /usr/include/gmp.h << "EOF"
/* gmp.h - Stub Header */
#ifndef __STUB__GMP_H__
#define __STUB__GMP_H__
#if defined(__x86_64__)
# include "gmp-64.h"
#else
# include "gmp-32.h"
#endif
#endif /* __STUB__GMP_H__ */
EOF
: Creamos un archivo de cabecera selector de arquitectura con el
comando cat, siguiendo el mismo método utilizado por el CLFS, pero omitiendo las arquitecturas de procesador que no son necesarias en nuestro sistema.
Estadísticas de Compilación e Instalación de GMP
Estadísticas de Compilación e Instalación de GMP |
CPU |
AMD Ryzen 5 5500 |
MHz |
3600 (BoostMax=4457) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
6.8.9-ml-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
powersave (balance performance) |
Planificador de CPU |
BMQ |
Versión de Glibc |
2.39 |
Enlazador dinámico |
GNU gold (Binutils 2.42) 1.16 |
Compilador |
GCC 13.2.0 |
Parámetros de optimización automáticos de la versión de 32 bits |
-02 -march=pentiumpro
-mtune=pentiumpro |
Parámetros de optimización automáticos de la versión de 64 bits |
-02 -march=znver3
-mtune=znver3 |
Parámetros de compilación |
-j12 |
Tiempo de compilación |
22" |
Archivos instalados |
19 |
|
Enlaces simbólicos creados |
8 |
|
Ocupación de espacio en disco |
4,1 MB |
Desinstalación
como root
1)
MODO TRADICIONAL
En el directorio de compilación
ejecutamos el siguiente comando:
2)
MODO MANUALINUX
El principal inconveniente del comando anterior es
que
tenemos que tener el directorio de compilación en nuestro
sistema para poder desinstalar el programa. En algunos casos esto
supone muchos megas de espacio en disco. Con el paquete de scripts que
pongo a continuación logramos evitar
el único inconveniente que tiene la compilación
de
programas, y es el tema de la desinstalación de los mismos
sin
la necesidad de tener obligatoriamente una copia de las fuentes
compiladas.
gmp-6.3.0-scripts.tar.gz
$ su
# tar zxvf gmp-6.3.0-scripts.tar.gz
# cd gmp-6.3.0-scripts
# ./Desinstalar_gmp-6.3.0 |
Copia de Seguridad
como root
Con este otro script creamos una copia de seguridad de los binarios
compilados, recreando la estructura de directorios de los mismos en un
directorio de copias de seguridad (copibin)
que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de
los binarios podemos copiarlo como usuario a nuestro home
y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos
volver a restaurar la copia, tendremos que volver a copiarlo al lugar
donde se ha creado.
$ su
# tar zxvf gmp-6.3.0-scripts.tar.gz
# cd gmp-6.3.0-scripts
# ./Respaldar_gmp-6.3.0 |
Restaurar la Copia de
Seguridad
como root
Y con este otro script (que se copia de forma automática
cuando
creamos la copia de respaldo del programa) restauramos la copia de
seguridad como root cuando resulte necesario.
$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_gmp-6.3.0
|
MPFR (32/64 bits)
Dependencia requerida para la compilación de GCC.
Instalación
Dependencias
Herramientas
de Compilación
Entre paréntesis la
versión con la que se ha compilado MPFR para la
elaboración de este documento.
* GCC - (13.2.0)
* Gawk - (5.3.0)
* M4 - (1.4.19)
* Libtool - (2.4.7)
* Make - (4.4.1)
* Automake - (1.16.5)
* Autoconf - (2.72)
* Bison - (3.8.2)
* Flex - (2.6.4)
Librerías
de Desarrollo
* GMP - (6.3.0)
Descarga
mpfr-4.2.1.tar.xz
Optimizaciones
Optimizaciones adicionales
Optimizaciones adicionales |
Graphite
|
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
|
Parámetros adicionales para la versión de 32 bits
Optimizaciones de CPU para Intel en sistemas de 64 bits multiarquitectura |
$ export {C,CXX}FLAGS='-O3 -march=i686 -mtune=pentium4' |
Optimizaciones de CPU para AMD en sistemas de 64 bits multiarquitectura |
$ export {C,CXX}FLAGS='-O3 -march=i686 -mtune=athlon-xp' |
Establecer la variable de entorno adecuada para pkg-config en sistemas de 64 bits multiarquitectura |
$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH |
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export LDFLAGS+=' -L/usr/lib -L/usr/local/lib' |
Establecer la variable de entorno de uso de compilador en modo de 32 bits, en sistemas de 64 bits multiarquitectura |
$ export CC="gcc -m32" CXX="g++ -m32"
|
Establecer
la variable de entorno de arquitectura de procesador requerida en
sistemas de 64 bits multiarquitectura basados en el CLFS |
$ export USE_ARCH=32
|
Parámetros adicionales para la versión de 64 bits
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export
LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64" |
Extracción
$ tar Jxvf mpfr-4.2.1.tar.xz
$ cd mpfr-4.2.1
|
Configuración de la versión de 32 bits
$ mkdir build32; cd build32
$ ../configure --prefix=/usr
|
Explicación de los
comandos
--prefix=/usr
: Instala la librería en el directorio principal /usr.
Compilación
Parámetros de compilación opcionales
Instalación
como root
$ su
# make install-strip
# ldconfig -v
|
Configuración de la versión de 64 bits
$ mkdir build64; cd build64
$ ../configure --prefix=/usr --libdir=/usr/lib64
|
Explicación de los
comandos
--prefix=/usr
: Instala la librería en el directorio principal /usr.
--libdir=/usr/lib64 : Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura. La ubicación y el nombre de este
directorio, puede variar en función de la distribución que
cada usuario use.
Compilación
Parámetros de compilación opcionales
Instalación
como root
$ su
# make install-strip
# ldconfig -v
|
Estadísticas de Compilación e Instalación de MPFR
Estadísticas de Compilación e Instalación de MPFR |
CPU |
AMD Ryzen 5 5500 |
MHz |
3600 (BoostMax=4457) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
6.8.9-ml-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
powersave (balance performance) |
Planificador de CPU |
BMQ |
Versión de Glibc |
2.39 |
Enlazador dinámico |
GNU gold (Binutils 2.42) 1.16 |
Compilador |
GCC 13.2.0 |
Parámetros de optimización de la versión de 32 bits |
-03 -march=i686 -mtune=pentium4 -ftree-loop-linear -floop-strip-mine -floop-block |
Parámetros de optimización de la versión de 64 bits |
-03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block |
Parámetros de compilación |
-j12 |
Tiempo de compilación |
14" |
Archivos instalados |
22 |
|
Enlaces simbólicos creados |
4 |
|
Ocupación de espacio en disco |
3,9 MB |
Desinstalación
como root
1)
MODO TRADICIONAL
En el directorio de compilación
ejecutamos el siguiente comando:
2)
MODO MANUALINUX
mpfr-4.2.1-scripts.tar.gz
$ su
# tar zxvf mpfr-4.2.1-scripts.tar.gz
# cd mpfr-4.2.1-scripts
# ./Desinstalar_mpfr-4.2.1 |
Copia de Seguridad
como root
$ su
# tar zxvf mpfr-4.2.1-scripts.tar.gz
# cd mpfr-4.2.1-scripts
# ./Respaldar_mpfr-4.2.1 |
Restaurar la Copia de
Seguridad
como root
$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_mpfr-4.2.1
|
MPC (32/64 bits)
Dependencia requerida para la compilación de GCC.
Instalación
Dependencias
Herramientas
de Compilación
Entre paréntesis la
versión con la que se ha compilado MPC para la
elaboración de este documento.
* GCC - (13.2.0)
* Gawk - (5.3.0)
* M4 - (1.4.19)
* Libtool - (2.4.7)
* Make - (4.4.1)
* Automake - (1.16.5)
* Autoconf - (2.72)
* Bison - (3.8.2)
* Flex - (2.6.4)
Librerías
de Desarrollo
* GMP - (6.3.0)
* MPFR - (4.2.1)
Descarga
mpc-1.3.1.tar.gz
Optimizaciones
Optimizaciones adicionales
Optimizaciones adicionales |
Graphite
|
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
|
Parámetros adicionales para la versión de 32 bits
Optimizaciones de CPU para Intel en sistemas de 64 bits multiarquitectura |
$ export {C,CXX}FLAGS='-O3 -march=i686 -mtune=pentium4' |
Optimizaciones de CPU para AMD en sistemas de 64 bits multiarquitectura |
$ export {C,CXX}FLAGS='-O3 -march=i686 -mtune=athlon-xp' |
Establecer la variable de entorno adecuada para pkg-config en sistemas de 64 bits multiarquitectura |
$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH |
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export LDFLAGS+=' -L/usr/lib -L/usr/local/lib' |
Establecer la variable de entorno de uso de compilador en modo de 32 bits, en sistemas de 64 bits multiarquitectura |
$ export CC="gcc -m32" CXX="g++ -m32"
|
Establecer
la variable de entorno de arquitectura de procesador requerida en
sistemas de 64 bits multiarquitectura basados en el CLFS |
$ export USE_ARCH=32
|
Parámetros adicionales para la versión de 64 bits
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export
LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64" |
Extracción
$ tar zxvf mpc-1.3.1.tar.gz
$ cd mpc-1.3.1 |
Configuración de la versión de 32 bits
$ mkdir build32; cd build32
$ ../configure --prefix=/usr
|
Explicación de los
comandos
--prefix=/usr
: Instala la librería en el directorio principal /usr.
Compilación
Parámetros de compilación opcionales
Instalación
como root
$ su
# make install-strip
# ldconfig -v
|
Configuración de la versión de 64 bits
$ mkdir build64; cd build64
$ ../configure --prefix=/usr --libdir=/usr/lib64
|
Explicación de los
comandos
--prefix=/usr
: Instala la librería en el directorio principal /usr.
--libdir=/usr/lib64 : Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura. La ubicación y el nombre de este
directorio, puede variar en función de la distribución que
cada usuario use.
Compilación
Parámetros de compilación opcionales
Instalación
como root
$ su
# make install-strip
# ldconfig -v
|
Estadísticas de Compilación e Instalación de MPC
Estadísticas de Compilación e Instalación de MPC |
CPU |
AMD Ryzen 5 5500 |
MHz |
3600 (BoostMax=4457) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
6.8.9-ml-ml SMP PREEMPT_DYNAMIC x86_64 |
Modo de frecuencia de la CPU |
powersave (balance performance) |
Planificador de CPU |
BMQ |
Versión de Glibc |
2.39 |
Enlazador dinámico |
GNU gold (Binutils 2.42) 1.16 |
Compilador |
GCC 13.2.0 |
Parámetros de optimización de la versión de 32 bits |
-03 -march=i686 -mtune=pentium4 -ftree-loop-linear -floop-strip-mine -floop-block |
Parámetros de optimización de la versión de 64 bits |
-03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block |
Parámetros de compilación |
-j12 |
Tiempo de compilación |
3" |
Archivos instalados |
8 |
|
Enlaces simbólicos creados |
4 |
|
Ocupación de espacio en disco |
960 KB |
Desinstalación
como root
1)
MODO TRADICIONAL
En el directorio de compilación
ejecutamos el siguiente comando:
2)
MODO MANUALINUX
mpc-1.3.1-scripts.tar.gz
$ su
# tar zxvf mpc-1.3.1-scripts.tar.gz
# cd mpc-1.3.1-scripts
# ./Desinstalar_mpc-1.3.1 |
Copia de Seguridad
como root
$ su
# tar zxvf mpc-1.3.1-scripts.tar.gz
# cd mpc-1.3.1-scripts
# ./Respaldar_mpc-1.3.1 |
Restaurar la Copia de
Seguridad
como root
$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_mpc-1.3.1
|
ISL (32/64 bits)
Dependencia opcional para la compilación de GCC. Cuando actualicemos este paquete a una nueva versión, no hay que borrar nunca la versión anterior, hasta que no
volvamos a recompilar GCC con la versión nueva instalada.
Instalación
Dependencias
Herramientas
de Compilación
Entre paréntesis la
versión con la que se ha compilado ISL para la
elaboración de este documento.
* GCC - (13.2.0)
* Gawk - (5.3.0)
* M4 - (1.4.19)
* Libtool - (2.4.7)
* Make - (4.4.1)
* Automake - (1.16.5)
* Autoconf - (2.72)
* Bison - (3.8.2)
* Flex - (2.6.4)
Librerías
de Desarrollo
* GMP - (6.3.0)
Descarga
isl-0.26.tar.xz
Optimizaciones
Optimizaciones adicionales
Optimizaciones adicionales |
Graphite
|
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
|
Parámetros adicionales para la versión de 32 bits
Optimizaciones de CPU para Intel en sistemas de 64 bits multiarquitectura |
$ export {C,CXX}FLAGS='-O3 -march=i686 -mtune=pentium4' |
Optimizaciones de CPU para AMD en sistemas de 64 bits multiarquitectura |
$ export {C,CXX}FLAGS='-O3 -march=i686 -mtune=athlon-xp' |
Establecer la variable de entorno adecuada para pkg-config en sistemas de 64 bits multiarquitectura |
$ export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig:/usr/share/pkgconfig:$PKG_CONFIG_PATH |
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export LDFLAGS+=' -L/usr/lib -L/usr/local/lib' |
Establecer la variable de entorno de uso de compilador en modo de 32 bits, en sistemas de 64 bits multiarquitectura |
$ export CC="gcc -m32" CXX="g++ -m32"
|
Establecer
la variable de entorno de arquitectura de procesador requerida en
sistemas de 64 bits multiarquitectura basados en el CLFS |
$ export USE_ARCH=32
|
Parámetros adicionales para la versión de 64 bits
Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura |
$ export
LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64" |
Extracción
$ tar Jxvf isl-0.26.tar.xz
$ cd isl-0.26 |
Configuración de la versión de 32 bits
$ mkdir build32; cd build32
$ ../configure --prefix=/usr
|
Explicación de los
comandos
--prefix=/usr
: Instala la librería en el directorio principal /usr.
Compilación
Parámetros de compilación opcionales
Instalación
como root
$ su
# make install-strip
# install -dm755 /usr/share/gdb/auto-load/usr/lib
# mv /usr/lib/libisl.so.23.3.0-gdb.py /usr/share/gdb/auto-load/usr/lib
# ldconfig -v
|
Configuración de la versión de 64 bits
$ mkdir build64; cd build64
$ ../configure --prefix=/usr --libdir=/usr/lib64
|
Explicación de los
comandos
--prefix=/usr
: Instala la librería en el directorio principal /usr.
--libdir=/usr/lib64 : Instala la librería en /usr/lib64, en sistemas de 64 bits multiarquitectura. La ubicación y el nombre de este
directorio, puede variar en función de la distribución que
cada usuario use.
Compilación
Parámetros de compilación opcionales
Instalación
como root
$ su
# make install-strip
# install -dm755 /usr/share/gdb/auto-load/usr/lib64
# mv /usr/lib64/libisl.so.23.3.0-gdb.py /usr/share/gdb/auto-load/usr/lib64
# ldconfig -v
|
Estadísticas de Compilación e Instalación de ISL
Estadísticas de Compilación e Instalación de ISL |
CPU |
AMD Ryzen 5 5500 |
MHz |
3600 (BoostMax=4457) |
RAM |
32 GB |
Sistema de archivos |
XFS |
Versión del Kernel |
6.8.9-ml-ml SMP PREEMPT x86_64 |
Modo de frecuencia de la CPU |
powersave (balance performance) |
Planificador de CPU |
BMQ |
Versión de Glibc |
2.39 |
Enlazador dinámico |
GNU gold (Binutils 2.42) 1.16 |
Compilador |
GCC 13.2.0 |
Parámetros de optimización de la versión de 32 bits |
-03 -march=i686 -mtune=pentium4 -ftree-loop-linear -floop-strip-mine -floop-block |
Parámetros de optimización de la versión de 64 bits |
-03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block |
Parámetros de compilación |
-j12 |
Tiempo de compilación |
28" |
Archivos instalados |
72 |
|
Enlaces simbólicos creados |
4 |
|
Ocupación de espacio en disco |
15,9 MB |
Desinstalación
como root
1)
MODO TRADICIONAL
En el directorio de compilación
ejecutamos el siguiente comando:
2)
MODO MANUALINUX
isl-0.26-scripts.tar.gz
$ su
# tar zxvf isl-0.26-scripts.tar.gz
# cd isl-0.26-scripts
# ./Desinstalar_isl-0.26 |
Copia de Seguridad
como root
$ su
# tar zxvf isl-0.26-scripts.tar.gz
# cd isl-0.26-scripts
# ./Respaldar_isl-0.26 |
Restaurar la Copia de
Seguridad
como root
$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_isl-0.26
|
Enlaces
https://gmplib.org >> La web de GMP.
http://www.mpfr.org >> La web de MPFR.
http://www.multiprecision.org >> La web de MPC.
https://libisl.sourceforge.io >> La web de ISL.
Instalar GCC desde cero >> El manual de instalación de GCC.
|