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


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


  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 <>

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
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 <>.

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

  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

notice  that  ""  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

  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:


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


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


  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


C. Resources

The documentation of Vicare/Expat is available online:


the latest version of this package can be downloaded from:


development takes place at:


and as backup at:


the home page of the Vicare project is at:


Expat can be found here:


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


and also online:


the XML 1.0 specification is available from:


the recommendation on Namespaces in XML 1.0 is available from:


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