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 ./gitsub.sh pull ./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 && ./gitsub.sh pull ./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.