blob: 193a844319c25b5a6d2ab3cf26091d9555b7c600 [file] [log] [blame]
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
+ Homepage:
https://www.gnu.org/software/autoconf/
+ You also need to create symbolic links
autoconf-2.69 -> autoconf
autoheader-2.69 -> autoheader
* 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.