# This file is part of GDBM. -*- autoconf -*-
# Copyright (C) 2007, 2009, 2011, 2013-2014, 2016-2018 Free Software
# Foundation, Inc.
#
# GDBM 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, or (at your option)
# any later version.
#
# GDBM 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 GDBM. If not, see . */
m4_define([_GDBM_VERSION_MAJOR], 1)
m4_define([_GDBM_VERSION_MINOR], 14)
m4_define([_GDBM_VERSION_PATCH], 1)
AC_INIT([gdbm],
_GDBM_VERSION_MAJOR._GDBM_VERSION_MINOR[]m4_ifdef([_GDBM_VERSION_PATCH],._GDBM_VERSION_PATCH),
[bug-gdbm@gnu.org],,
[http://www.gnu.org/software/gdbm])
AC_PREREQ(2.69)
AC_CONFIG_SRCDIR([src/gdbmdefs.h])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS([autoconf.h])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([gnits 1.11 std-options silent-rules])
# Enable silent rules by default:
AM_SILENT_RULES([yes])
AC_SUBST([GDBM_VERSION_MAJOR], _GDBM_VERSION_MAJOR)
AC_SUBST([GDBM_VERSION_MINOR], _GDBM_VERSION_MINOR)
AC_SUBST([GDBM_VERSION_PATCH], m4_ifdef([_GDBM_VERSION_PATCH],_GDBM_VERSION_PATCH,0))
AC_ARG_ENABLE([memory-mapped-io],
AC_HELP_STRING(
[--enable-memory-mapped-io]
[Use mmap(2) for disk I/O. (Default is YES.)]),
[mapped_io=$enableval],
[mapped_io=yes])
AC_ARG_ENABLE([libgdbm-compat],
AC_HELP_STRING(
[--enable-libgdbm-compat]
[Build and install libgdbm_compat. (Default is NO.)]),
[want_compat=$enableval],
[want_compat=no])
AC_ARG_VAR([COMPATINCLUDEDIR],[installation directory for dbm.h and ndbm.h])
test -z "$COMPATINCLUDEDIR" && COMPATINCLUDEDIR='$(includedir)'
AC_ARG_ENABLE([gdbm-export],
AC_HELP_STRING(
[--enable-gdbm-export],
[Build and install gdbmexport with specified gdbm 1.8 library. (Default is NO.)]),
[want_export=$enableval],
[want_export=no])
AC_ARG_WITH([gdbm183-library],
AC_HELP_STRING(
[--with-gdbm183-library],
[Build gdbmexport with specified (static) library.]),
[GDBM183_LIBRARY=$withval],
[GDBM183_LIBRARY="-lgdbm"])
AC_ARG_WITH([gdbm183-libdir],
AC_HELP_STRING(
[--with-gdbm183-libdir],
[Build gdbmexport with the gdbm library in the specified directory.]),
[GDBM183_LIBDIR=$withval],
[GDBM183_LIBDIR="/usr/local/lib"])
AC_ARG_WITH([gdbm183-includedir],
AC_HELP_STRING(
[--with-gdbm183-includedir],
[Build gdbmexport with gdbm.h in the specified directory.]),
[GDBM183_INCLUDEDIR=$withval],
[GDBM183_INCLUDEDIR="/usr/local/include"])
dnl Check for programs
AC_PROG_CC
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LIBTOOL
AC_SYS_LARGEFILE
AC_PROG_YACC
AC_PROG_LEX
AC_C_CONST
AC_TYPE_UNSIGNED_LONG_LONG_INT
AC_SUBST(GDBM_COUNT_T)
if test $ac_cv_type_unsigned_long_long_int = yes; then
GDBM_COUNT_T="unsigned long long int"
else
GDBM_COUNT_T="unsigned long"
fi
AC_MSG_CHECKING([for TLS qualifier])
AC_TRY_COMPILE([],
[static __thread int x = 0;],
[gdbm_cv__thread=__thread],
[gdbm_cv__thread=])
AC_MSG_RESULT($gdbm_cv__thread)
AC_DEFINE_UNQUOTED([GDBM_THREAD_LOCAL],$gdbm_cv__thread,[TLS qualifier])
dnl Internationalization macros.
AM_GNU_GETTEXT([external], [need-ngettext])
AM_GNU_GETTEXT_VERSION(0.18)
AC_CHECK_HEADERS([sys/file.h sys/termios.h string.h locale.h getopt.h])
AC_CHECK_LIB(dbm, main)
AC_CHECK_LIB(ndbm, main)
AC_CHECK_FUNCS([ftruncate flock lockf fsync setlocale getopt_long])
if test x$mapped_io = xyes
then
AC_FUNC_MMAP()
AC_CHECK_FUNCS([msync])
fi
AC_TYPE_OFF_T
AC_CHECK_SIZEOF(off_t)
AC_CHECK_MEMBERS([struct stat.st_blksize])
AC_SUBST(GDBM183_LIBRARY)
AC_SUBST(GDBM183_LIBDIR)
AC_SUBST(GDBM183_INCLUDEDIR)
AM_CONDITIONAL([COMPAT_OPT], [test "$want_compat" = yes])
AM_CONDITIONAL([ENABLE_EXPORT], [test "$want_export" = yes])
# Check for Curses libs.
for lib in ncurses curses termcap
do
AC_CHECK_LIB($lib, tputs, [CURSES_LIBS="-l$lib"; break])
done
AC_SUBST(CURSES_LIBS)
# Readline
AC_ARG_WITH([readline],
AC_HELP_STRING([--without-readline],
[do not use readline]),
[
case "${withval}" in
yes) status_readline=yes ;;
no) status_readline=no ;;
*) AC_MSG_ERROR(bad value ${withval} for --without-readline) ;;
esac],[status_readline=probe])
AC_SUBST(READLINE_LIBS)
if test "$status_readline" != "no"; then
dnl FIXME This should only link in the curses libraries if it's
dnl really needed!
saved_LIBS=$LIBS
LIBS="$LIBS $CURSES_LIBS"
AC_CHECK_LIB(readline, readline,
[status_readline=yes],
[if test "$status_readline" = "yes"; then
AC_MSG_ERROR(readline requested but does not seem to be installed)
else
status_readline=no
fi])
LIBS=$saved_LIBS
if test "$status_readline" = "yes"; then
AC_CHECK_HEADERS(readline/readline.h,
AC_DEFINE(WITH_READLINE,1,[Enable use of readline]))
READLINE_LIBS="-lreadline $CURSES_LIBS"
saved_LIBS=$LIBS
LIBS="$LIBS $READLINE_LIBS"
AC_CHECK_FUNCS(rl_completion_matches)
LIBS=$saved_LIBS
fi
else
status_readline=no
fi
AM_CONDITIONAL([GDBM_COND_READLINE], [test "$status_readline" = "yes"])
# Additional debugging
AC_ARG_ENABLE([debug],
AC_HELP_STRING([--enable-debug],
[provide additional debugging information]),
[status_debug=$withval],
[status_debug=no])
AC_SUBST([GDBM_DEBUG_ENABLE])
if test "$status_debug" = "yes"; then
GDBM_DEBUG_ENABLE=1
else
GDBM_DEBUG_ENABLE=0
fi
AM_CONDITIONAL([GDBM_COND_DEBUG_ENABLE], [test "$status_debug" = "yes"])
# Initialize the test suite.
AC_CONFIG_TESTDIR(tests)
AC_CONFIG_FILES([tests/Makefile tests/atlocal po/Makefile.in])
AM_MISSING_PROG([AUTOM4TE], [autom4te])
AC_CONFIG_COMMANDS([status],[
cat <