Difference between revisions of "CompilingWesnoth/es"
(→Compilación de Wesnoth) |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{Translations}} |
{{Compiling Wesnoth}} | {{Compiling Wesnoth}} | ||
Line 61: | Line 61: | ||
Se puede obtener aquí: | Se puede obtener aquí: | ||
− | * | + | * [[Download/es | Descargas]] — Versiones publicadas oficialmente |
− | * [[WesnothRepository | | + | * [[WesnothRepository | Repositorio de Wesnoth]] — Versión en desarrollo del repositorio Git |
== Compilación == | == Compilación == |
Latest revision as of 03:28, 12 August 2017
[edit]Compiling Wesnoth |
Platforms
|
Contents
Compilación de Wesnoth
Esta página cubre la compilación en sistemas tipo Unix. Véase también:
- Compilación de Wesnoth en Windows
- Compilación de Wesnoth en FreeBSD
- Compilación de Wesnoth en Mac OS X
- Compilación de Wesnoth en Syllable
- Compilación de Wesnoth en SuSE - Para intalar en SuSE 10.0
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.
- libsdl >= 1.2.7 (http://www.libsdl.org/)
- Tenga en cuenta que hay un error conocido con la SDL 1.2.14 que puede ser resuelto degradando a la versión 1.2.13.
- sdl-image >= 1.2 (con soporte PNG) (http://www.libsdl.org/projects/SDL_image)
- sdl-mixer >= 1.2 (con soporte Vorbis) (http://www.libsdl.org/projects/SDL_mixer)
- sdl-net (http://www.libsdl.org/projects/SDL_net)
- sdl-ttf >= 2.0.8 (http://www.libsdl.org/projects/SDL_ttf)
- libintl (y otras bibliotecas presentes en el paquete gettext) (http://www.gnu.org/software/gettext/gettext.html)
- libboost >= 1.36.0 (http://www.boost.org/)
- Si la distribución dividiera boost en sus componentes, serían necesarios: boost_iostreams, boost_regex, boost_serialization, boost_asio, boost_program_options, boost_system, boost_thread.
- Es necesario soporte gzip en boost_iostreams.
- zlib (en teoría ya requerida por libsdl-image) (http://www.zlib.org/)
- pangocairo >= 1.14.8 (http://www.pango.org/)
- libfontconfig >= 2.4.1 (http://fontconfig.org/wiki/)
Las siguientes bibliotecas son opcionales.
- libdbus-1 (sólo requerida para notificaciones de escritorio) (http://www.freedesktop.org/wiki/Software/dbus)
- fribidi >= 0.10.9 (sólo requerida para idiomas RTL)
Para compilar el código es necesaria una herramienta de automatización, sea
- scons >= 0.98.3 (http://www.scons.org/), ó
- cmake >= 2.6 (http://www.cmake.org/)
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í:
- Descargas — Versiones publicadas oficialmente
- Repositorio de Wesnoth — Versión en desarrollo del repositorio Git
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/