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

marcomaggi/vicare-expat

Repository files navigation

			      Vicare/Expat
			      ============


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 Expat C language library,  an XML parser library.  Expat must be
compiled to handle UTF-8 strings.

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

  This package makes use of the GNU Autotools.


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

Copyright (c) 2012, 2013, 2015 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/Expat  make sure to have  a correctly installed
Expat library and Vicare Scheme.

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

   $ cd vicare-expat-0.4.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-expat

  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-expat
   $ 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/Expat  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.

  Expat is  the creation of James  Clark, who's also given  us groff (an
nroff  look-alike),  Jade (an  implemention  of  ISO's DSSSL  stylesheet
language  for SGML),  XP (a  Java XML  parser package),  XT (a  Java XSL
engine).  James was also the technical  lead on the XML Working Group at
W3C that produced the XML specification.


B. Bugs
-------

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

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


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

The documentation of Vicare/Expat is available online:

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

the latest version of this package can be downloaded from:

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

development takes place at:

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

and as backup at:

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

the home page of the Vicare project is at:

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

Expat can be found here:

		    <http://expat.sourceforge.net/>

notice  that  unofficial  Expat   documentation  in  Texinfo  format  is
available in the Nimby-Doc project at:

		<http://github.com/marcomaggi/nimby-doc>

and also online:

	     <http://marcomaggi.github.io/docs/expat.html>

the XML 1.0 specification is available from:

		    <http://www.w3.org/TR/REC-xml/>

the recommendation on Namespaces in XML 1.0 is available from:

		    <http://www.w3.org/TR/xml-names/


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