AVISO: El siguiente tutorial no es para nenazas. Si ya es difícil compilar una toolchain, ahora le añadimos un doble mortal al utlizar MinGW. Estáis avisados :)
IMPORTANTE: Tutorial sobre GCC 4.5.2 usando "sh-elf" y "arm-elf". Si queréis usar KOS 2.X, necesitaréis un GCC > 4.7.0, y debéis cambiar "arm-elf" por "arm-eabi" (en el Makefile y environ.sh del KOS).
Tutorial prestado, traducido y modificado con el permiso de DreamcastTM. Actualizado a Julio/2011
MinGW es una implementación de los compiladores GCC para la plataforma Win32, que permite migrar la capacidad de este compilador en entornos Windows. No confundir con Cygwin, ya que este último tiene por misión "emular" todo un entorno Linux, mientras que MinGW no. En resumen, un
entorno minimalista.
¿Ventajas? Su tamaño de instalación es muchísimo menor que el de Cygwin. Comparativa:
CYGWIN (sólo sistema base):
~ 760 MB
~ 33,500 ficheros
MINGW (base, paquetes, kos + kos-ports (compilado), toolchain (sh and arm compilados)):
~ 790 MB
~ 10,500 ficheros
Nota 1: Descargando y configurando suele tardar una hora o menos (según tu experiencia). Compilar la toolchain y KOS lleva unas cuantas horas. Antes de empezar asegúrate que tiene al menos 1.5 - 2GB de espacio libre en el disco duro.
Nota 2: It has been brought to my attention that the MinGW installer may sometimes report that some packages were unable to be downloaded. If this is the case, try reinstalling MinGW before continuing since the missing packages may contain dependencies required to build the toolchain.
¡¡Empezamos ya!!
Paquete MinGW (fixed): http://www.dreamcast.es/descargas/des...-fixed.zip
MinGW instalación / configuración
1) Descargar MinGW-get-inst:
http://sourceforge.net/projects/mingw/ y ejecutarlo.
* seleccione "download latest repository catalogues"
* establecer el directorio de instalación en "c:\MinGW"
* casillas a marcar: "C Compiler", "C++ Compiler", "Objc Compiler" y "msys basic system"
2) Una vez finalizada la descarga, vaya a "c:\ MinGW \ MSYS \ 1.0 \" y crea una carpeta llamada "kos".
3) Del fichero "
mingwpack", descomprime "patch.exe" en "c:\MinGW\bin"
Instalando KOS
1) Vía GIT, descárgate la última revisión de KOS:
En el directorio "kos":
git clone git://git.code.sf.net/p/cadcdev/kallistios kos
git clone git://git.code.sf.net/p/cadcdev/kos-ports kos-ports
Tendrás la siguiente estructura: "kos/kos" y "kos/kos-ports".
2) Coloque "environ.sh" de "
mingwpack" en el directorio "kos/kos" (sobrescribe el fichero existente).
Prerequisitos de la Toolchain
1) Navega al directorio "kos/kos/utils/dc-chain". Extrae el Makefile y reemplaza el fichero existente en el directorio dc-chain.
2) Para compilar GCC, son necesarios añadir manualmente unos paquetes auxiliares. En un entorno Cygwin o Unix, estos ya vienen por defecto, pero no en MinGW:
2.1) Vaya aquí:
http://gcc.gnu.org/mirrors.html y descargue los siguientes paquetes y descomprimalos a una carpeta nueva llamada "gcc-4.5.2", dentro de "dc-chain " (si se utiliza WinRAR, haga clic derecho sobre cada archivo y seleccionar "extraer los archivos" y establecer la ruta de destino en "c:\MinGW\MSYS\1.0\kos\kos\utils\dc-chain"):
* gcc-core-4.5.2.tar.bz2
* gcc-objc-4.5.2.tar.bz2
* gcc-g + +-4.5.2.tar.bz2
2.2) Vaya aquí:
http://www.mpfr.org/mpfr-2.4.2/ y descargue
MPFR-2.4.2.tar.bz2 (3.0.0 actualmente no funciona)
2.3) Vaya aquí:
http://www.multiprecision.org/index.p...e=download y descargue
mpc-0.8.2.tar.tar
2.4) Vaya aquí:
http://gmplib.org/ y descargue
gmp-5.0.2.tar.bz2
2.5) Extrae cada uno de estos tres archivos al directorio gcc-4.5.2. Cambiar el nombre de cada carpeta con sólo el texto antes de versión (por ejemplo: MPFR-2.4.2 sería MPFR).
3) Vaya aquí:
http://ftp.gnu.org/gnu/binutils y descargue
binutils 2.21.tar.bz2. Extraerlo al directorio "dc-chain" (comprueba el nombre de la carpeta es "binutils-2.21").
4) Vaya aquí:
ftp://sources.redhat.com/pub/newlib/i...index.html y descargue
newlib-1.19.0.tar.gz. Extraerlo al directorio "dc-chain" (comprueba el nombre de la carpeta es "newlib-1.19.0").
Cuando haya terminado, la estructura debería tener este aspecto:
* /dc-chain/gcc-4.5.2/
* /dc-chain/gcc-4.5.2/mpfr/
* /dc-chain/gcc-4.5.2/mpc/
* /dc-chain/gcc-4.5.2/gmp/
* /dc-chain/binutils-2.21/
* /dc-chain/newlib-1.19.0/
Compilar la Toolchain
Accede al entorno MinGW (desde el Menú Inicio -> MinGW Shell). Cambia de directorio:
cd /usr/kos/kos/utils/dc-chain
Simplemente, escribe "make" y pulsa enter para empezar la fiesta! Si ves que termina el proceso sin ningún error, felicicades!! Ya tienes tu toolchain compilada. Ahora ya sólo te queda compilar KOS y KOS-PORTS.
Compilar KOS
(Antes de empezar, pon los ficheros de la carpeta "vqenc" (en "mingwpack") en el directorio "/kos/kos/utils/vqenc" . Pon los ficheros "genromfs.exe" y "cygwin1.dll" en el directorio "genromfs".)
Ejecuta la siguiente lista de instrucciones:
cd ../../
source environ.sh
ln-s /mingw/bin/gcc.exe /mingw/bin/cc.exe
make
Con esto, hemos cargado el entorno KOS en MinGW, y ya de paso estamos compilando nuestro KOS.
Compilar KOS-PORTS
Una vez KOS ya esté compilado, toca compilar el resto de librerías:
cd ../kos-ports
sh utils/build-all.sh
Nota final
Si no queremos que cada vez que abramos MinGW, tengamos que ir al directorio kos/kos y ejecutar "source environ.sh":
Ir a "c:\mingw\msys\1.0\etc" y editar el fichero "profiles" (Notepad mismo). Al final, añadid esta dos líneas:
cd /usr/kos/kos
source environ.sh