projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add support for universal builds to <stdint.h>.
[gnulib.git]
/
doc
/
relocatable-maint.texi
diff --git
a/doc/relocatable-maint.texi
b/doc/relocatable-maint.texi
index
a8fce10
..
86e6fa0
100644
(file)
--- a/
doc/relocatable-maint.texi
+++ b/
doc/relocatable-maint.texi
@@
-20,17
+20,17
@@
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.
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
@@
-116,7
+118,7
@@
In your @file{Makefile.am}, for every program @command{foo} that gets
installed in, say, @file{$(bindir)}, you add:
@example
installed in, say, @file{$(bindir)}, you add:
@example
-foo_CFLAGS = -DINSTALLDIR=\"$(bindir)\"
+foo_C
PP
FLAGS = -DINSTALLDIR=\"$(bindir)\"
if RELOCATABLE_VIA_LD
foo_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
endif
if RELOCATABLE_VIA_LD
foo_LDFLAGS = `$(RELOCATABLE_LDFLAGS) $(bindir)`
endif
@@
-124,7
+126,7
@@
endif
@item
You may also need to add one or two variable assignments to your
@item
You may also need to add one or two variable assignments to your
-@file{configure.ac}.
+@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,