target.h (targetm.address_cost): New.
[gcc.git] / config.if
1 #! /dev/null
2 # Don't call it directly. This shell script fragment is called to
3 # determine:
4 #
5 # 1. libstcxx_incdir: the interface name for libstdc++.
6 # 2. libc_interface: the interface name for libc.
7 #
8
9 # Get the top level src dir.
10 if [ -z "${topsrcdir}" -a -z "${top_srcdir}" ]
11 then
12 echo "Undefined top level src dir: topsrcdir and top_srcdir are empty" >&2
13 exit 1
14 fi
15
16 if [ -n "${topsrcdir}" ]
17 then
18 if_topsrcdir=${topsrcdir}
19 else
20 if_topsrcdir=${top_srcdir}
21 fi
22
23 # Set libstdcxx_incdir.
24 # This is the same as gcc/configure.in and libstdc++-v3/acinclude.m4.
25 gcc_version_trigger=${if_topsrcdir}/gcc/version.c
26 gcc_version_full=`grep version_string ${gcc_version_trigger} | sed -e 's/.*"\([^"]*\)".*/\1/'`
27 gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
28 libstdcxx_incdir=c++/${gcc_version}
29
30 # The trickiest part is libc_interface.
31 if [ -z "${libc_interface}" ]
32 then
33 case ${target_os} in
34 *linux*libc1*|*linux*libc5*)
35 case ${target_alias} in
36 *alpha*|*powerpc*)
37 libc_interface=-libc5.9-
38 ;;
39 *)
40 libc_interface=-libc5-
41 ;;
42 esac
43 ;;
44 *linux*gnu*)
45 # We have to work harder to figure it out.
46 if [ ${target_alias} = ${build_alias} ]
47 then
48 dummy=if$$
49 cat >$dummy.c <<EOF
50 #include <features.h>
51 main(argc, argv)
52 int argc;
53 char *argv[];
54 {
55 printf("%d\n", __GLIBC_MINOR__);
56 return 0;
57 }
58 EOF
59 ${CC-cc} $dummy.c -o $dummy 2>/dev/null
60 if [ "$?" = 0 ]
61 then
62 libc_interface=-libc6.`./$dummy`-
63 rm -f $dummy.c $dummy
64 else
65 # It should never happen.
66 echo "Cannot find the GNU C library minor version number." >&2
67 rm -f $dummy.c $dummy
68 exit 1
69 fi
70 else
71 # Cross compiling. Assume glibc 2.1.
72 libc_interface=-libc6.1-
73 fi
74 ;;
75 *)
76 libc_interface=-
77 ;;
78 esac
79 fi