Skip to content

DEV: Como compilar solo las toolchain

shantigilbert edited this page Jan 11, 2024 · 3 revisions

Guía original: https://github.com/EmuELEC/EmuELEC/wiki/DEV:-How-to-compile-toolchain-only

Aviso: Se recomienda que si te defiendes con el ingles, sigas la guía original.

¿Cómo ayudar/contribuir al desarrollo?

Muchas personas quieren ayudar, pero no lo intentan porque piensan que necesitan compilar toda la distribución. Pero bueno, ahora es hora de explicar como hacerlo sin compilar la distribución.

Primero seguimos los pasos de github, pero con algunos pequeños cambios. En este caso se compilara para Amlogic-ng y estas instrucciones son para Ubuntu, pero posiblemente funcione en cualquier distribución Linux e incluso en WSL2 (se probo en 18.04 y 20.04)

sudo apt update && sudo apt upgrade
sudo apt-get install gcc make git unzip wget xz-utils libsdl2-dev libsdl2-mixer-dev libfreeimage-dev libfreetype6-dev libcurl4-openssl-dev rapidjson-dev libasound2-dev libgl1-mesa-dev build-essential libboost-all-dev cmake fonts-droid-fallback libvlc-dev libvlccore-dev vlc-bin texinfo premake4 golang libssl-dev curl patchelf xmlstarlet default-jre xsltproc xfonts-utils python
git clone https://github.com/EmuELEC/EmuELEC.git EmuELEC    
cd EmuELEC  
git checkout dev
PROJECT=Amlogic-ng ARCH=aarch64 DISTRO=EmuELEC ./scripts/build toolchain

Esta toolchain SOLO compilara para Amlogic-NG.

Para Amlogic:
PROJECT=Amlogic ARCH=aarch64 DISTRO=EmuELEC ./scripts/build toolchain

Para OdroidGoAdvance:
PROJECT=Rockchip DEVICE=OdroidGoAdvance ARCH=aarch64 DISTRO=EmuELEC ./scripts/build toolchain

Para GameForce:
PROJECT=Rockchip DEVICE=GameForce ARCH=aarch64 DISTRO=EmuELEC ./scripts/build toolchain

NOTA: Puede reemplazar ./scripts/build por ./scripts/build_mt para compilar en modo multihilo que deberia compilar mas rapido.

Una vez que tenga las toolchain que tarda unos 15 minutos en compilarse, dependiendo de su ordenador, ya puede compilar los paquetes de forma individual.

Por ejemplo: PROJECT=Amlogic-ng ARCH=aarch64 DISTRO=EmuELEC ./scripts/build flycast

Dando como resultado el núcleo flycast que estará en la carpeta build.xxxxxxxxx/install_pkg/flycast-xxxxxxx

En este punto, ya podras crear su propio package.mk para cualquier nucleo/emulador/programa. Pero no entrare en detalle, ya que depende de lo que quieras compilar. Pero hay un README muy completo (en Ingles) sobre package.mk aquí: https://github.com/EmuELEC/EmuELEC/tree/master/packages

Una vez construido su paquete o package, puede copiarlo por red a /emuelec/bin/ o si es una lib a /emuelec/lib y mediante ssh ejecutar su nuevo binario o hacer un script para ejecutarlo. Estas rutas tienen una mayor prioridad en las variables ENV (PATH y LD_LIBRARY_PATH). Por lo que cualquier cosa que pongas, se ejecutara antes que en /usr/bin o /usr/lib, incluso Retroarch y EmulaStation.

Un ejemplo, digamos que compilo un núcleo para retroarch, copiamos el fichero xxx_libretro.so resultante (debe terminar en _libretro.so) a /tmp/core (o Cores en la carpeta compartida por red), luego editamos el es_systems.cfg, agregamos el núcleo correspondiente a la sección en la que deseamos que aparezca, o creamos una nueva para este núcleo, reiniciamos EmulaStation y ahora debería ejecutar ese núcleo directamente.

Getting Started

Specific Emulators

Ports (and getting them to work)

Other

Other Languages / Otros Idiomas

Español

Emuladores:

Ports:

Comprobaciones:

Desarrollo:

Otros:


русский (Russian)


Chinese

Clone this wiki locally