* configure.in: Permit --enable-shared to specify a list of
[deliverable/binutils-gdb.git] / ld / configure.host
index e324be291e9f8c90eb7e7d0de6db64d20cf7c4d2..a05f20b6bd8e4643873667d9120b7e0c957cda3f 100644 (file)
@@ -4,11 +4,12 @@
 # information.
 
 # This file sets the following shell variables:
-#  CC                  compiler to use (only if needed and not already set)
 #  HDEFINES            host specific compiler flags
 #  HOSTING_CRT0                crt0.o file used for bootstrapping
 #  HOSTING_LIBS                libraries used for bootstrapping
 #  NATIVE_LIB_DIRS     library directories to search on this host
+#  HLDFLAGS            link flags to use on this host
+#  RPATH_ENVVAR                environment variable used to find shared libraries
 
 HDEFINES=
 HOSTING_CRT0=/lib/crt0.o
@@ -35,10 +36,6 @@ i[345]86-*-bsd* | i[345]86-*-freebsd* | i[345]86-*-netbsd*)
   HOSTING_CRT0=/usr/lib/crt0.o
   ;;
 
-i[345]86-*-go32*)
-  test -z "${CC}" && CC="i386-go32-gcc -O2 -fno-omit-frame-pointer -Wl,-S"
-  ;;
-
 i[345]86-*-sysv4*)
   HOSTING_CRT0='/usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtbegin.o/'; fi`'
   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi`  -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtend.o/'; fi` /usr/ccs/lib/crtn.o'
@@ -80,11 +77,16 @@ i[345]86-*-lynxos*)
   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc -lm /lib/initn.o'
   ;;
 
-mips-dec-bsd*)
+mips*-dec-bsd*)
   HOSTING_CRT0=/usr/lib/crt0.o
   ;;
 
-mips-sgi-irix4*)
+mips*-sgi-irix4*)
+  HOSTING_CRT0=/usr/lib/crt1.o
+  HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc /usr/lib/crtn.o'
+  ;;
+
+mips*-sgi-irix5*)
   HOSTING_CRT0=/usr/lib/crt1.o
   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc /usr/lib/crtn.o'
   ;;
@@ -116,7 +118,6 @@ m88*-motorola-sysv3)
 
 romp-*-*)
   HDEFINES=-DNO_VARARGS
-  CC=${CC-gcc}
   ;;
 
 sparc-*-solaris2*)
@@ -126,3 +127,48 @@ sparc-*-solaris2*)
   ;;
 
 esac
+
+HLDFLAGS=
+RPATH_ENVVAR=LD_LIBRARY_PATH
+# If we have shared libraries, try to set rpath reasonably.
+if test "${shared}" = "true"; then
+  case "${host}" in
+  *-*-hpux*)
+    HLDFLAGS='-Wl,+s,+b,$(libdir)'
+    RPATH_ENVVAR=SHLIB_PATH
+    ;;
+  *-*-irix5*)
+    HLDFLAGS='-Wl,-rpath,$(libdir)'
+    ;;
+  *-*-linux*aout*)
+    ;;
+  *-*-linux*)
+    HLDFLAGS='-Wl,-rpath,$(libdir)'
+    ;;
+  *-*-sysv4* | *-*-solaris*)
+    HLDFLAGS='-R $(libdir)'
+    ;;
+  esac
+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.
+case "${host}" in
+  *-*-sunos*)
+    echo 'main () { }' > conftest.c
+    ${CC} -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 grep 'do not mix' conftest.t >/dev/null 2>&1; then
+      :
+    elif test "${shared}" = "true"; then
+      HLDFLAGS='-Wl,-rpath=$(libdir)'
+    else
+      HLDFLAGS='-Wl,-rpath='
+    fi
+    rm -f conftest.t conftest.c conftest
+    ;;
+esac
This page took 0.026951 seconds and 4 git commands to generate.