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