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