configure.host revision 218822
192302Sluigi# This is the linker host specific file. This is invoked by the 243240Sdillon# autoconf generated configure script. Putting it in a separate shell 392302Sluigi# file lets us skip running autoconf when modifying host specific 492302Sluigi# information. 592302Sluigi 692302Sluigi# This file sets the following shell variables: 792302Sluigi# HDEFINES host specific compiler flags 892302Sluigi# HOSTING_CRT0 crt0.o file used for bootstrapping 992302Sluigi# HOSTING_LIBS libraries used for bootstrapping 1092302Sluigi 1192302SluigiHDEFINES= 1292302SluigiHOSTING_CRT0=/lib/crt0.o 1392302SluigiHOSTING_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; if [ -f ../gcc/libunwind.a ]; then libgcc="$libgcc ../gcc/libunwind.a"; else libunwind=\`${CC} -print-file-name=libunwind.a\`; if [ x"$libunwind" != xlibunwind.a ]; then libgcc="$libgcc $libunwind"; fi; fi; echo --start-group $libgcc -lc --end-group`' 1492302Sluigi 1592302Sluigi# 1692302Sluigi# Generic configurations: 1743240Sdillon# 1843240Sdillon 1943240Sdilloncase "${host}" in 2043240Sdillon 2143240Sdillon*-*-freebsd* | *-*-kfreebsd*-gnu) 2243240Sdillon 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`' 2343240Sdillon 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`' 2443240Sdillon ;; 2543240Sdillon 2643240Sdillon*-*-linux*aout* | *-*-linux*oldld) 2743240Sdillon HOSTING_CRT0=/usr/lib/crt0.o 2843240Sdillon ;; 2943240Sdillon 3043240Sdillon*-*-linux*libc1*) 3143240Sdillon 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`' 3243240Sdillon 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' 3343240Sdillon ;; 3443240Sdillon 3543240Sdillon*-*-linux*) 3643240Sdillon HOSTING_CRT0='-dynamic-linker `${CC} --help --verbose 2>&1 | egrep "ld[^ ]*\.so" | 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`' 3743240Sdillon 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`' 3843240Sdillon ;; 3943240Sdillon 4043240Sdillon*-*-netbsd*) 4143240Sdillon # Different versions of NetBSD with the ELF object format use different 4243240Sdillon # sets of start/end files. 4343240Sdillon HOSTING_CRT0='-dynamic-linker /usr/libexec/ld.elf_so /usr/lib/crt0.o' 4443240Sdillon if [ -f `${CC} --print-file-name=crti.o` ]; then 4543240Sdillon # Support for GCC's crtstuff present. 4643240Sdillon HOSTING_CRT0="$HOSTING_CRT0 `${CC} --print-file-name=crti.o`" 4743240Sdillon if [ -f ../gcc/crtbegin.o ]; then 4843240Sdillon HOSTING_CRT0="$HOSTING_CRT0 ../gcc/crtbegin.o" 4943240Sdillon else 5043240Sdillon HOSTING_CRT0="$HOSTING_CRT0 `${CC} --print-file-name=crtbegin.o`" 5143240Sdillon fi 5243240Sdillon else 5343240Sdillon # Support for GCC's crtstuff not present. 5443240Sdillon HOSTING_CRT0="$HOSTING_CRT0 `${CC} --print-file-name=crtbegin.o`" 5543240Sdillon fi 5643240Sdillon if [ -f `${CC} --print-file-name=crtn.o` ]; then 5743240Sdillon # Support for GCC's crtstuff present. 5843240Sdillon if [ -f ../gcc/crtbegin.o ]; then 5943240Sdillon HOSTING_LIBS="$HOSTING_LIBS ../gcc/crtend.o" 6043240Sdillon else 6143240Sdillon HOSTING_LIBS="$HOSTING_LIBS `${CC} --print-file-name=crtend.o`" 6243240Sdillon fi 6343240Sdillon HOSTING_LIBS="$HOSTING_LIBS `${CC} --print-file-name=crtn.o`" 6443240Sdillon else 6543240Sdillon # Support for GCC's crtstuff not present. 6643240Sdillon HOSTING_LIBS="$HOSTING_LIBS `${CC} --print-file-name=crtend.o`" 6743240Sdillon fi 6843240Sdillon ;; 6943240Sdillon 7043240Sdillon*-*-openbsd*) 7143240Sdillon HOSTING_CRT0="-dynamic-linker /usr/libexec/ld.so /usr/lib/crt0.o" 7243240Sdillon HOSTING_CRT0="$HOSTING_CRT0 /usr/lib/crtbegin.o" 7343240Sdillon HOSTING_LIBS="$HOSTING_LIBS /usr/lib/crtend.o" 7443240Sdillon ;; 7543240Sdillon 7643240Sdillonesac 7743240Sdillon 7843240Sdillon# 7943240Sdillon# Now more specific configurations 8043240Sdillon# 8143240Sdillon 8243240Sdilloncase "${host}" in 8343240Sdillon 8443240Sdillon*-*-linux*aout* | *-*-linux*oldld | *-*-linux*libc1*) 8543240Sdillon # No further tweaking needed 8643240Sdillon ;; 8743240Sdillon 8843240Sdillonam33_2.0-*-linux*) 8943240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"` 9043240Sdillon ;; 9143240Sdillon 9243240Sdillonarm*-*-linux-*) 9343240Sdillon HOSTING_CRT0='-p '`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"` 9443240Sdillon ;; 9543240Sdillon 9643240Sdillonhppa*64*-*-hpux11*) 9743240Sdillon HOSTING_CRT0=/usr/ccs/lib/pa20_64/crt0.o 9843240Sdillon # Even if CC is not gcc, the tests use gcc. 9943240Sdillon 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' 10043240Sdillon ;; 10143240Sdillon 10243240Sdilloni[3-7]86-*-bsd* | i[3-7]86-*-freebsd[12] | i[3-7]86-*-freebsd[12]\.* | i[3-7]86-*-freebsd*aout*) 10343240Sdillon HOSTING_CRT0=/usr/lib/crt0.o 10443240Sdillon ;; 10543240Sdillon 10643240Sdilloni[3-7]86-*-sysv4*) 10743240Sdillon 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`' 10843240Sdillon 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' 10943240Sdillon ;; 11043240Sdillon 11143240Sdilloni[3-7]86-sequent-ptx* | i[3-7]86-sequent-sysv*) 11243240Sdillon HOSTING_CRT0='/lib/crt0.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} -print-file-name=crtbegin.o; fi`' 11343240Sdillon HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`' 11443240Sdillon ;; 11543240Sdillon 11643240Sdilloni[3-7]86-*-sysv*) 11743240Sdillon HOSTING_CRT0='/lib/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; fi`' 11843240Sdillon HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; fi` /lib/crtn.o' 11943240Sdillon ;; 12043240Sdillon 12143240Sdilloni[3-7]86-*-solaris*) 12243240Sdillon 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`' 12343240Sdillon 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`' 12443240Sdillon ;; 12543240Sdillon 12643240Sdilloni[3-7]86-*-sco* | i[3-7]86-*-isc*) 12743240Sdillon # In some configurations gcc does not use crtbegin.o and crtend.o. 12843240Sdillon # In that case gcc -print-file-name=crtbegin.o will simply print 12943240Sdillon # crtbegin.o. We create dummy crtbegin.o and crtend.o files to 13043240Sdillon # handle this. 13143240Sdillon echo "int dummy_crtbegin () { return 0; }" > crtbegin.c 13243240Sdillon ${CC} -c crtbegin.c -o crtbegin.o 13343240Sdillon rm -f crtbegin.c 13443240Sdillon echo "int dummy_crteng () { return 0; }" > crtend.c 13543240Sdillon ${CC} -c crtend.c -o crtend.o 13643240Sdillon rm -f crtend.c 13743240Sdillon HOSTING_CRT0='/lib/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} -print-file-name=crtbegin.o; fi`' 13843240Sdillon 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' 13943240Sdillon ;; 14043240Sdillon 14143240Sdilloni[3-7]86-pc-interix*) 14243240Sdillon HOSTING_CRT0='$$INTERIX_ROOT/usr/lib/crt0.o' 14343240Sdillon 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' 14443240Sdillon ;; 14543240Sdillon 14643240Sdilloni[3-7]86-*-cygwin*) 14743240Sdillon 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`' 14843240Sdillon ;; 14943240Sdillon 15043240Sdilloni[3-7]86-*-mingw*) 15143240Sdillon #We only support msvcrt.dll, crtid == 2. 15243240Sdillon HOSTING_CRT0='/mingw/lib/crt2.o' 15343240Sdillon HOSTING_LIBS='-L/mingw/lib -lmingw32 -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lmoldname -lmingwex -lmsvcrt `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`' 15443240Sdillon ;; 15543240Sdillon 15643240Sdillonia64-*-linux-*) 15743240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux-ia64,g"` 15843240Sdillon ;; 15943240Sdillon 16043240Sdillonmips*-sgi-irix4* | mips*-sgi-irix5*) 16143240Sdillon HOSTING_CRT0=/usr/lib/crt1.o 16243240Sdillon HOSTING_LIBS="$HOSTING_LIBS"' /usr/lib/crtn.o' 16343240Sdillon ;; 16443240Sdillon 16543240Sdillonmips*-sgi-irix6*) 16643808Sdillon HOSTING_CRT0='/usr/lib32/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o ; else ${CC} -print-file-name=crtbegin.o; fi`' 16743808Sdillon 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' 16843808Sdillon ;; 16943808Sdillon 17043808Sdillonmips*-*-linux-*) 17143240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` 17243240Sdillon ;; 17343240Sdillon 17443240Sdillonm68*-*-linux-*) 17543240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` 17643240Sdillon ;; 17743240Sdillon 17843240Sdillonm68*-motorola-sysv) 17943240Sdillon 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`' 18043240Sdillon HOSTING_LIBS=`echo "$HOSTING_LIBS" | sed -e "s,-lc,-lc881,"` 18143240Sdillon ;; 18243240Sdillon 18343240Sdillonm68*-sun-*) 18443240Sdillon HOSTING_CRT0='/usr/lib/crt0.o /usr/lib/Fcrt1.o -L/usr/lib/fsoft.o' 18543240Sdillon ;; 186129101Ssimon 18743240Sdillonm88*-*-dgux*) 18843240Sdillon HDEFINES=-D__using_DGUX 18943240Sdillon HOSTING_CRT0='/lib/crt0.o -X' 19043240Sdillon HOSTING_LIBS=/usr/sde/m88kbcs/lib/libc.a 19143240Sdillon ;; 19243240Sdillon 19343240Sdillonm88*-motorola-sysv3) 19443240Sdillon HOSTING_CRT0='/lib/crt0.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} -print-file-name=crtbegin.o; fi`' 19543240Sdillon HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`' 19643240Sdillon ;; 197129101Ssimon 19843240Sdillonpowerpc64*-*-linux-*) 19943240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld64.so.1,"` 20043240Sdillon ;; 20143240Sdillon 20243240Sdillonpowerpc*-*-linux-*) 20343240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` 20443240Sdillon ;; 20543240Sdillon 206129101Ssimons390x-*-linux-*) 20743240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld64.so.1,"` 20843240Sdillon ;; 20943240Sdillon 21043240Sdillons390-*-linux-*) 21143240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` 21243240Sdillon ;; 21343240Sdillon 21443240Sdillonsparc-*-solaris2*) 21543240Sdillon 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`' 216130786Smpp 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`' 21743240Sdillon ;; 21843240Sdillon 21943240Sdillonsparc64-*-solaris2* | sparcv9-*-solaris2*) 22043240Sdillon 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/sparcv9/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} -print-file-name=crtbegin.o; fi`' 22143240Sdillon 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`' 22243240Sdillon ;; 22343240Sdillon 22443240Sdillonsparc-*-linux-*) 22543240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld-linux.so.2,"` 22643240Sdillon ;; 22743240Sdillon 22843240Sdillonsparc64-*-linux-*) 22943240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux.so.2,"` 23043240Sdillon ;; 23143240Sdillon 23243240Sdillonx86_64-*-linux-*) 23343240Sdillon HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux-x86-64.so.2,"` 23443240Sdillon ;; 23543240Sdillon 23643240Sdillon*-*-freebsd* | *-*-kfreebsd*-gnu) 23743240Sdillon ;; 23843240Sdillon 23943240Sdillon*-*-linux*) 24043240Sdillon ;; 24143240Sdillon 24243240Sdillon*-*-netbsd*) 24343240Sdillon ;; 24443240Sdillon 24543240Sdillon*-*-openbsd*) 24643240Sdillon ;; 24743240Sdillon 24843240Sdillonalpha*-*-*) 24943240Sdillon HOSTING_CRT0=/usr/ccs/lib/crt0.o 25043240Sdillon ;; 25143240Sdillon 25243240Sdillonesac 25343240Sdillon