All you need to know when hacking (modifying) GNU libiconv or when building
it off the Git repository.


Requirements
============

You will need reasonably recent versions of the build tools:

  * A C compiler. Such as GNU GCC.
    + Homepage:
      https://gcc.gnu.org/

  * GNU automake 1.16.x
    + Homepage:
      https://www.gnu.org/software/automake/

  * GNU autoconf 2.69 or newer
    + Homepage:
      https://www.gnu.org/software/autoconf/

  * GNU m4
    + Homepage:
      https://www.gnu.org/software/m4/

  * GNU gperf
    + Homepage:
      https://www.gnu.org/software/gperf/

  * GNU groff 1.17 or newer
    + Homepage:
      https://www.gnu.org/software/groff/

  * Perl
    + Homepage:
      https://www.perl.org/

  * Either an internet connection or a recent copy of GNU gnulib.
    + Homepage:
      https://www.gnu.org/software/gnulib/

And, of course, the packages listed in the DEPENDENCIES file.


Building off the Git repository
===============================

Access to the Git repository is described at
https://savannah.gnu.org/git/?group=libiconv .

After fetching the sources from the Git repository, peek at the comments in
autogen.sh, then run
  ./autopull.sh
  ./autogen.sh
Then you can proceed with "./configure" as usual.

Each time you want to update the source, do not only "git pull".  Instead do
  git pull && ./autopull.sh
  ./autogen.sh


Adding new encodings
====================

For an indication which encodings are acceptable in the official version of
GNU libiconv, take a look at NOTES.

For an indication which files need to be modified when adding a new encoding,
look for example at the 2007-05-25 ChangeLog entry for RK1048.  The lib/*.h
file for an encoding is usually generated by one of the tools in the tools/
directory.  All you need to provide is the conversion table in the format of
the many *.TXT files.
