Skip to content
This repository has been archived by the owner on Jan 9, 2019. It is now read-only.

marcomaggi/vicare-cityhash

Repository files navigation

			    Vicare/CityHash
			    ===============


Topics
------

  1. Introduction
  2. License
  3. Install
  4. Usage
  A. Credits
  B. Bugs
  C. Resources


1. Introduction
---------------

This package  is a  distribution of  C and  Scheme libraries  for Vicare
Scheme, an  R6RS compliant  Scheme implementation; it  provides bindings
for the Cityhash C++ language  library, which implements a hash function
for strings.

  The last  time the author  bothered to  update this paragraph,  he had
tested CityHash version 1.1.1.

  This package makes use of the GNU Autotools.


2. License
----------

Copyright (c) 2012, 2013, 2015, 2017 Marco Maggi
 <marco.maggi-ipsu@poste.it>

This program is free software: you  can redistribute it and/or modify it
under the  terms of the GNU  General Public License as  published by the
Free Software Foundation,  either version 3 of the License,  or (at your
option) any later version.

This program  is distributed  in the  hope that it  will be  useful, but
WITHOUT   ANY   WARRANTY;  without   even   the   implied  warranty   of
MERCHANTABILITY  or  FITNESS FOR  A  PARTICULAR  PURPOSE.  See  the  GNU
General Public License for more details.

You should have received a copy  of the GNU General Public License along
with this program.  If not, see <http://www.gnu.org/licenses/>.


3. Install
----------

Before  installing  Vicare/Cityhash  make   sure  to  have  a  correctly
installed Cityhash library and Vicare Scheme.

  To  install Vicare/Cityhash  from a  proper release  tarball, we  must
unpack the archive then do:

   $ cd vicare-cityhash-3.0.0
   $ mkdir build
   $ cd build
   $ ../configure
   $ make
   $ make check
   $ make install

notice  that  the  "configure"  script  is  prepared  to  enable  shared
libraries  and  disable static  libraries:  this  must not  be  changed,
because  the package  is  meant to  install  a C  shared  library to  be
dynamically loaded.

  The Makefile is designed to allow parallel builds, so we can do:

   $ make -j4 all && make -j4 check

which,  on  a  4-core  CPU,   should  speed  up  building  and  checking
significantly.

  To test what a rule will do use the "-n" option; example:

    $ make install -n

  The "Makefile" supports the  "DESTDIR" environment variable to install
the files under a temporary location; example:

    $ make install DESTDIR=/tmp/vicare-cityhash

  If, instead,  we have checked out  a revision from the  repository, we
will have  to first build the  infrastructure running a script  from the
top source directory:

   $ cd vicare-cityhash
   $ sh autogen.sh

notice  that  "autogen.sh"  will   run  the  programs  "autoreconf"  and
"libtoolize"; the  latter is  selected through the  environment variable
"LIBTOOLIZE",  whose  value  can  be  customised;  for  example  to  run
"glibtoolize" rather than "libtoolize" we do:

   $ LIBTOOLIZE=glibtoolize sh autogen.sh

  After this the  procedure is the same  as the one for  building from a
proper release tarball, but we have to enable maintainer mode:

    $ ../configure --enable-maintainer-mode [options]
    $ make
    $ make check
    $ make install

  Libraries are installed under the directory:

			$(libdir)/vicare-scheme

on 32-bit platforms we should arrange such library to be:

		      $(prefix)/lib/vicare-scheme

on 64-bit platforms we should arrange such library to be:

		     $(prefix)/lib64/vicare-scheme

  The variable VFLAGS is available  to the user when running "configure"
and "make" to add command line options to the execution of "vicare" when
compiling libraries and running tests; for example:

   $ make VFLAGS="-g -O2 --option print-loaded-libraries"


4. Usage
--------

Read the documentation.


A. Credits
----------

Vicare/CityHash was  written by Marco  Maggi.  Vicare Scheme is  an R6RS
compliant  fork  of  Ikarus  Scheme;  originally  created  by  Abdulaziz
Ghuloum, it is now maintained by Marco Maggi.

  CityHash was created at Google by Geoff Pike and Jyrki Alakuijala.


B. Bugs
-------

Bug  reports are  appreciated.  Register  issues at  the Vicare/CityHash
issue tracker:

	 <http://github.com/marcomaggi/vicare-cityhash/issues>


C. Resources
------------

The documentation of Vicare/CityHash is available online:

	<http://marcomaggi.github.io/docs/vicare-cityhash.html>

the latest version of this package can be downloaded from:

      <https://bitbucket.org/marcomaggi/vicare-cityhash/downloads>

development takes place at:

	    <http://github.com/marcomaggi/vicare-cityhash/>

and as backup at:

	  <https://bitbucket.org/marcomaggi/vicare-cityhash/>

the home page of the Vicare project is at:

	       <http://marcomaggi.github.io/vicare.html>

CityHash can be found here:

		  <http://code.google.com/p/cityhash/>


### end of file
# Local Variables:
# mode: text
# coding: utf-8-unix
# fill-column: 72
# paragraph-start: "*"
# End: