| # 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 |
| |