diff options
author | Bruno Haible <bruno@clisp.org> | 2008-12-07 13:41:44 +0000 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2009-06-23 12:15:55 +0200 |
commit | 99f863368c280ff8a0c3305bf70c37f24904f977 (patch) | |
tree | 42db5c1b02baf68ce8f1590e0eca2db1e45a34d7 | |
parent | 26278fe9dc80e51ab9d06573ff5a83deaccbf72a (diff) | |
download | external_gettext-99f863368c280ff8a0c3305bf70c37f24904f977.zip external_gettext-99f863368c280ff8a0c3305bf70c37f24904f977.tar.gz external_gettext-99f863368c280ff8a0c3305bf70c37f24904f977.tar.bz2 |
Fix installation bug on HP-UX.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | build-aux/ltmain.sh | 18 | ||||
-rw-r--r-- | m4/libtool.m4 | 6 |
3 files changed, 31 insertions, 2 deletions
@@ -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], |