# Copyright 2010 Nathan Phillip Brink, Ethan Zonca
#
# This file is a part of DistRen.
#
# Distren is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# DistRen 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 Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with DistRen. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.61)
AC_INIT([distren],[0.0],[http://bugs.ohnopub.net/])
AC_CONFIG_SRCDIR([src/server/distrend.c])
AC_CONFIG_MACRO_DIR([m4])
AC_PROG_CC
AC_PROG_LIBTOOL
#AC_PROG_RANLIB #don't add this even if autoscan says to, because AC_PROG_LIBTOOL is enough
AM_INIT_AUTOMAKE([gnu dist-bzip2 subdir-objects -Wall])
AM_PROG_CC_C_O
#basic low-level checks (suggested by autoscan)
AC_CHECK_FUNCS([dup2])
AC_CHECK_FUNCS([memset])
AC_CHECK_FUNCS([strdup])
AC_CHECK_HEADERS([fcntl.h])
AC_CHECK_HEADERS([malloc.h])
AC_FUNC_FORK
AC_FUNC_MALLOC
AC_TYPE_PID_T
AC_TYPE_SIZE_T
# selective compilation
# For now, this is only left for when the C-based client is
# reintroducded.
AC_ARG_ENABLE([server],
[AS_HELP_STRING([--disable-server],[Don't build the distren server])],
[enable_server=$enableval],
[enable_server=yes])
AM_CONDITIONAL([ENABLE_SERVER],
[test "x$enable_server" = "xyes"])
# to grab GNU-specific function prototypes for the following functions:
# getline
AC_DEFINE([_GNU_SOURCE], [1])
#package dependencies:
PKG_PROG_PKG_CONFIG(0.17.2)
PKGCONFIG_OHNOWRAP([DISTLIBS], [libconfuse >= 2.5 libcurl libxml-2.0 liblist >= 2.2.1 libarchive >= 2.8.0 ])
AX_LIB_MYSQL
AS_IF( [test "x${MYSQL_VERSION}" = "x"],
[ AC_MSG_ERROR([I need mysql]) ] )
PKGCONFIG_OHNOWRAP([CHECK], [check >= 0.9.3])
# define paths for configuration files:
AC_DEFINE_DIR([LOCALSTATEDIR], [localstatedir], [Default directory for storing state information])
AC_DEFINE_DIR([RUNSTATEDIR], [localstatedir/run], [Default directory for registering runtime information like pid-files])
AC_CONFIG_FILES([Makefile
etc/distrendaemon.conf
etc/distrenslave.conf
])
AC_OUTPUT