Annotation of embedaddon/libiconv/build-aux/reloc-ldflags, revision 1.1
1.1 ! misho 1: #! /bin/sh
! 2: # Output a system dependent linker command for putting a relocatable library
! 3: # search path into an executable.
! 4: #
! 5: # Copyright 2003 Free Software Foundation, Inc.
! 6: # Written by Bruno Haible <bruno@clisp.org>, 2003.
! 7: #
! 8: # This program is free software: you can redistribute it and/or modify
! 9: # it under the terms of the GNU General Public License as published by
! 10: # the Free Software Foundation; either version 3 of the License, or
! 11: # (at your option) any later version.
! 12: #
! 13: # This program is distributed in the hope that it will be useful,
! 14: # but WITHOUT ANY WARRANTY; without even the implied warranty of
! 15: # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 16: # GNU General Public License for more details.
! 17: #
! 18: # You should have received a copy of the GNU General Public License
! 19: # along with this program. If not, see <http://www.gnu.org/licenses/>.
! 20: #
! 21: # As a special exception to the GNU General Public License, if you
! 22: # distribute this file as part of a program that contains a
! 23: # configuration script generated by Autoconf, you may include it under
! 24: # the same distribution terms that you use for the rest of that program.
! 25: #
! 26: # The first argument passed to this file is the canonical host specification,
! 27: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
! 28: # or
! 29: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
! 30: # The environment variable LD should be set by the caller.
! 31: #
! 32: # The second argument is a colon separated list of directories that contain
! 33: # the libraries at installation time.
! 34: #
! 35: # The third argument is the directory into which the executable is going to be
! 36: # installed.
! 37:
! 38: host="$1"
! 39: host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
! 40: host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
! 41: host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
! 42:
! 43: library_path_value=$2
! 44:
! 45: installdir=$3
! 46:
! 47: # Verify that installdir is absolute.
! 48: case "$installdir" in
! 49: /*) ;;
! 50: *)
! 51: echo "installdir is not absolute: $installdir" 1>&2
! 52: exit 1
! 53: ;;
! 54: esac
! 55:
! 56: case "$host_os" in
! 57: linux*) # Supported since Linux 2.1 and glibc 2.1.
! 58: rpath=
! 59: save_IFS="$IFS"; IFS=":"
! 60: for dir in $library_path_value; do
! 61: IFS="$save_IFS"
! 62: case "$dir" in
! 63: /*)
! 64: # Make dir relative to installdir. (Works only if dir is absolute.)
! 65: idir="$installdir"
! 66: while true; do
! 67: dfirst=`echo "$dir" | sed -n -e 's,^//*\([^/]*\).*$,/\1,p'`
! 68: ifirst=`echo "$idir" | sed -n -e 's,^//*\([^/]*\).*$,/\1,p'`
! 69: if test -z "$dfirst" || test -z "$ifirst"; then
! 70: break
! 71: fi
! 72: if test "$dfirst" != "$ifirst"; then
! 73: break
! 74: fi
! 75: dir=`echo "$dir" | sed -e 's,^//*[^/]*,,'`
! 76: idir=`echo "$idir" | sed -e 's,^//*[^/]*,,'`
! 77: done
! 78: dir="\$ORIGIN"`echo "$idir" | sed -e 's,//*[^/]*,/..,g'`"$dir"
! 79: # Add dir to rpath.
! 80: rpath="${rpath}${rpath:+ }$dir"
! 81: ;;
! 82: *)
! 83: if test -n "$dir"; then
! 84: echo "libdir is not absolute: $dir" 1>&2
! 85: fi
! 86: ;;
! 87: esac
! 88: done
! 89: IFS="$save_IFS"
! 90: # Output it.
! 91: if test -n "$rpath"; then
! 92: echo "-Wl,-rpath,$rpath"
! 93: fi
! 94: ;;
! 95: *)
! 96: echo "relocation via rpath not supported on this system: $host" 1>&2
! 97: exit 1
! 98: ;;
! 99: esac
! 100:
! 101: exit 0
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>