* configure.in: Substitute RPATH_ENVVAR.
[platform/upstream/binutils.git] / ld / configure.host
1 # This is the linker host specific file.  This is invoked by the
2 # autoconf generated configure script.  Putting it in a separate shell
3 # file lets us skip running autoconf when modifying host specific
4 # information.
5
6 # This file sets the following shell variables:
7 #  CC                   compiler to use (only if needed and not already set)
8 #  HDEFINES             host specific compiler flags
9 #  HOSTING_CRT0         crt0.o file used for bootstrapping
10 #  HOSTING_LIBS         libraries used for bootstrapping
11 #  NATIVE_LIB_DIRS      library directories to search on this host
12 #  HLDFLAGS             link flags to use on this host
13 #  RPATH_ENVVAR         environment variable used to find shared libraries
14
15 HDEFINES=
16 HOSTING_CRT0=/lib/crt0.o
17 HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc'
18 NATIVE_LIB_DIRS=
19
20 case "${host}" in
21
22 alpha-*-linux*)
23   HOSTING_CRT0=/usr/lib/crt0.o
24   ;;
25
26 alpha-*-*)
27   HOSTING_CRT0=/usr/ccs/lib/crt0.o
28   NATIVE_LIB_DIRS=/usr/ccs/lib
29   ;;
30
31 i[345]86-*-bsd* | i[345]86-*-freebsd* | i[345]86-*-netbsd*)
32   # The new BSD `make' has a bug: it doesn't pass empty arguments in
33   # shell commands.  So we need to make this value non-empty in order
34   # for the genscripts.sh call to work.  There's nothing magic about
35   # the value `/lib'; it's just a dummy.
36   NATIVE_LIB_DIRS=/lib
37   HOSTING_CRT0=/usr/lib/crt0.o
38   ;;
39
40 i[345]86-*-go32*)
41   test -z "${CC}" && CC="i386-go32-gcc -O2 -fno-omit-frame-pointer -Wl,-S"
42   ;;
43
44 i[345]86-*-sysv4*)
45   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`'
46   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'
47   NATIVE_LIB_DIRS=/usr/ccs/lib
48   ;;
49
50 i[345]86-sequent-ptx* | i[345]86-sequent-sysv*)
51   HOSTING_CRT0='/lib/crt0.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`'
52   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`'
53   ;;
54
55 i[345]86-*-sysv*)
56   HOSTING_CRT0='/lib/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; fi`'
57   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; fi` /lib/crtn.o'
58   ;;
59
60 i[345]86-*-solaris*)
61   HOSTING_CRT0='`if [ -f ../gcc/crt1.o ]; then echo ../gcc/crt1.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crt1.o/'; fi` `if [ -f ../gcc/crti.o ]; then echo ../gcc/crti.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crti.o/'; fi` /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`'
62   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` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtn.o/'; fi`'
63   NATIVE_LIB_DIRS=/usr/ccs/lib
64   ;;
65
66 i[345]86-*-sco* | i[345]86-*-isc*)
67   HOSTING_CRT0='/lib/crt1.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`'
68   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` /lib/crtn.o'
69   ;;
70
71 i[345]86-*-linuxaout* | i[345]86-*-linuxoldld)
72   HOSTING_CRT0=/usr/lib/crt0.o
73   ;;
74
75 i[345]86-*-linux*)
76   HOSTING_CRT0='/usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o'
77   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc /usr/lib/crtend.o /usr/lib/crtn.o'
78   ;;
79
80 i[345]86-*-lynxos*)
81   HOSTING_CRT0=/lib/init1.o
82   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc -lm /lib/initn.o'
83   ;;
84
85 mips*-dec-bsd*)
86   HOSTING_CRT0=/usr/lib/crt0.o
87   ;;
88
89 mips*-sgi-irix4*)
90   HOSTING_CRT0=/usr/lib/crt1.o
91   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc /usr/lib/crtn.o'
92   ;;
93
94 mips*-sgi-irix5*)
95   HOSTING_CRT0=/usr/lib/crt1.o
96   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc /usr/lib/crtn.o'
97   ;;
98
99 m68*-*-lynxos*)
100   HOSTING_CRT0=/lib/init1.o
101   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc -lm /lib/initn.o'
102   ;;
103
104 m68*-motorola-sysv)
105   HOSTING_CRT0='`if [ -f ../gcc/crt0.o ]; then echo ../gcc/crt0.o; elif [ -f \`gcc -print-file-name=\`crt0.o ]; then echo \`gcc -print-file-name=\`crt0.o; else echo /lib/crt0.o; fi`'
106   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc881 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi`'
107   ;;
108
109 m68*-sun-*)
110   HOSTING_CRT0='/usr/lib/crt0.o /usr/lib/Fcrt1.o -L/usr/lib/fsoft.o'
111   ;;
112
113 m88*-*-dgux*)
114   HDEFINES=-D__using_DGUX
115   HOSTING_CRT0=/lib/crt0.o -X
116   HOSTING_LIBS=/usr/sde/m88kbcs/lib/libc.a
117   ;;
118
119 m88*-motorola-sysv3)
120   HOSTING_CRT0='/lib/crt0.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`'
121   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` `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi`'
122   ;;
123
124 romp-*-*)
125   HDEFINES=-DNO_VARARGS
126   CC=${CC-gcc}
127   ;;
128
129 sparc-*-solaris2*)
130   HOSTING_CRT0='`if [ -f ../gcc/crt1.o ]; then echo ../gcc/crt1.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crt1.o/'; fi` `if [ -f ../gcc/crti.o ]; then echo ../gcc/crti.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crti.o/'; fi` /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`'
131   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` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else gcc -print-libgcc-file-name | sed -e 's/libgcc.a/crtn.o/'; fi`'
132   NATIVE_LIB_DIRS=/usr/ccs/lib
133   ;;
134
135 esac
136
137 HLDFLAGS=
138 RPATH_ENVVAR=LD_LIBRARY_PATH
139 # If we have shared libraries, try to set rpath reasonably.
140 if test "${shared}" = "true"; then
141   case "${host}" in
142   *-*-hpux*)
143     HLDFLAGS='-Wl,+s,+b,$(libdir)'
144     RPATH_ENVVAR=SHLIB_PATH
145     ;;
146   *-*-irix5*)
147     HLDFLAGS='-Wl,-rpath,$(libdir)'
148     ;;
149   *-*-linux*aout*)
150     ;;
151   *-*-linux*)
152     HLDFLAGS='-Wl,-rpath,$(libdir)'
153     ;;
154   *-*-sysv4* | *-*-solaris*)
155     HLDFLAGS='-R $(libdir)'
156     ;;
157   esac
158 fi
159
160 # On SunOS, if the linker supports the -rpath option, use it to
161 # prevent ../bfd and ../opcodes from being included in the run time
162 # search path.
163 case "${host}" in
164   *-*-sunos*)
165     echo 'main () { }' > conftest.c
166     ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
167     if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
168       :
169     elif grep 'No such file' conftest.t >/dev/null 2>&1; then
170       :
171     elif test "${shared}" = "true"; then
172       HLDFLAGS='-Wl,-rpath=$(libdir)'
173     else
174       HLDFLAGS='-Wl,-rpath='
175     fi
176     rm -f conftest.t conftest.c conftest
177     ;;
178 esac