More doxygen generation.
[gedcom-parse.git] / README
1 The Gedcom parser library (release @VERSION@)
2 -------------------------
3 The Gedcom parser library is a C library that provides an API to applications
4 to parse, process and write arbitrary genealogy files in the standard gedcom
5 format.
6
7 Its main features are:
8
9  - portable to any POSIX systems (libiconv is needed on systems that lack
10    glibc 2.2, see below)
11
12  - strict callback-based parser written in C (using lex/yacc), a C object
13    model is also available (compare to the difference between SAX and DOM
14    in XML).
15
16  - supports the Gedcom 5.5 standard fully
17
18  - supports the standard encoding formats (ASCII, ANSEL, UNICODE), but
19    extensible (via a configuration file) to other encoding formats; by
20    default ANSI is also supported.
21
22  - all strings passed from callbacks to the using program are in UTF-8 format
23
24  - internationalization of the error and warning messages
25
26  - specific parsing of date values to a calendar-neutral date system (Julian
27    days aka serial day numbers); the date parser can be called separately and
28    dates can be manipulated
29
30  - specific parsing and checking of cross-references
31
32  - specific parsing of age values
33
34  - support for writing Gedcom files (both in line-by-line format, or via the
35    Gedcom object model)
36
37  - "compatibility-mode" parsing, to allow for not-exactly-standard syntaxes
38    used by other genealogy programs; currently, compatibility is added for
39    (not necessarily complete):
40      - ftree
41      - Lifelines 3.0.2
42      - Personal Ancestral File (PAF), version 2, 4 and 5
43      - Family Origins
44      - EasyTree
45
46 NOTE:
47  - NO BACKWARD COMPATIBILITY is guaranteed for 0.x releases !
48
49 To do list:
50  - specific parsing of other special values
51  - compatibility with other genealogy programs
52  - older/newer Gedcom standards ?
53  - writing GEDML files
54  - C++ object model
55  - ...
56
57 For more information, refer to the documentation in the doc subdirectory,
58 or to the SourceForge project web site and summary page:
59   http://gedcom-parse.sourceforge.net
60   http://sourceforge.net/projects/gedcom-parse
61
62 Also, have a look at the 'Genes' program, from which this library is a
63 spin-off, and which uses this library:
64   http://genes.sourceforge.net
65   http://sourceforge.net/projects/genes
66
67
68 Requirements:
69 ------------
70 For using the library:
71  - either glibc 2.2 or higher, or libiconv
72
73 Note:
74
75   The official libiconv package doesn't have ANSEL support, and is not
76   extensible except by modifying its source code.
77
78   There is a modified libiconv package available on the SourceForge project
79   page, which is called 'libiconv-gedcom-1.8.x', based on libiconv 1.8.
80   Install this if you need ANSEL support and you don't have glibc 2.2.
81
82 To compile the package, you'll need:
83  - gcc
84
85 To compile from the CVS sources, you'll need in addition:
86  - autoconf
87  - automake
88  - flex
89  - bison (won't work with plain yacc)
90  - perl
91
92
93 Installation:
94 ------------
95 This is simply:
96
97   ./configure
98   make
99   make install
100
101 If libiconv is not automatically found, you can give its path to configure,
102 for example, if the library lives in /home/mydir/lib:
103
104   ./configure --with-libiconv-prefix=/home/mydir
105
106 You can also run some tests via:
107   make check
108
109
110 ###############################################################################
111 # $Id$
112 # $Name$