configure.host revision 130570
118781Sgibbs# This is the linker host specific file.  This is invoked by the
218781Sgibbs# autoconf generated configure script.  Putting it in a separate shell
318781Sgibbs# file lets us skip running autoconf when modifying host specific
450477Speter# information.
518781Sgibbs
618781Sgibbs# This file sets the following shell variables:
718781Sgibbs#  HDEFINES		host specific compiler flags
839217Sgibbs#  HOSTING_CRT0		crt0.o file used for bootstrapping
955945Sgibbs#  HOSTING_LIBS		libraries used for bootstrapping
1018781Sgibbs
1139217SgibbsHDEFINES=
1218781SgibbsHOSTING_CRT0=/lib/crt0.o
1318781SgibbsHOSTING_LIBS='`if [ -f ../gcc/libgcc.a ]; then libgcc=../gcc/libgcc.a; else libgcc=\`${CC} -print-libgcc-file-name\`; fi; if [ -f ../gcc/libgcc_eh.a ]; then libgcc="$libgcc ../gcc/libgcc_eh.a"; else libgcc_eh=\`${CC} -print-file-name=libgcc_eh.a\`; if [ x"$libgcc_eh" != xlibgcc_eh.a ]; then libgcc="$libgcc $libgcc_eh"; fi; fi; echo --start-group $libgcc -lc --end-group`'
1418781Sgibbs
1518781Sgibbs#
1618781Sgibbs#	Generic configurations:
1718781Sgibbs#
1818781Sgibbs
1918781Sgibbscase "${host}" in
2018781Sgibbs
2118781Sgibbs*-*-freebsd* | *-*-kfreebsd*-gnu)
2218781Sgibbs  HOSTING_CRT0='-dynamic-linker `[ -f \`${CC} --print-prog-name=ld-elf.so.1\` ] || echo /usr/libexec/``${CC} --print-prog-name=ld-elf.so.1` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `${CC} --print-file-name=crtbegin.o`'
2355945Sgibbs  HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
2455945Sgibbs  ;;
2555945Sgibbs
2655945Sgibbs*-*-linux*aout* | *-*-linux*oldld)
2755945Sgibbs  HOSTING_CRT0=/usr/lib/crt0.o
2855945Sgibbs  ;;
2955945Sgibbs
3055945Sgibbs*-*-linux*libc1*)
3155945Sgibbs  HOSTING_CRT0='-dynamic-linker /lib/ld-linux.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
3255945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else ${CC} --print-file-name=crtend.o; fi` /usr/lib/crtn.o'
3355945Sgibbs  ;;
3455945Sgibbs
3555945Sgibbs*-*-linux*)
3655945Sgibbs  HOSTING_CRT0='-dynamic-linker `egrep "ld[^ ]*\.so" \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ 	][ 	]*\(.*/ld[^ ]*\.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
3755945Sgibbs  HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
3855945Sgibbs  ;;
3955945Sgibbs
4055945Sgibbs*-*-netbsd*)
4155945Sgibbs  # Different versions of NetBSD with the ELF object format use different
4255945Sgibbs  # sets of start/end files.
4355945Sgibbs  HOSTING_CRT0='-dynamic-linker /usr/libexec/ld.elf_so /usr/lib/crt0.o'
4455945Sgibbs  if [ -f `${CC} --print-file-name=crti.o` ]; then
4555945Sgibbs    # Support for GCC's crtstuff present.
4655945Sgibbs    HOSTING_CRT0="$HOSTING_CRT0 `${CC} --print-file-name=crti.o`"
4755945Sgibbs    if [ -f ../gcc/crtbegin.o ]; then
4855945Sgibbs      HOSTING_CRT0="$HOSTING_CRT0 ../gcc/crtbegin.o"
4955945Sgibbs    else
5055945Sgibbs      HOSTING_CRT0="$HOSTING_CRT0 `${CC} --print-file-name=crtbegin.o`"
5155945Sgibbs    fi
5255945Sgibbs  else
5355945Sgibbs    # Support for GCC's crtstuff not present.
5455945Sgibbs    HOSTING_CRT0="$HOSTING_CRT0 `${CC} --print-file-name=crtbegin.o`"
5555945Sgibbs  fi
5655945Sgibbs  if [ -f `${CC} --print-file-name=crtn.o` ]; then
5755945Sgibbs    # Support for GCC's crtstuff present.
5855945Sgibbs    if [ -f ../gcc/crtbegin.o ]; then
5955945Sgibbs      HOSTING_LIBS="$HOSTING_LIBS ../gcc/crtend.o"
6055945Sgibbs    else
6155945Sgibbs      HOSTING_LIBS="$HOSTING_LIBS `${CC} --print-file-name=crtend.o`"
6255945Sgibbs    fi
6355945Sgibbs    HOSTING_LIBS="$HOSTING_LIBS `${CC} --print-file-name=crtn.o`"
6455945Sgibbs  else
6555945Sgibbs    # Support for GCC's crtstuff not present.
6655945Sgibbs    HOSTING_LIBS="$HOSTING_LIBS `${CC} --print-file-name=crtend.o`"
6755945Sgibbs  fi
6855945Sgibbs  ;;
6955945Sgibbs
7055945Sgibbsesac
7155945Sgibbs
7255945Sgibbs#
7355945Sgibbs# Now more specific configurations
7455945Sgibbs#
7555945Sgibbs
7655945Sgibbscase "${host}" in
7755945Sgibbs
7855945Sgibbs*-*-linux*aout* | *-*-linux*oldld | *-*-linux*libc1*)
7955945Sgibbs  # No further tweaking needed
8055945Sgibbs  ;;
8155945Sgibbs
8255945Sgibbsam33_2.0-*-linux*)
8355945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"`
8455945Sgibbs  ;;
8555945Sgibbs
8655945Sgibbsarm*-*-linux-gnu*)
8755945Sgibbs  HOSTING_CRT0='-p '`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"`
8855945Sgibbs  ;;
8955945Sgibbs
9055945Sgibbshppa*64*-*-hpux11*)
9155945Sgibbs  HOSTING_CRT0=/usr/ccs/lib/pa20_64/crt0.o
9255945Sgibbs  # Even if CC is not gcc, the tests use gcc.
9355945Sgibbs  HOSTING_LIBS='--start-group `if [ -f ../gcc/libgcc.a ]; then echo ../gcc/libgcc.a; else if test "$GCC" = yes; then ${CC} --print-libgcc-file-name; else gcc --print-libgcc-file-name; fi fi` -lc --end-group /usr/lib/pa20_64/milli.a'
9455945Sgibbs  ;;
9555945Sgibbs
9655945Sgibbsi[3-7]86-*-bsd* | i[3-7]86-*-freebsd[12] | i[3-7]86-*-freebsd[12]\.* | i[3-7]86-*-freebsd*aout*)
9755945Sgibbs  HOSTING_CRT0=/usr/lib/crt0.o
9855945Sgibbs  ;;
9955945Sgibbs
10055945Sgibbsi[3-7]86-*-sysv4*)
10155945Sgibbs  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 ${CC} -print-file-name=crtbegin.o; fi`'
10255945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` /usr/ccs/lib/crtn.o'
10355945Sgibbs  ;;
10455945Sgibbs
10555945Sgibbsi[3-7]86-sequent-ptx* | i[3-7]86-sequent-sysv*)
10655945Sgibbs  HOSTING_CRT0='/lib/crt0.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} -print-file-name=crtbegin.o; fi`'
10755945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`'
10855945Sgibbs  ;;
10955945Sgibbs
11055945Sgibbsi[3-7]86-*-sysv*)
11155945Sgibbs  HOSTING_CRT0='/lib/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; fi`'
11255945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; fi` /lib/crtn.o'
11355945Sgibbs  ;;
11455945Sgibbs
11555945Sgibbsi[3-7]86-*-solaris*)
11655945Sgibbs  HOSTING_CRT0='`if [ -f ../gcc/crt1.o ]; then echo ../gcc/crt1.o; else ${CC} -print-file-name=crt1.o; fi` `if [ -f ../gcc/crti.o ]; then echo ../gcc/crti.o; else ${CC} -print-file-name=crti.o; fi` /usr/ccs/lib/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} -print-file-name=crtbegin.o; fi`'
11755945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`'
11855945Sgibbs  ;;
11955945Sgibbs
12055945Sgibbsi[3-7]86-*-sco* | i[3-7]86-*-isc*)
12155945Sgibbs  # In some configurations gcc does not use crtbegin.o and crtend.o.
12255945Sgibbs  # In that case gcc -print-file-name=crtbegin.o will simply print
12355945Sgibbs  # crtbegin.o.  We create dummy crtbegin.o and crtend.o files to
12455945Sgibbs  # handle this.
12555945Sgibbs  echo "int dummy_crtbegin () { return 0; }" > crtbegin.c
12655945Sgibbs  ${CC} -c crtbegin.c -o crtbegin.o
12755945Sgibbs  rm -f crtbegin.c
12855945Sgibbs  echo "int dummy_crteng () { return 0; }" > crtend.c
12955945Sgibbs  ${CC} -c crtend.c -o crtend.o
13055945Sgibbs  rm -f crtend.c
13155945Sgibbs  HOSTING_CRT0='/lib/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} -print-file-name=crtbegin.o; fi`'
13255945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` /lib/crtn.o'
13355945Sgibbs  ;;
13455945Sgibbs
13555945Sgibbsi[3-7]86-*-lynxos*)
13655945Sgibbs  HOSTING_CRT0=/lib/init1.o
13755945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' -lm /lib/initn.o'
13855945Sgibbs  ;;
13955945Sgibbs
14055945Sgibbsi[3-7]86-pc-interix*)
14155945Sgibbs  HOSTING_CRT0='$$INTERIX_ROOT/usr/lib/crt0.o'
14255945Sgibbs  HOSTING_LIBS='-L $$X/local_bin -L $$INTERIX_ROOT/usr/lib '"$HOSTING_LIBS"' -lcpsx -lc -lcpsx $$INTERIX_ROOT/usr/lib/psxdll.a $$INTERIX_ROOT/usr/lib/psxdll2.a'
14355945Sgibbs  ;;
14455945Sgibbs
14555945Sgibbsi[3-7]86-*-cygwin*)
14655945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' -lcygwin -L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`'
14755945Sgibbs  ;;
14855945Sgibbs
14955945Sgibbsia64-*-linux-gnu*)
15055945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux-ia64,g"`
15155945Sgibbs  ;;
15255945Sgibbs
15355945Sgibbsia64-*-aix*)
15455945Sgibbs  HOSTING_CRT0='-dynamic-linker `egrep "libc.so" \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ 	][ 	]*\(.*/libc.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
15555945Sgibbs  HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
15655945Sgibbs  ;;
15755945Sgibbs
15855945Sgibbsmips*-sgi-irix4* | mips*-sgi-irix5*)
15955945Sgibbs  HOSTING_CRT0=/usr/lib/crt1.o
16055945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' /usr/lib/crtn.o'
16155945Sgibbs  ;;
16255945Sgibbs
16355945Sgibbsmips*-sgi-irix6*)
16455945Sgibbs  HOSTING_CRT0='/usr/lib32/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o ; else ${CC} -print-file-name=crtbegin.o; fi`'
16555945Sgibbs  HOSTING_LIBS='-L/usr/lib32 '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o ; else ${CC} -print-file-name=crtend.o; fi` /usr/lib32/crtn.o -init __do_global_ctors -fini __do_global_dtors'
16655945Sgibbs  ;;
16755945Sgibbs
16855945Sgibbsmips*-*-linux-gnu*)
16955945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld.so.1,"`
17055945Sgibbs  ;;
17155945Sgibbs
17255945Sgibbsm68*-*-linux-gnu*)
17355945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld.so.1,"`
17455945Sgibbs  ;;
17555945Sgibbs
17655945Sgibbsm68*-*-lynxos*)
17755945Sgibbs  HOSTING_CRT0=/lib/init1.o
17855945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' -lm /lib/initn.o'
17955945Sgibbs  ;;
18055945Sgibbs
18155945Sgibbsm68*-motorola-sysv)
18255945Sgibbs  HOSTING_CRT0='`if [ -f ../gcc/crt0.o ]; then echo ../gcc/crt0.o; elif [ -f \`${CC} -print-file-name=\`crt0.o ]; then echo \`${CC} -print-file-name=\`crt0.o; else echo /lib/crt0.o; fi`'
18355945Sgibbs  HOSTING_LIBS=`echo "$HOSTING_LIBS" | sed -e "s,-lc,-lc881,"`
18455945Sgibbs  ;;
18555945Sgibbs
18655945Sgibbsm68*-sun-*)
18755945Sgibbs  HOSTING_CRT0='/usr/lib/crt0.o /usr/lib/Fcrt1.o -L/usr/lib/fsoft.o'
18855945Sgibbs  ;;
18955945Sgibbs
19055945Sgibbsm88*-*-dgux*)
19155945Sgibbs  HDEFINES=-D__using_DGUX
19255945Sgibbs  HOSTING_CRT0='/lib/crt0.o -X'
19355945Sgibbs  HOSTING_LIBS=/usr/sde/m88kbcs/lib/libc.a
19455945Sgibbs  ;;
19555945Sgibbs
19655945Sgibbsm88*-motorola-sysv3)
19755945Sgibbs  HOSTING_CRT0='/lib/crt0.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} -print-file-name=crtbegin.o; fi`'
19855945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`'
19955945Sgibbs  ;;
20055945Sgibbs
20155945Sgibbspowerpc64*-*-linux-gnu*)
20255945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib64/ld64.so.1,"`
20355945Sgibbs  ;;
20455945Sgibbs
20555945Sgibbspowerpc*-*-linux-gnu*)
20655945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld.so.1,"`
20755945Sgibbs  ;;
20855945Sgibbs
20955945Sgibbss390x-*-linux-gnu*)
21055945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld64.so.1,"`
21155945Sgibbs  ;;
21255945Sgibbs
21355945Sgibbss390-*-linux-gnu*)
21455945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld.so.1,"`
21555945Sgibbs  ;;
21655945Sgibbs
21755945Sgibbssparc*-*-solaris2*)
21855945Sgibbs  HOSTING_CRT0='`if [ -f ../gcc/crt1.o ]; then echo ../gcc/crt1.o; else ${CC} -print-file-name=crt1.o; fi` `if [ -f ../gcc/crti.o ]; then echo ../gcc/crti.o; else ${CC} -print-file-name=crti.o; fi` /usr/ccs/lib/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} -print-file-name=crtbegin.o; fi`'
21955945Sgibbs  HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`'
22055945Sgibbs  ;;
22155945Sgibbs
22255945Sgibbssparc-*-linux-gnu*)
22355945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib/ld-linux.so.2,"`
22455945Sgibbs  ;;
22555945Sgibbs
22655945Sgibbssparc64-*-linux-gnu*)
22755945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib64/ld-linux.so.2,"`
22855945Sgibbs  ;;
22955945Sgibbs
23055945Sgibbsx86_64-*-linux-gnu*)
23155945Sgibbs  HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`egrep.*\"\\\`,/lib64/ld-linux-x86-64.so.2,"`
23255945Sgibbs  ;;
23355945Sgibbs
23455945Sgibbs*-*-freebsd* | *-*-kfreebsd*-gnu)
23555945Sgibbs  ;;
23655945Sgibbs
23755945Sgibbs*-*-linux*)
23855945Sgibbs  ;;
23955945Sgibbs
24055945Sgibbs*-*-netbsd*)
24155945Sgibbs  ;;
24255945Sgibbs
24355945Sgibbsalpha*-*-*)
24455945Sgibbs  HOSTING_CRT0=/usr/ccs/lib/crt0.o
24555945Sgibbs  ;;
24655945Sgibbs
24755945Sgibbsesac
24855945Sgibbs