diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 222 |
1 files changed, 222 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..07c2502 --- /dev/null +++ b/configure.ac @@ -0,0 +1,222 @@ +# +# configure.ac -- autoconf configuration for the LZO library +# +# This file is part of the LZO data compression library. +# +# Copyright (C) 1996-2008 Markus Franz Xaver Johannes Oberhumer +# All Rights Reserved. +# +# The LZO library is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# The LZO library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with the LZO library; see the file COPYING. +# If not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Markus F.X.J. Oberhumer +# <markus@oberhumer.com> +# http://www.oberhumer.com/opensource/lzo/ +# + + +# /*********************************************************************** +# // Init +# ************************************************************************/ + +AC_COPYRIGHT([Copyright (C) 1996-2008 Markus Franz Xaver Johannes Oberhumer. +All Rights Reserved. +This configure script may be copied, distributed and modified under the +terms of the GNU General Public License; see COPYING for more details.]) + +AC_PREREQ(2.59) +AC_INIT([lzo],[2.03],[markus@oberhumer.com]) +AC_MSG_NOTICE([Configuring LZO $PACKAGE_VERSION]) +AC_CONFIG_SRCDIR(src/lzo_init.c) +AC_CONFIG_AUX_DIR(autoconf) +AC_PREFIX_DEFAULT(/usr/local) +AC_CANONICAL_BUILD +AC_CANONICAL_HOST +AC_CANONICAL_TARGET +AM_MAINTAINER_MODE + +if test -z "$ac_abs_top_srcdir"; then + _AC_SRCPATHS(.) +fi +if test -r .Conf.settings1; then + . ./.Conf.settings1 +fi + +AC_PROG_CC +AC_PROG_CPP +mfx_PROG_CPPFLAGS +AC_C_CONST +mfx_LZO_CHECK_ENDIAN +AC_SYS_LARGEFILE + +AM_INIT_AUTOMAKE +AC_CONFIG_HEADERS([config.h:config.hin]) + +AC_ENABLE_STATIC +AC_DISABLE_SHARED +AC_PROG_LIBTOOL + + +# /*********************************************************************** +# // Checks for assembler +# ************************************************************************/ + +AC_ARG_ENABLE(asm, AS_HELP_STRING(--disable-asm,disable assembly versions)) + +asm_arch= +asm_dir= +asm_msg_amd64=no +asm_msg_i386=no + +case $host_cpu in + amd64 | x86_64) asm_arch="amd64"; asm_dir="asm/amd64/src_gas/elf64" ;; + i?86) asm_arch="i386"; asm_dir="asm/i386/src_gas" ;; + *) enable_asm=no ;; +esac +LZO_ASM_VPATH= + +AC_MSG_CHECKING([whether to build assembly versions]) +if test "X$enable_asm" != Xno; then +mfx_compile_S='${CC-cc} -c conftest.S 1>&AS_MESSAGE_LOG_FD' +cat > conftest.S <<EOF +#include "$ac_abs_top_srcdir/$asm_dir/lzo1x_f1.S" +EOF +enable_asm=no +if AC_TRY_EVAL(mfx_compile_S); then + if AC_TRY_COMMAND([test -s conftest.$ac_objext]); then + enable_asm=yes + eval asm_msg_$asm_arch="'yes [[$asm_dir]]'" + LZO_ASM_VPATH=":$ac_abs_top_srcdir/$asm_dir" + fi +fi +if test "X$enable_asm" = Xno; then + echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.S >&AS_MESSAGE_LOG_FD +fi +rm -rf conftest* +fi +AC_MSG_RESULT([$enable_asm]) + +AM_CONDITIONAL(LZO_USE_ASM, [test "X$enable_asm" != Xno]) +AC_SUBST(LZO_ASM_VPATH) + + +# /*********************************************************************** +# // Checks for header files +# ************************************************************************/ + +mfx_ACC_CHECK_HEADERS +dnl AC_CHECK_HEADERS([sys/param.h sys/resource.h sys/times.h]) +if test "X$ac_cv_header_limits_h" != Xyes; then + AC_MSG_ERROR([<limits.h> header not found]) +fi +mfx_CHECK_HEADER_SANE_LIMITS_H +if test "X$mfx_cv_header_sane_limits_h" != Xyes; then + AC_MSG_ERROR([your <limits.h> header is broken - for details see config.log]) +fi + + +# /*********************************************************************** +# // Checks for typedefs and structures +# ************************************************************************/ + +AC_TYPE_OFF_T +AC_CHECK_TYPE(ptrdiff_t,long) +AC_TYPE_SIZE_T +AC_TYPE_SIGNAL + +mfx_ACC_CHECK_SIZEOF +mfx_CHECK_SIZEOF + + +# /*********************************************************************** +# // Checks for library functions +# ************************************************************************/ + +mfx_ACC_CHECK_FUNCS +mfx_CHECK_LIB_WINMM + + +# /*********************************************************************** +# // Write output files +# ************************************************************************/ + +mfx_MINIACC_ACCCHK(["-I$srcdir"],["src/miniacc.h"]) + +if test -r .Conf.settings2; then + . ./.Conf.settings2 +fi + +test "X$CPPFLAGS" != "X" && CPPFLAGS="$CPPFLAGS " +CPPFLAGS="${CPPFLAGS}-DLZO_HAVE_CONFIG_H" +if test "X$enable_asm" != Xno; then + CPPFLAGS="$CPPFLAGS -DLZO_USE_ASM" +fi +AC_SUBST(LZO_CPPFLAGS) +AC_SUBST(LZO_EXTRA_CPPFLAGS) +AC_SUBST(LZO_CFLAGS) +AC_SUBST(LZO_EXTRA_CFLAGS) + +configure_CPPFLAGS=$CPPFLAGS +configure_CFLAGS=$CFLAGS +AC_SUBST(configure_CPPFLAGS) +AC_SUBST(configure_CFLAGS) + +AC_CONFIG_FILES([Makefile examples/Makefile include/Makefile include/lzo/Makefile lzotest/Makefile minilzo/Makefile src/Makefile tests/Makefile]) +AC_OUTPUT + + +## enable AMD64 assembly code : ${asm_msg_amd64} +cat <<EOF + + LZO configuration summary + ------------------------- + LZO version : ${PACKAGE_VERSION} + configured for host : ${host_cpu}-${host_vendor}-${host_os} + source code location : ${srcdir} + compiler : ${CC} + preprocessor flags : ${CPPFLAGS} + compiler flags : ${CFLAGS} + build static library : ${enable_static} + build shared library : ${enable_shared} + enable i386 assembly code : ${asm_msg_i386} + + + LZO ${PACKAGE_VERSION} configured. + + Copyright (C) 1996-2008 Markus Franz Xaver Johannes Oberhumer + All Rights Reserved. + + The LZO library is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of + the License, or (at your option) any later version. + + The LZO library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + Markus F.X.J. Oberhumer + <markus@oberhumer.com> + http://www.oberhumer.com/opensource/lzo/ + + +Type \`make' to build LZO. Type \`make install' to install LZO. +After installing LZO, please read the accompanied documentation. + +EOF + +# vi:ts=4:et |