| build/ltmain.sh | 32 +++++++++++++++++++++++++++----- |
| 1 file changed, 27 insertions(+), 5 deletions(-) |
| |
| Index: httpd-2.4.29/build/ltmain.sh |
| =================================================================== |
| --- httpd-2.4.29.orig/build/ltmain.sh |
| +++ httpd-2.4.29/build/ltmain.sh |
| @@ -6969,7 +6969,7 @@ func_mode_link () |
| dir=$func_resolve_sysroot_result |
| # We need an absolute path. |
| case $dir in |
| - [\\/]* | [A-Za-z]:[\\/]*) ;; |
| + =* | [\\/]* | [A-Za-z]:[\\/]*) ;; |
| *) |
| absdir=`cd "$dir" && pwd` |
| test -z "$absdir" && \ |
| @@ -8167,7 +8167,7 @@ func_mode_link () |
| $ECHO "*** $linklib is not portable!" |
| fi |
| if test lib = "$linkmode" && |
| - test yes = "$hardcode_into_libs"; then |
| + test "x$wrs_use_rpaths" = "xyes" && test "$hardcode_into_libs" = yes; then |
| # Hardcode the library path. |
| # Skip directories that are in the system default run-time |
| # search path. |
| @@ -8434,7 +8434,7 @@ func_mode_link () |
| |
| if test lib = "$linkmode"; then |
| if test -n "$dependency_libs" && |
| - { test yes != "$hardcode_into_libs" || |
| + { test yes != "$hardcode_into_libs" || test "x$wrs_use_rpaths" != "xyes" || |
| test yes = "$build_old_libs" || |
| test yes = "$link_static"; }; then |
| # Extract -R from dependency_libs |
| @@ -9086,7 +9086,8 @@ func_mode_link () |
| *) func_append finalize_rpath " $libdir" ;; |
| esac |
| done |
| - if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then |
| + if test yes != "$hardcode_into_libs" || test "x$wrs_use_rpaths" != "xyes" || |
| + test yes = "$build_old_libs"; then |
| dependency_libs="$temp_xrpath $dependency_libs" |
| fi |
| fi |
| @@ -9534,7 +9535,7 @@ EOF |
| case $archive_cmds in |
| *\$LD\ *) wl= ;; |
| esac |
| - if test yes = "$hardcode_into_libs"; then |
| + if test yes = "$hardcode_into_libs" && test "x$wrs_use_rpaths" = "xyes"; then |
| # Hardcode the library paths |
| hardcode_libdirs= |
| dep_rpath= |
| @@ -10272,6 +10273,27 @@ EOF |
| # Now hardcode the library paths |
| rpath= |
| hardcode_libdirs= |
| + |
| + # short circuit putting rpaths in executables |
| + # |
| + if test "x$wrs_use_rpaths" != "xyes" ; then |
| + flag= |
| + for libdir in $compile_rpath; do |
| + case $(echo $libdir | ${SED} 's,/[/]*,/,g') in |
| + /usr/lib/* | /usr/lib32/* | /usr/lib64/* ) flag="$flag $libdir" ;; |
| + esac |
| + done |
| + compile_rpath="$flag" |
| + |
| + flag= |
| + for libdir in $finalize_rpath; do |
| + case $(echo $libdir | ${SED} 's,/[/]*,/,g') in |
| + /usr/lib/* | /usr/lib32/* | /usr/lib64/* ) flag="$flag $libdir" ;; |
| + esac |
| + done |
| + finalize_rpath="$flag" |
| + fi |
| + |
| for libdir in $compile_rpath $finalize_rpath; do |
| if test -n "$hardcode_libdir_flag_spec"; then |
| if test -n "$hardcode_libdir_separator"; then |