summaryrefslogtreecommitdiff
path: root/dev-libs/klibc/files/klibc.m4
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/klibc/files/klibc.m4')
-rw-r--r--dev-libs/klibc/files/klibc.m494
1 files changed, 94 insertions, 0 deletions
diff --git a/dev-libs/klibc/files/klibc.m4 b/dev-libs/klibc/files/klibc.m4
new file mode 100644
index 00000000..38922697
--- /dev/null
+++ b/dev-libs/klibc/files/klibc.m4
@@ -0,0 +1,94 @@
+# 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
+