mem_util
========

Utilidades de base que comparten Siru, Simusol y Tabular. No resuelve un
problema del dominio: junta las cuatro cosas que todos esos programas
necesitan y que de otro modo cada uno reimplementa.

  memoria    add_memory() hace crecer un vector reservado con malloc/realloc
             siguiendo el par (occupy, available), que es el patron que usan
             las tablas de Tabular. memory_vector(), dupstr().

  archivos   open_file(), file_exists(), filetype(), readfile(),
             readfileuno(), whereisdata(), finddir().

  rutas      abs2rel() y rel2abs(), conversion entre rutas absolutas y
             relativas. Vienen de Shigio Yamaguchi y Tama Communications,
             con su propia licencia BSD; ver src/LGPLabs2relrel2abspathconv.txt.

  fechas     datetime(), julian_day(), ymd(), baset(), integer(), mmod().

  cadenas    trim(), rep_char(), process_string().

Las declaraciones estan en mem.h, util.h, pathconv.h y time_mem.h.


Compilar e instalar
-------------------

Hace falta: autoconf, automake, libtool y pkg-config.

    autoreconf --install
    ./configure
    make
    sudo make install
    sudo ldconfig

`autoreconf` solo se corre la primera vez, cuando todavia no existe el
sistema de construccion. Despues, al cambiar un Makefile.am o configure.ac,
`make` regenera lo que corresponda.

Para instalar fuera del sistema, por ejemplo en el arbol de siru:

    ./configure --prefix=/home/usuario/svn/siru/local


Usarla desde otro proyecto
--------------------------

La instalacion deja un archivo pkg-config, asi que no hace falta escribir
rutas a mano. Desde autotools:

    PKG_CHECK_MODULES([MEM_UTIL], [mem_util])

y en el Makefile.am del programa:

    programa_CFLAGS = $(MEM_UTIL_CFLAGS)
    programa_LDADD  = $(MEM_UTIL_LIBS)

Desde un Makefile escrito a mano:

    CFLAGS  += $(shell pkg-config --cflags mem_util)
    LDLIBS  += $(shell pkg-config --libs mem_util)

Si la biblioteca se instalo en un prefijo propio, hay que indicarselo a
pkg-config:

    export PKG_CONFIG_PATH=/home/usuario/svn/siru/local/lib/pkgconfig


Autoria y licencia
------------------

Diego Saravia <dsa@unsa.edu.ar>, con la colaboracion de Dolores Alia.
GPL version 3 o posterior; ver COPYING. Las excepciones estan indicadas en
el archivo que corresponde: abs2rel.c, rel2abs.c y pathconv.h llevan la
licencia BSD de sus autores originales.
