CompilingWesnoth/es

From The Battle for Wesnoth Wiki

[edit]Compiling Wesnoth

Platforms

Compilación de Wesnoth

Esta página cubre la compilación en sistemas tipo Unix. Véase también:

Forcemstr consiguió una compilación cruzada para Windows usando las herramientas libres de mingw32 bajo Linux.

Aquí hay documentación de otras tentativas de compilación cruzada: Compilación cruzada

Para obtener instrucciones detalladas y requisitos completos, consulte el archivo INSTALL en el código fuente.

Prerrequisitos

Es necesario un compilador de C++ (como gcc).

Las siguientes bibliotecas deben estar instaladas en el sistema. Muchas distribuciones Linux separan los paquetes de desarrollo de las bibliotecas. En ese caso, serían necesarios los paquetes de desarrollo para compilar Wesnoth (los paquetes de desarrollo incluyen los archivos de cabecera, los cuales son requeridos para compilar los paquetes desde las fuentes). También serían necesarios los paquetes de tiempo de ejecución para ejecutar Wesnoth.

Las siguientes bibliotecas son opcionales.


Para compilar el código es necesaria una herramienta de automatización, sea


En todas las distribuciones Linux basadas en Debian (como Ubuntu) debería ser suficiente con usar el siguiente comando (si la distribución contiene una versión reciente de Wesnoth, de lo contrario las dependencias pueden estar desactualizadas y será preciso instalar las respectivas dependencias a mano, i.e. si la distribución sólo contiene Wesnoth 1.6 no se obtendrán las dependencias para la versión 1.8):

sudo apt-get build-dep wesnoth

Para estar seguro de que Wesnoth 1.10 compila puede ser necesario ejecutar:

sudo apt-get install libboost1.40-all-dev


El siguiente comando instalará la mayor parte de los prerrequisitos para openSuSE 12.1 y wesnoth 1.10.1. Todas las dependencias están en el repositorio estándar OSS.

zypper install libSDL-devel gettext-runtime zlib-devel cairo-devel fontconfig-devel cmake make libSDL_mixer-devel libSDL_image-devel libSDL_net-devel libSDL_ttf-devel gettext-tools boost-devel libSDL_Pango-devel lua-devel dbus-1-devel

Código fuente

Se puede obtener aquí:

Compilación

La decisión definitiva sobre qué herramienta de automatización usar aún no está tomada -- se consideran tanto SCons como CMake -- pero, por el momento, ambas herramientas deberían funcionar.

Si algún control de configuración fallara, se deberían buscar los detalles en el correspondiente archivo de log (e.g. en build/config.log cuando se usa scons). Cuando se usa scons, un control puede fallar en falso debido a que la caché esté desactualizada. Si esto ocurriese, sería necesario usar --config=force para forzar la re-ejecución de todos los controles de configuración.

Compilando con SCons

Para compilar con SCons, simplemente ejecute

$ scons 

en el directorio raíz de Wesnoth. Funciona de forma equivalente a ejecutar "configure --enable-editor --enable-tools; make" con autotools, compilando como resultado todas las herramientas de la parte cliente. Para obtener más información acerca de las opciones de compilación ejecute

$ scons --help

Se proporcionan, mediante equivalencias, muchas opciones de configuración. También se puede ejecutar de forma sencilla un objetivo concreto como wesnothd.

Debido a que SCons comprueba qué elementos están desactualizados mediante checksums MD5 de los antecesores de los objetivos y su entorno de compilación (incluyendo banderas del compilador y enlazador), los "make clean" y "make uninstall" preliminares que se necesitaban por seguridad usando autotools ahora no son necesarios.

Compilando con CMake

CMake soporta lo que se denomina compilación "fuera del árbol". Consiste en compilar en una ruta completamente diferente de la que contiene el repositorio. Para hacer esto, tan sólo debe crear una carpeta donde compilar e invocar cmake con la ruta al repositorio. Por supuesto, también es posible invocar cmake desde la ruta del repositorio con un simple

$ cmake .

Para compilar wesnoth con cmake en un nuevo directorio denominado directorio_compilacion_cmake, se usarán los siguientes comandos (RUTA/AL/DIRECTORIO/RAIZ/DE/WESNOTH es el directorio base donde se ha hecho el checkout del repositorio o donde se ha descomprimido el archivo tar, ¡no el directorio src/ que contiene el código fuente!):

$ mkdir directorio_compilacion_cmake
$ cd directorio_compilacion_cmake
$ cmake RUTA/AL/DIRECTORIO/RAIZ/DE/WESNOTH

Funciona de forma equivalente a ejecutar "configure --enable-editor --enable-server" con autotools. Para disponer de una interfaz donde editar la configuración, ejecute

$ ccmake .

en el directorio directorio_compilacion_cmake. Cuando haya realizado los cambios deseados, pulse 'c' para configurar y 'g' para generar los ficheros y salir. En general, puede tanto agregar comandos a la llamada cmake RUTA/AL/DIRECTORIO/RAIZ/DE/WESNOTH como cambiar los parámetros mediante ccmake o cualquier interfaz gráfica para cmake. Se proporcionan, mediante equivalencias, muchas opciones de configuración.

En el segundo paso se compila el juego. Esto se hace de la misma forma que usando autotools

$ make

Esto por defecto ejecuta todos los objetivos que se hayan activado. Si se desea, también se puede ejecutar un objetivo concreto como wesnothd.

Debido a que CMake comprueba qué elementos están desactualizados, los "make clean" y "make uninstall" preliminares que se necesitaban por seguridad usando autotools ahora no son necesarios.

Instalación

Es necesario ser superusuario para tener los permisos para la instalación.

$ su
  Password: /*doesn't show*/

Una vez se tienen los permisos, se puede proceder a la instalación.

Instalación con SCons

En caso de usar SCons ejecute

# scons install

Instalación con CMake

En caso de usar CMake la instalación se lleva a cabo de la misma forma que usando autotools. Con la cuenta de administrador (ver arriba), ejecute

# make install

Ejecutando el juego sin instalarlo

Después de la compilación también es posible ejecutar el juego sin instalarlo. Todo lo que debe hacer es ejecutar el binario generado proporcionándole la ruta a la localización de los datos como argumento. Tal que así:

$ ./wesnoth .

O, si se ha compilado fuera del directorio dónde se ha almacenado el repositorio o se ha descomprimido el archivo tar (e.g. asumiremos que este directorio se corresponde con ../wesnoth-1.8):

$ ./wesnoth ../wesnoth-1.8/

Véase también

This page was last edited on 12 August 2017, at 03:28.