X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=doc%2Frelocatable-maint.texi;h=58160cf7c7e4e79c8c98aba110f24eb4fa617c7b;hb=c1118d1ccfa785a0f3bbfc7316bde06c938ade8b;hp=86e6fa0afe3ae3b60ec3b7bcfb7a35715cb12379;hpb=a0bdb062d720c5d3092e4974d0d31a71df302fb4;p=gnulib.git diff --git a/doc/relocatable-maint.texi b/doc/relocatable-maint.texi index 86e6fa0af..58160cf7c 100644 --- a/doc/relocatable-maint.texi +++ b/doc/relocatable-maint.texi @@ -15,7 +15,7 @@ privileges to install a binary package, and prevents installing two different versions of the same binary package. A relocatable program can be moved or copied to a different location -on the filesystem. It is possible to make symlinks to the installed +on the file system. It is possible to make symlinks to the installed and moved programs, and invoke them through the symlink. It is possible to do the same thing with a hard link @emph{only} if the hard link file is in the same directory as the real program. @@ -89,6 +89,27 @@ bindtextdomain (PACKAGE, relocate (LOCALEDIR)); The prototype for this function is in @file{relocatable.h}. @item +The @code{set_program_name} function can also configure some +additional libraries to relocate files that they access, by defining +corresponding C preprocessor symbols to 1. The libraries for which +this is supported and the corresponding preprocessor symbols are: + +@table @asis +@item libcharset +@code{DEPENDS_ON_LIBCHARSET} + +@item libiconv +@code{DEPENDS_ON_LIBICONV} + +@item libintl +@code{DEPENDS_ON_LIBINTL} +@end table + +Defining the symbol for a library makes every program in the package +depend on that library, whether the program really uses the library or +not, so this feature should be used with some caution. + +@item If your package installs shell scripts, also import the @code{relocatable-script} module. Then, near the beginning of each shell script that your package installs, add the following: @@ -125,7 +146,7 @@ endif @end example @item -You may also need to add one or two variable assignments to your +You may also need to add a couple of variable assignments to your @file{configure.ac}. If your package (or any package you rely on, e.g.@: gettext-runtime)