Implemented an encoding state.
[gedcom-parse.git] / README
diff --git a/README b/README
index 7791914a8460fe23651524048940ca65c615c5b0..43a43791ff8152af406e54aeeb05597897ce2c63 100644 (file)
--- a/README
+++ b/README
@@ -1,10 +1,14 @@
 The Gedcom parser library (release @VERSION@)
 -------------------------
 The Gedcom parser library is a C library that provides an API to applications
-to parse and process arbitrary genealogy files in the standard gedcom format.
+to parse, process and write arbitrary genealogy files in the standard gedcom
+format.
 
 Its main features are:
 
+ - portable to any POSIX systems (libiconv is needed on systems that lack
+   glibc 2.2, see below)
+
  - strict callback-based parser written in C (using lex/yacc), a C object
    model is also available (compare to the difference between SAX and DOM
    in XML).
@@ -20,12 +24,16 @@ Its main features are:
  - internationalization of the error and warning messages
 
  - specific parsing of date values to a calendar-neutral date system (Julian
-   days aka serial day numbers); the date parser can be called separately
+   days aka serial day numbers); the date parser can be called separately and
+   dates can be manipulated
 
  - specific parsing and checking of cross-references
 
  - specific parsing of age values
 
+ - support for writing Gedcom files (both in line-by-line format, or via the
+   Gedcom object model)
+
  - "compatibility-mode" parsing, to allow for not-exactly-standard syntaxes
    used by other genealogy programs; currently, compatibility is added for:
      - ftree
@@ -39,7 +47,7 @@ To do list:
  - compatibility with other genealogy programs
  - older/newer Gedcom standards ?
  - modifying data
- - writing GEDCOM files, GEDML files
+ - writing GEDML files
  - C++ object model
  - ...
 
@@ -56,18 +64,27 @@ spin-off, and which uses this library:
 
 Requirements:
 ------------
- - glibc 2.2 or higher
+For using the library:
+ - either glibc 2.2 or higher, or libiconv
+
+Note:
+
+  The official libiconv package doesn't have ANSEL support, and is not
+  extensible except by modifying its source code.
+
+  There is a modified libiconv package available on the SourceForge project
+  page, which is called 'libiconv-gedcom-1.8.x', based on libiconv 1.8.
+  Install this if you need ANSEL support and you don't have glibc 2.2.
 
-To build from sources, you'll also need:
+To compile the package, you'll need:
  - gcc
+
+To compile from the CVS sources, you'll need in addition:
  - autoconf
  - automake
  - flex
  - bison (won't work with plain yacc)
-
-It is possible that it also runs on other platforms than Linux (and that the
-glibc version requirement can be loosened), however, I can only support Linux
-because that is the only platform I have...
+ - perl
 
 
 Installation:
@@ -78,6 +95,11 @@ This is simply:
   make
   make install
 
+If libiconv is not automatically found, you can give its path to configure,
+for example, if the library lives in /home/mydir/lib:
+
+  ./configure --with-libiconv-prefix=/home/mydir
+
 You can also run some tests via:
   make check