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