Tweak exported symbols when --enable-relocatable is used.
[libiconv.git] / HACKING
blob82e5a2c8f146b88632b43e8e33e0d75ced7c96f2
1 All you need to know when hacking (modifying) GNU libiconv or when building
2 it off the Git repository.
5 Requirements
6 ============
8 You will need reasonably recent versions of the build tools:
10   * A C compiler. Such as GNU GCC.
11     + Homepage:
12       https://gcc.gnu.org/
14   * GNU automake
15     + Homepage:
16       https://www.gnu.org/software/automake/
18   * GNU autoconf
19     + Homepage:
20       https://www.gnu.org/software/autoconf/
22   * GNU m4
23     + Homepage:
24       https://www.gnu.org/software/m4/
26   * GNU gperf
27     + Homepage:
28       https://www.gnu.org/software/gperf/
30   * GNU groff 1.17 or newer
31     + Homepage:
32       https://www.gnu.org/software/groff/
34   * Perl
35     + Homepage:
36       https://www.perl.org/
38   * Either an internet connection or a recent copy of GNU gnulib.
39     + Homepage:
40       https://www.gnu.org/software/gnulib/
42 And, of course, the packages listed in the DEPENDENCIES file.
45 Building off the Git repository
46 ===============================
48 Access to the Git repository is described at
49 https://savannah.gnu.org/git/?group=libiconv .
51 After fetching the sources from the Git repository, peek at the comments in
52 autogen.sh, then run
53   ./gitsub.sh pull
54   ./autogen.sh
55 Then you can proceed with "./configure" as usual.
57 Each time you want to update the source, do not only "git pull".  Instead do
58   git pull && ./gitsub.sh pull
59   ./autogen.sh
62 Adding new encodings
63 ====================
65 For an indication which encodings are acceptable in the official version of
66 GNU libiconv, take a look at NOTES.
68 For an indication which files need to be modified when adding a new encoding,
69 look for example at the 2007-05-25 ChangeLog entry for RK1048.  The lib/*.h
70 file for an encoding is usually generated by one of the tools in the tools/
71 directory.  All you need to provide is the conversion table in the format of
72 the many *.TXT files.