# klibc.m4 serial 99 | |
## Copyright (C) 1995-2003 Free Software Foundation, Inc. | |
## This file is free software, distributed under the terms of the GNU | |
## General Public License. As a special exception to the GNU General | |
## Public License, this file may be distributed as part of a program | |
## that contains a configuration script generated by Autoconf, under | |
## the same distribution terms as the rest of that program. | |
## | |
## This file can can be used in projects which are not available under | |
## the GNU General Public License or the GNU Library General Public | |
## License but which still want to provide support for the GNU gettext | |
## functionality. | |
## Please note that the actual code of the KLIBC Library is partly covered | |
## by the GNU Library General Public License, and party copyrighted by the | |
## Regents of The University of California, and the rest is covered by a | |
## MIT style license. | |
# Authors: | |
# Martin Schlemmer <azarah@nosferatu.za.org>, 2005. | |
# AC_CHECK_KLIBC | |
# -------------- | |
# Check if the user wants KLIBC support enabled. If so, set KLIBC=yes and | |
# fill in KLIBC_PREFIX, KLIBC_BINDIR, KLIBC_SBINDIR, KLIBC_LIBDIR and | |
# KLIBC_INCLUDEDIR. CC is also set to the proper klcc executable. | |
# NOTE: This should be called before AC_PROG_CC, and before header, function | |
# or type checks. | |
AC_DEFUN([AC_CHECK_KLIBC], | |
[AC_BEFORE([$0], [AC_PROG_CC]) | |
AC_REQUIRE([AC_CANONICAL_HOST]) | |
AC_ARG_ENABLE([klibc], | |
[AS_HELP_STRING([--enable-klibc], | |
[Enable linking to klibc [no]. You need at | |
least klibc-1.0 or later for this. Set KLCC | |
to the absolute file name of klcc if not in | |
the PATH])], | |
[KLIBC=$enableval], [KLIBC=no]) | |
AC_ARG_ENABLE([klibc-layout], | |
[AS_HELP_STRING([--enable-klibc-layout], | |
[Enable installing binaries, libraries and | |
headers into the klibc prefix [yes] ])], | |
[if test "X$KLIBC" != Xno; then | |
KLIBC_LAYOUT=$enableval | |
else | |
KLIBC_LAYOUT=no | |
fi], | |
[if test "X$KLIBC" != Xno; then | |
KLIBC_LAYOUT=yes | |
else | |
KLIBC_LAYOUT=no | |
fi]) | |
if test "X$KLIBC" != Xno; then | |
# Basic cross compiling support. I do not think it is wise to use | |
# AC_CHECK_TOOL, because if we are cross compiling, we do not want | |
# just 'klcc' to be returned ... | |
if test "${host_alias}" != "${build_alias}"; then | |
AC_CHECK_PROGS([KLCC], [${host_alias}-klcc], [no]) | |
else | |
AC_CHECK_PROGS([KLCC], [klcc], [no]) | |
fi | |
if test "X$KLCC" = Xno; then | |
AC_MSG_ERROR([cannot find klibc frontend 'klcc'!]) | |
fi | |
CC="$KLCC" | |
CFLAGS="-Os" | |
KLIBC_KCROSS="$($KLCC -print-klibc-kcross 2>/dev/null)" | |
KLIBC_PREFIX="$($KLCC -print-klibc-prefix 2>/dev/null)" | |
KLIBC_BIN_DIR="$($KLCC -print-klibc-bindir 2>/dev/null)" | |
KLIBC_SBIN_DIR="${KLIBC_PREFIX}/${KLIBC_KCROSS}sbin" | |
KLIBC_LIB_DIR="$($KLCC -print-klibc-libdir 2>/dev/null)" | |
KLIBC_INCLUDE_DIR="$($KLCC -print-klibc-includedir 2>/dev/null)" | |
if test "X$KLIBC_LAYOUT" != Xno; then | |
prefix="$KLIBC_PREFIX" | |
bindir="$KLIBC_BIN_DIR" | |
sbindir="$KLIBC_SBIN_DIR" | |
libdir="$KLIBC_LIB_DIR" | |
includedir="$KLIBC_INCLUDE_DIR" | |
fi | |
# At least KLIBC_LIB_DIR should be valid, else klibc is too old or | |
# something went wrong | |
if test ! -d "$KLIBC_LIB_DIR"; then | |
AC_MSG_ERROR([your klibc installation is too old or not functional!]) | |
fi | |
fi | |
AC_SUBST(KLIBC) | |
])# AC_CHECK_KLIBC |