All you need to know when hacking (modifying) GNU libtextstyle or when building it off the git repository. Requirements ============ You will need reasonably recent versions of the build tools: * A C compiler; on Cygwin or mingw also a C++ compiler. Such as GNU GCC. + Homepage: https://gcc.gnu.org/ * GNU automake 1.13 or newer + Homepage: https://www.gnu.org/software/automake/ * GNU autoconf + Homepage: https://www.gnu.org/software/autoconf/ * GNU m4 + Homepage: https://www.gnu.org/software/m4/ * GNU texinfo + Homepage: https://www.gnu.org/software/texinfo/ * Perl + Homepage: https://www.perl.org/ * TeX (for making the doc in .dvi, .ps or .pdf format) + Homepage: https://tug.org/teTeX/ * Either an internet connection or a recent copy of GNU gnulib. + Homepage: https://www.gnu.org/software/gnulib/ * GNU tar (for creating distributable tarballs) + Homepage: https://www.gnu.org/software/tar/ * GNU Wget + Homepage: https://www.gnu.org/software/wget/ 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=gettext After fetching the sources from the repository, go into the 'libtextstyle' directory, peek at the comments in autogen.sh, then run "./autogen.sh"; then you can proceed with "./configure" as usual. Submitting patches ================== Patches should be sent to bug-gettext@gnu.org, the bug/feature mailing list. You can subscribe to the mailing list, or see the list archives, by following links from https://savannah.gnu.org/mail/?group=gettext . To email a patch you can use a shell command like 'git format-patch -1' to create a file, and then attach the file to your email. Changes you commit should contain the log entries in the commit message. For the style of a ChangeLog entry, see the "Change Logs" section of the GNU coding standards: https://www.gnu.org/prep/standards/html_node/Change-Logs.html Testing ======= The unit tests don't cover much of the functionality. To test the output on various terminal emulators, use the --color=test option on the 'color-hello' or 'color-filter' program. To test the signal handling, use the 'color-filter' program: run yes | ./filter '.*' and exercise the various signals.