     ______   ___    ___
    /\  _  \ /\_ \  /\_ \
    \ \ \L\ \\//\ \ \//\ \      __     __   _ __   ___ 
     \ \  __ \ \ \ \  \ \ \   /'__`\ /'_ `\/\`'__\/ __`\
      \ \ \/\ \ \_\ \_ \_\ \_/\  __//\ \L\ \ \ \//\ \L\ \
       \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/
	\/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/
				       /\____/
				       \_/__/


	     Informacin especfica para Unix.

    Vase readme.txt para un punto de vista ms general.

   Lea tambin en docs/build/linux.txt informacin especfica para Linux.



====================================
============ Notas Unix ============
====================================

   En Linux hay dos drivers de sistema diferentes -- uno para ejecutar bajo
   X, y otro cuando no hay X. Este fichero describe la versin X, que en
   teora debera ser totalmente portable a cualquier variante Unix. Para ms
   informacin sobre las rutinas de consola especficas de Linux, lea
   docs/build/linux.txt.



===========================================
============ Software required ============
===========================================

   Dado que est usando un Sistema Operativo Real, hay una gran posibilidad
   de que ya tenga todas las herramientas de desarrollo necesarias, al menos
   para compilar e instalar la librera. No obstante, podra necesitar
   autoconf si necesita hacer cambios que requieran regenerar el script de
   configuracin (configure).



============================================
============ Instalando Allegro ============
============================================

   Si ha descargado Allegro en formato .tar Unix, ya estar todo configurado
   para funcionar. Si descarg la versin .zip para DOS o Windows, tendr que
   convertir todo al formato Unix antes de poder empezar, ejecutando:

      chmod +x fix.sh
      ./fix.sh unix

   Desde aqu todo el proceso de instalacin sigue los patrones habituales
   de instalacin bajo Unix. Primero configure el software:

      ./configure

   Eso debera crear automticamente las dependencias.

   Ahora compile todo:

      make

   Y finalmente instlelo (como root -- lea ms abajo informacin sobre qu
   hacer si no puede ser root):

      su -c "make install"

   Puede que le interese instalar las pginas man:

      su -c "make install-man"

   Y quizs tambin la documentacin en formato info:

      su -c "make install-info"

   El script de configuracin tiene muchas opciones para cambiar las rutas
   de instalacin, decidiendo qu partes de la librera desea incluir o
   excluir, y especificando si desea crear la librera optimizada, para
   depurar, etc. Ejecute ./configure --help para obtener una lista de
   opciones. Las opciones realmente tiles son:

      --enable-static      - crea una librera de enlazado esttico
      --disable-shared     - desactiva la creacin de libreras dinmicas
      --enable-dbglib      - crea una librera con informacin para depurar
      --enable-dbgprog     - enlaza los programas de ejemplo con la librera
                             para depurar

   Estas opciones funcionan en combinaciones, por ejemplo, si usa
   --enable-static pero no --disable-shared, crear tanto la versin esttica
   de Allegro como la versin enlazada dinmicamente.

   Por defecto, Allegro se instalar probablemente en /usr/local dentro de su
   sistema de archivso. Si esto no ha sido configurado en su mquina, puede
   que tenga problemas cuando los programas que usen Allegro no sean capaces
   de encontrar la librera. Puede solucionar esto aadiendo "/usr/local/lib"
   a su fichero /etc/ld.so.conf, y ejecutando despus ldconfig.

   Si est compilando una versin CVS de Allegro, necesitar generar el
   script de configuracin:
   
      autoconf

   Tambin necesitar:
   
      make depend

   Para crear los ficheros de dependencia.
   


========================================
============ Usando Allegro ============
========================================

   Las opciones de enlazado de Allegro son bastante complicadas, ya que para
   versiones estticas de la librera, dependiendo de la configuracin, puede
   ser necesario inclur otras libreras (X, SVGAlib), aparte de la propia
   Allegro, y para todas las versiones de la librera hay dos partes -- una
   que es siempre esttica, y otra que a veces es enlazada dinmicamente.
   Para evitar que tenga que escribir los comandos de enlazado usted mismo,
   la instalacin rea un script, allegro-config, que imprimir la lnea de
   comando adecuada. Puede usar este script dentro de una sustitucin por
   comillas, por ejemplo:

      gcc mifichero.c -o miprograma `allegro-config --libs`

   O si desea compilar una versin para depurar de su programa, asumiendo que
   haya instalado la versin para depurar de Allegro:

      gcc mifichero.c -o miprograma `allegro-config --libs debug`

   Novatos del Unix, tomad nota de que eso son las comas `, no las
   habituales '!

   Tambin hay otros parmetros para imprimir el nmero de versin de Allegro
   o para especificar los directorios de instalacin. Ejecute allegro-config
   sin argumentos para ver la lista completa de opciones.

   No olvide que necesita usar la macro END_OF_MAIN() justo tras su funcin
   main()!



=========================================================
============ Compatibilidad binaria dinmica ============
=========================================================

   Allegro puede interactuar con muchas otras libreras -- en particular,
   varias libreras X y SVGAlib. Si enlaza estticamente con Allegro, su
   programa depender de todas estas libreras, por lo que tambin querr
   enlazar estticamente con ellas. Si enlaza dinmicamente con Allegro,
   si binario slo dependera de Allegro (y cosas como libc); en este caso su
   binario es portable con ms facilidad, pero depende mucho de cmo fue
   configurado Allegro.

   La forma ms sencilla de hacer su programa portable es distribuirlo como
   cdigo fuente. De este modo los usuarios pueden configurar Allegro a su
   gusto, y siempre acabarn usando el conjunto correcto de libreras para
   su sistema particular.

   Habiendo dicho esto, si activa el soporte de mdulos dinmicaos (por
   defecto), entonces debera tener pocos (o ningn) problemas.

   Nota de seguridad: asegrese de que los usuarios no puedan escribir en los
   directorios `/usr/local/lib/allegro/' o `/usr/lib/allegro/'. Allegro busca
   ah los mdulos que carga dinmicamente, y los carga segn estn indicados
   en el fichero `modules.lst' durante la iniciacin.

   Lea tambin el documento de compatibilidad ABI para ms informacin.



===================================================
============ Qu hacer si no es root? ============
===================================================

   Allegro puede ser instalado en un sistema donde no tenga privilegios de
   root. Usando la opcin estndar `--prefix' del script de configuracin
   puede modificar el directorio destino de la instalacin -- por ejemplo,
   puede escribir:

      ./configure --prefix=$HOME

   Sea cuidadoso, --prefix=~ funciona en bash pero no en tcsh -- es ms
   seguro usar $HOME si no est seguro.

   Los binarios sern instalados en el subdirectorio `bin' de su directorio
   de usuario, las libreras en `lib', etc. Ahora necesita configurar su
   sistema para que sepa dnde encontrar ciertas cosas, si esto no lo ha
   hecho ya. Quizs le interese aadir estos comandos a su .bash_profile o
   script de iniciacin similar. Si usa un intrprete de tipo csh, puede
   usar `setenv', no `export'.


   * Su PATH debe inclur al directorio `bin':

	export PATH=$PATH:$HOME/bin


   * Si est usando Allegro como librera dinmica, necesita indicarle al
     enlazador dinmico dnde encontrar las libreras de Allegro:

	export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lib


   * GCC necesita saber dnde encontrar los ficheros de cabecera y los
     ficheros de la librera:

	export C_INCLUDE_PATH=$C_INCLUDE_PATH:$HOME/include
	export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$HOME/include
	export LIBRARY_PATH=$LIBRARY_PATH:$HOME/lib


   (Nota: de hecho `allegro-config' puede evitarle este ltimo paso, si
   aparte de usarlo para enlazar tambin lo usa para compilar:

	gcc -c mijuego.c `allegro-config --cflags`
	gcc -o mijuego mijuego.o `allegro-config --libs`

   Pero es mejor activar tambin las variables de entorno. La mayora de las
   personas no se preocuparn de usar `allegro-config' al compilar.)


   Alternativamente, puede obtener los cambios de entorno requeridos de
   allegro-config, tecleando en la lnea de comando:

	allegro-config --env

   Puede concatenar la salida a su .bash_profile, que es casi lo mismo que
   aadir los comandos anteriores. Note que el propio `allegro-config' est
   en el directorio `bin' de la instalacin, as que se deber asegurar de
   que ese directorio est en su PATH antes de ejecutar `allegro-config' o
   indica la ruta exctamente, por ejemplo:

	~/bin/allegro-config --env >> ~/.bash_profile



=================================================
============ Notas sobre los drivers ============
=================================================

   * Sistema:
        Durante la iniciacin, Allegro intentar conectarse a un servidor X.
        Si no puede encontrar uno, se dar por vencido y en su lugar
        intentar usar un driver de sistema diferente (como el driver de
        Linux en consola). Esto significa que para ejecutar programas en X,
        deber lanzarlos desde una sesin X, o tendr que haber configrado
        previamente la variable de entorno DISPLAY para indicar qu servidor
        desea usar.

   * Grficos:
        Hay tres drivers grficos diferentes para X: GFX_XWINDOWS usa slo
        llamadas X estndar, mientras que GFX_XDGA y GFX_XDGA2 usan la
        estensin DGA de XFree86, que permite escribir directamente en la
        superficie de la pantalla. DGA es normalmente mucho ms rpido que
        el modo X estndar, pero necesitar permisos de superusuario y no
        funcionar de forma remota. GFX_XDGA usa la extensin DGA 1.0 que
        provee XFree86 3.3.x, y no producir programas que se comporten tan
        bien en modo ventana como los del driver GFX_XWINDOWS; ambos drivers
        DGA 1.0 y X pueden ejecutarse en ventana como a pantalla completa.
        GFX_XDGA2 usa el nuevo DGA 2.0 que viene con XFree86 4.0.x, y se
        ejecuta directamente a pantalla completa (siempre y cuando las X
        estn configuradas para soportar la resolucin solicitada), y adems
        usar aceleracin por hardware si est disponible.

        Si su programa solicita una profundidad de color diferente a la
        actual usada por X, Allegro emular la profundidad que solicit, as
        que su programa seguir funcionando, aunque un poco ms lento que si
        las profundidades de color coincidiesen. Para saber si est
        funcionando la emulacin, mire en el cambio gfx_driver-desc (que es
        mostrado en la mitad de la pantalla por el programa tests/test). Si
        dice "matching", los formatos de color son idnticos, y no se
        requiere conversin. Si dice "fast", algunas conversiones simples
        estn siendo ejecutadas, pero nada muy complejo. Si dice "slow",
        tendr problemas :-) Esto no es vlido para el driver DGA 2.0, el
        cual cambia el modo de vdeo a la resolucin y profundidad de color
        solicitadas.



==========================================
============ Notas sobre Irix ============
==========================================

   Si el compilador le escupe extraas lneas como las siguientes cuando
   intenta compilar su programa con Allegro:

	include/allegro/alcompat.h:59: conflicting types for `ceilf'
	/usr/include/math.h:311: previous declaration of `ceilf'
	include/allegro/alcompat.h:60: conflicting types for `floorf'
	/usr/include/math.h:333: previous declaration of `floorf'
	include/allegro/alcompat.h:63: conflicting types for `tanf'
	/usr/include/math.h:176: previous declaration of `tanf'
	include/allegro/alcompat.h:64: conflicting types for `acosf'
	/usr/include/math.h:106: previous declaration of `acosf'
	include/allegro/alcompat.h:65: conflicting types for `asinf'
	/usr/include/math.h:116: previous declaration of `asinf'

   entonces debera definir ALLEGRO_NO_FIX_ALIASES antes de la lnea
   #include <allegro.h>.

