config.if 2.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#! /dev/null
# Don't call it directly. This shell script fragment is called to
# determine:
#
#	1. libstcxx_interface: the interface name for libstdc++.
#	2. cxx_interface: the interface name for c++.
#	3. libc_interface: the interface name for libc.
#

# Get the top level src dir.
if [ -z "${topsrcdir}" -a -z "${top_srcdir}" ]
then
  echo "Undefined top level src dir: topsrcdir and top_srcdir are empty" >&2
  exit 1
fi

if [ -n "${topsrcdir}" ]
then
  if_topsrcdir=${topsrcdir}
else
  if_topsrcdir=${top_srcdir}
fi

24 25
if [ "${enable_libstdcxx_v3}" = "yes" ] ; then
  libstdcxx_srcdir=${if_topsrcdir}/libstdc++-v3
26 27
  # We check libstdc++-v3/configure.in for libstdcxx_interface.
  libstdcxx_interface=`grep "^INTERFACE" ${libstdcxx_srcdir}/configure.in | sed 's/INTERFACE[ 	]*=[ 	]*\(.*\)/\1/'`
28 29
else
  libstdcxx_srcdir=${if_topsrcdir}/libstdc++
30 31
  # We check libstdc++/Makefile.in for libstdcxx_interface.
  libstdcxx_interface=`grep "^INTERFACE" ${libstdcxx_srcdir}/Makefile.in | sed 's/INTERFACE[ 	]*=[ 	]*\(.*\)/\1/'`
32
fi
33 34 35
libstdcxx_incdir=g++-${libstdcxx_interface}
# Used to version libstdc++ shared libraries
cxx_interface=2
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

# The trickiest part is libc_interface.
if [ -z "${libc_interface}" ]
then
  case ${target_os} in
  *linux*libc1*|*linux*libc5*)
    case ${target_alias} in
    *alpha*|*powerpc*)
      libc_interface=-libc5.9-
      ;;
    *)
      libc_interface=-libc5-
      ;;
    esac
    ;;
  *linux*gnu*)
    # We have to work harder to figure it out.
    if [ ${target_alias} = ${build_alias} ]
    then
      dummy=if$$
      cat >$dummy.c <<EOF
#include <features.h>                      
main(argc, argv)
     int argc;          
     char *argv[];
{
  printf("%d\n", __GLIBC_MINOR__);
  return 0;
}
EOF
      ${CC-cc} $dummy.c -o $dummy 2>/dev/null
      if [ "$?" = 0 ]
      then
	libc_interface=-libc6.`./$dummy`-
	rm -f $dummy.c $dummy
      else
	# It should never happen.
	echo "Cannot find the GNU C library minor version number." >&2
	rm -f $dummy.c $dummy
	exit 1
      fi
    else
      # Cross compiling. Assume glibc 2.1.
      libc_interface=-libc6.1-
    fi
    ;;
  *)
    libc_interface=-
    ;;
  esac
fi