dnl =================================================================== dnl Licensed to the Apache Software Foundation (ASF) under one dnl or more contributor license agreements. See the NOTICE file dnl distributed with this work for additional information dnl regarding copyright ownership. The ASF licenses this file dnl to you under the Apache License, Version 2.0 (the dnl "License"); you may not use this file except in compliance dnl with the License. You may obtain a copy of the License at dnl dnl http://www.apache.org/licenses/LICENSE-2.0 dnl dnl Unless required by applicable law or agreed to in writing, dnl software distributed under the License is distributed on an dnl "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY dnl KIND, either express or implied. See the License for the dnl specific language governing permissions and limitations dnl under the License. dnl =================================================================== dnl dnl The default behaviour is to use pkg-config to look for an LZ4 dnl library and if that fails to simply try linking -llz4. dnl dnl The user can specify --with-lz4=PREFIX to look in PREFIX or dnl --with-lz4=internal to use the internal copy of the LZ4 code. AC_DEFUN(SVN_LZ4, [ AC_ARG_WITH([lz4], [AS_HELP_STRING([--with-lz4=PREFIX|internal], [look for lz4 in PREFIX or use the internal code])], [ if test "$withval" = internal; then lz4_prefix=internal elif test "$withval" = yes; then lz4_prefix=std else lz4_prefix="$withval" fi ], [lz4_prefix=std]) if test "$lz4_prefix" = "no"; then dnl The user has tried to disable LZ4 AC_MSG_ERROR([Subversion requires LZ4]) fi if test "$lz4_prefix" = "internal"; then AC_MSG_NOTICE([using internal lz4]) AC_DEFINE([SVN_INTERNAL_LZ4], [1], [Define to use internal LZ4 code]) else if test "$lz4_prefix" = "std"; then SVN_LZ4_STD else SVN_LZ4_PREFIX fi if test "$lz4_found" != "yes"; then AC_MSG_ERROR([Subversion requires LZ4 >= r129, or use --with-lz4=internal]) fi fi AC_SUBST(SVN_LZ4_INCLUDES) AC_SUBST(SVN_LZ4_LIBS) ]) dnl LZ4 changed versioning schemes after r131, the next version being 1.7.3, so dnl we need to check for both schemes. We can't use "--atleast-version=1.7.3" dnl because that will result in a >= 1 check for the older versioning scheme. dnl Instead, fallback to --max-version=3 if the old scheme fails. This gives a dnl little room for major version changes, but won't falsely identify old dnl versions as supported. AC_DEFUN(SVN_LZ4_STD, [ if test -n "$PKG_CONFIG"; then AC_MSG_CHECKING([for lz4 library via pkg-config]) if $PKG_CONFIG liblz4 --atleast-version=129 || $PKG_CONFIG liblz4 --max-version=3; then AC_MSG_RESULT([yes]) lz4_found=yes SVN_LZ4_INCLUDES=`$PKG_CONFIG liblz4 --cflags` SVN_LZ4_LIBS=`$PKG_CONFIG liblz4 --libs` SVN_LZ4_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS($SVN_LZ4_LIBS)`" else AC_MSG_RESULT([no]) fi fi if test "$lz4_found" != "yes"; then AC_MSG_NOTICE([lz4 configuration without pkg-config]) AC_CHECK_LIB(lz4, LZ4_compress_default, [ lz4_found=yes SVN_LZ4_LIBS="-llz4" ]) fi ]) AC_DEFUN(SVN_LZ4_PREFIX, [ AC_MSG_NOTICE([lz4 configuration via prefix]) save_cppflags="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -I$lz4_prefix/include" save_ldflags="$LDFLAGS" LDFLAGS="$LDFLAGS -L$lz4_prefix/lib" AC_CHECK_LIB(lz4, LZ4_compress_default, [ lz4_found=yes SVN_LZ4_INCLUDES="-I$lz4_prefix/include" SVN_LZ4_LIBS="`SVN_REMOVE_STANDARD_LIB_DIRS(-L$lz4_prefix/lib)` -llz4" ]) LDFLAGS="$save_ldflags" CPPFLAGS="$save_cppflags" ])