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:
- - strict callback-based parser written in C (using lex/yacc)
+ - 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).
- supports the Gedcom 5.5 standard fully
- 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
- specific parsing of other special values
- compatibility with other genealogy programs
- older/newer Gedcom standards ?
+ - modifying data
+ - writing GEDML files
+ - C++ object model
- ...
For more information, refer to the documentation in the doc subdirectory,
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.
-To build from sources, you'll also need:
+ 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 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:
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