gettext: Flat and Non-Flat

 
 13.1 Flat or Non-Flat Directory Structures
 ==========================================
 
    Some free software packages are distributed as ‘tar’ files which
 unpack in a single directory, these are said to be “flat” distributions.
 Other free software packages have a one level hierarchy of
 subdirectories, using for example a subdirectory named ‘doc/’ for the
 Texinfo manual and man pages, another called ‘lib/’ for holding
 functions meant to replace or complement C libraries, and a subdirectory
 ‘src/’ for holding the proper sources for the package.  These other
 distributions are said to be “non-flat”.
 
    We cannot say much about flat distributions.  A flat directory
 structure has the disadvantage of increasing the difficulty of updating
 to a new version of GNU ‘gettext’.  Also, if you have many PO files,
 this could somewhat pollute your single directory.  Also, GNU
 ‘gettext’’s libintl sources consist of C sources, shell scripts, ‘sed’
 scripts and complicated Makefile rules, which don’t fit well into an
 existing flat structure.  For these reasons, we recommend to use
 non-flat approach in this case as well.
 
    Maybe because GNU ‘gettext’ itself has a non-flat structure, we have
 more experience with this approach, and this is what will be described
 in the remaining of this chapter.  Some maintainers might use this as an
 opportunity to unflatten their package structure.