summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2008-12-07 13:41:44 +0000
committerBruno Haible <bruno@clisp.org>2009-06-23 12:15:55 +0200
commit99f863368c280ff8a0c3305bf70c37f24904f977 (patch)
tree42db5c1b02baf68ce8f1590e0eca2db1e45a34d7
parent26278fe9dc80e51ab9d06573ff5a83deaccbf72a (diff)
downloadexternal_gettext-99f863368c280ff8a0c3305bf70c37f24904f977.zip
external_gettext-99f863368c280ff8a0c3305bf70c37f24904f977.tar.gz
external_gettext-99f863368c280ff8a0c3305bf70c37f24904f977.tar.bz2
Fix installation bug on HP-UX.
-rw-r--r--ChangeLog9
-rw-r--r--build-aux/ltmain.sh18
-rw-r--r--m4/libtool.m46
3 files changed, 31 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index c245934..593cd4f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-10-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * m4/libtool.m4 (install_override_mode): New LT_DECL.
+ (_LT_SYS_DYNAMIC_LINKER) [hpux9*, hpux10*, hpux11*]: Set it.
+ * build-aux/ltmain.sh (func_mode_install): Build a second command line,
+ $install_shared_prog, for the installation of the shared library.
+ Override resp. set the permission mode if install_override_mode is
+ nonempty.
+
2008-10-04 Bruno Haible <bruno@clisp.org>
* autogen.sh: Fix execute permissions of some files.
diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh
index 271873d..0dd6f3a 100644
--- a/build-aux/ltmain.sh
+++ b/build-aux/ltmain.sh
@@ -1867,6 +1867,7 @@ func_mode_install ()
# Aesthetically quote it.
func_quote_for_eval "$arg"
install_prog="$install_prog$func_quote_for_eval_result"
+ install_shared_prog=$install_prog
# We need to accept at least all the BSD install flags.
dest=
@@ -1876,8 +1877,10 @@ func_mode_install ()
install_type=
isdir=no
stripme=
+ no_mode=:
for arg
do
+ arg2=
if test -n "$dest"; then
files="$files $dest"
dest=$arg
@@ -1904,6 +1907,10 @@ func_mode_install ()
*)
# If the previous option needed an argument, then skip it.
if test -n "$prev"; then
+ if test "x$prev" = x-m && test -n "$install_override_mode"; then
+ arg2=$install_override_mode
+ no_mode=false
+ fi
prev=
else
dest=$arg
@@ -1915,6 +1922,10 @@ func_mode_install ()
# Aesthetically quote the argument.
func_quote_for_eval "$arg"
install_prog="$install_prog $func_quote_for_eval_result"
+ if test -n "$arg2"; then
+ func_quote_for_eval "$arg2"
+ fi
+ install_shared_prog="$install_shared_prog $func_quote_for_eval_result"
done
test -z "$install_prog" && \
@@ -1923,6 +1934,11 @@ func_mode_install ()
test -n "$prev" && \
func_fatal_help "the \`$prev' option requires an argument"
+ if test -n "$install_override_mode" && $no_mode; then
+ func_quote_for_eval "$install_override_mode"
+ install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result"
+ fi
+
if test -z "$files"; then
if test -z "$dest"; then
func_fatal_help "no file or destination specified"
@@ -2043,7 +2059,7 @@ func_mode_install ()
test -n "$relink_command" && srcname="$realname"T
# Install the shared library and build the symlinks.
- func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
'exit $?'
tstripme="$stripme"
case $host_os in
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 69ca81f..6f12a74 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2386,8 +2386,10 @@ hpux9* | hpux10* | hpux11*)
soname_spec='${libname}${release}${shared_ext}$major'
;;
esac
- # HP-UX runs *really* slowly unless shared libraries are mode 555.
+ # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
postinstall_cmds='chmod 555 $lib'
+ # or fails outright, so override atomically:
+ install_override_mode=555
;;
interix[[3-9]]*)
@@ -2705,6 +2707,8 @@ _LT_DECL([], [library_names_spec], [1],
The last name is the one that the linker finds with -lNAME]])
_LT_DECL([], [soname_spec], [1],
[[The coded name of the library, if different from the real name]])
+_LT_DECL([], [install_override_mode], [1],
+ [Permission mode override for installation of shared libraries])
_LT_DECL([], [postinstall_cmds], [2],
[Command to use after installation of a shared archive])
_LT_DECL([], [postuninstall_cmds], [2],