* configure.host: Set RPATH_ENVVAR.
authorIan Lance Taylor <ian@airs.com>
Thu, 15 Feb 1996 18:56:03 +0000 (18:56 +0000)
committerIan Lance Taylor <ian@airs.com>
Thu, 15 Feb 1996 18:56:03 +0000 (18:56 +0000)
bfd/ChangeLog
bfd/configure.host

index fe0bd4dc2a2c3df869599556c6ac7d3291fd585e..f17271ff8702925390fb5513cbeab1d35f18f463 100644 (file)
@@ -1,5 +1,7 @@
 Thu Feb 15 11:29:13 1996  Ian Lance Taylor  <ian@cygnus.com>
 
+       * configure.host: Set RPATH_ENVVAR.
+
        * Makefile.in: Rebuild dependencies.
 
        * elflink.c (_bfd_elf_create_linker_section): Remove unused
index 1657407bbdf1ed9d6e0ea730e21af0bb15fd3a41..9af40dee82742d3e2bb68d18b99cc82a4ce6c829 100644 (file)
@@ -21,6 +21,7 @@
 #  SHLINK              may be set to the name to link the shared library to
 #  ALLLIBS             may be set to libraries to build
 #  HLDFLAGS            LDFLAGS specific to the host
+#  RPATH_ENVVAR                environment variable used to find shared libraries
 
 HDEFINES=
 host64=false
@@ -94,6 +95,8 @@ esac
 # If we are configuring with --enable-shared, adjust the shared
 # library support based on the host.  This support must work for both
 # the BFD and the opcodes libraries.
+HLDFLAGS=
+RPATH_ENVVAR=LD_LIBRARY_PATH
 SHLIB_CC='$(CC)'
 SHLIB_CFLAGS='-shared'
 if [ "${shared}" = "true" ]; then
@@ -109,8 +112,6 @@ if [ "${shared}" = "true" ]; then
     fi
   fi
 
-  base_shlib=`echo ${SHLIB} | sed -e 's,^.*/\([^/]*\)$,\1,'`
-
   case "${host}" in
   *-dec-osf*)
     # -fpic is not needed on the Alpha.
@@ -120,22 +121,28 @@ if [ "${shared}" = "true" ]; then
     # HP/UX uses .sl for shared libraries.
     SHLINK=`echo ${SHLINK} | sed -e 's/so$/sl/'`
     SHLIB_CFLAGS='-shared $(PICFLAG)'
+    HLDFLAGS='-Wl,+s,+b,$(libdir)'
+    RPATH_ENVVAR=SHLIB_PATH
     ;;
   *-*-irix5*)
     # -fpic is not needed on Irix 5.
     PICFLAG=
-    SHLIB_CFLAGS="-shared -Wl,-soname,${base_shlib}"
+    SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
+    HLDFLAGS='-Wl,-rpath,$(libdir)'
     ;;
   *-*-linux*aout*)
     ;;
   *-*-linux*)
-    SHLIB_CFLAGS="-shared -Wl,-soname,${base_shlib}"
+    SHLIB_CFLAGS='-shared -Wl,-soname,$(SONAME)'
+    HLDFLAGS='-Wl,-rpath,$(libdir)'
     ;;
   *-*-sysv4* | *-*-solaris*)
-    SHLIB_CFLAGS="-shared -h ${base_shlib}"
+    SHLIB_CFLAGS='-shared -h $(SONAME)'
+    HLDFLAGS='-R $(libdir)'
     ;;
   *-*-sunos*)
-    ALLLIBS=`echo ${ALLLIBS} | sed -e 's/\$(SHLINK)//'`
+    # Build a libTARGET-bfd.so.VERSION symlink in the object directory.
+    ALLLIBS=`echo ${ALLLIBS} | sed -e 's/\$(SHLINK)/stamp-tshlink/'`
     ;;
   esac
 fi
@@ -143,15 +150,16 @@ fi
 # On SunOS, if the linker supports the -rpath option, use it to
 # prevent ../bfd and ../opcodes from being included in the run time
 # search path.
-HLDFLAGS=
 case "${host}" in
   *-*-sunos*)
     echo 'main () { }' > conftest.c
-    ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
+    ${CC-gcc} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
     if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
       :
     elif grep 'No such file' conftest.t >/dev/null 2>&1; then
       :
+    elif [ "${shared}" = "true" ]; then
+      HLDFLAGS='-Wl,-rpath=$(libdir)'
     else
       HLDFLAGS='-Wl,-rpath='
     fi