sys_times, sys_utsname: use include_next
[gnulib.git] / doc / relocatable-maint.texi
index da57402..7c24b28 100644 (file)
@@ -15,22 +15,22 @@ 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
 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.
 
 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.
 
-The @code{relocatable} module aims to ease the process of making a GNU
-program relocatable.  It helps overcome two obstacles.  First, it aids
+The @code{relocatable-prog} module aims to ease the process of making a
+GNU program relocatable.  It helps overcome two obstacles.  First, it aids
 with relocating the hard-coded references to absolute file names that
 GNU programs often contain.  These references must be fixed up at
 runtime if a program is to be successfully relocated.  The
 with relocating the hard-coded references to absolute file names that
 GNU programs often contain.  These references must be fixed up at
 runtime if a program is to be successfully relocated.  The
-@code{relocatable} module provides a function @code{relocate} that
+@code{relocatable-prog} module provides a function @code{relocate} that
 does this job.
 
 Second, the loader must be able to find shared libraries linked to
 relocatable executables or referenced by other shared libraries linked
 does this job.
 
 Second, the loader must be able to find shared libraries linked to
 relocatable executables or referenced by other shared libraries linked
-to relocatable executables.  The @code{relocatable} module helps out
+to relocatable executables.  The @code{relocatable-prog} module helps out
 here in a platform-specific way:
 
 @itemize
 here in a platform-specific way:
 
 @itemize
@@ -46,7 +46,7 @@ sets the environment variable that controls shared library searching
 
 This approach does not always work.  On OpenBSD and OpenServer,
 prereleases of Libtool 1.5 put absolute file names of libraries in
 
 This approach does not always work.  On OpenBSD and OpenServer,
 prereleases of Libtool 1.5 put absolute file names of libraries in
-executables, which prevents searching any other locations. 
+executables, which prevents searching any other locations.
 
 @item
 On Windows, the executable's own directory is searched for libraries,
 
 @item
 On Windows, the executable's own directory is searched for libraries,
@@ -58,7 +58,7 @@ You can make your program relocatable by following these steps:
 
 @enumerate
 @item
 
 @enumerate
 @item
-Import the @code{relocatable} module.
+Import the @code{relocatable-prog} module.
 
 @item
 In every program, add to @code{main} as the first statement (even
 
 @item
 In every program, add to @code{main} as the first statement (even
@@ -82,7 +82,7 @@ bindtextdomain (PACKAGE, LOCALEDIR);
 @noindent
 becomes:
 
 @noindent
 becomes:
 
-@example 
+@example
 bindtextdomain (PACKAGE, relocate (LOCALEDIR));
 @end example
 
 bindtextdomain (PACKAGE, relocate (LOCALEDIR));
 @end example
 
@@ -102,8 +102,10 @@ if test "@@RELOCATABLE@@" = yes; then
   func_find_curr_installdir # determine curr_installdir
   func_find_prefixes
   # Relocate the directory variables that we use.
   func_find_curr_installdir # determine curr_installdir
   func_find_prefixes
   # Relocate the directory variables that we use.
-  gettext_dir=`echo "$gettext_dir/" | sed -e 
-"s%^$@{orig_installprefix@}/%$@{curr_installprefix@}/%" | sed -e 's,/$,,'`
+  gettext_dir=`
+    echo "$gettext_dir/" \
+    | sed -e "s%^$@{orig_installprefix@}/%$@{curr_installprefix@}/%" \
+    | sed -e 's,/$,,'`
 fi
 @end example
 
 fi
 @end example
 
@@ -123,8 +125,8 @@ endif
 @end example
 
 @item
 @end example
 
 @item
-You may also need to add one or two variable assignments to your
-@file{configure.ac}.  
+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)
 will be relocated together with a set of installed shared libraries,
 
 If your package (or any package you rely on, e.g.@: gettext-runtime)
 will be relocated together with a set of installed shared libraries,
@@ -140,3 +142,6 @@ If your @file{config.h} is not in @file{$(top_builddir)}, then set
 RELOCATABLE_CONFIG_H_DIR='$(top_builddir)/src'
 @end example
 @end enumerate
 RELOCATABLE_CONFIG_H_DIR='$(top_builddir)/src'
 @end example
 @end enumerate
+
+Set @var{RELOCATABLE_STRIP} to @code{:}.  This is needed so that
+@samp{make install} installs executables without stripping them.