dnl ============================================================
dnl Process this file with autoconf to produce
dnl a configure script.
dnl ============================================================
AC_PREREQ(2.71)dnl dnl Minimum Autoconf version required.
AC_INIT([csvn-ui], [0.1.5],
[support@radix.pro], [csvn-ui], [https://radix.pro])
dnl ============================================================
dnl m4's diversions:
dnl ---------------
dnl
dnl see: /use/share/autoconf/autoconf/general.m4
dnl ============================================================
m4_divert_push([M4SH-INIT])
PACKAGE_CGI=csvn-ui.cgi
PACKAGE_LICENSE=Radix-1.0
CSVN_SCRIPT_DIR=/var/www/htdocs/csvn
m4_divert_pop([M4SH-INIT])
AC_CSVN_HEADLINE([csvn-ui], [cSvn-ui], [Copyright (c) 2019-2020 Andrey V.Kosteltsev])
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl $$ $$
dnl $$ PART: Init Automake environment $$
dnl $$ $$
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
AC_MSG_CFG_PART(Init Automake environment)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE([subdir-objects foreign no-dist-gzip dist-xz tar-pax])
AC_CONFIG_HEADERS([config.h])
AC_PREFIX_DEFAULT(/usr/local)
AC_MSG_CFG_PART(Test for GNU Gettext)
AM_GNU_GETTEXT([external])
AM_GNU_GETTEXT_VERSION
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl $$ $$
dnl $$ PART: Test for Build Tools $$
dnl $$ $$
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
AC_MSG_CFG_PART(Test for build tools)
AC_CHECK_TOOL([GCC], [gcc], [:])
AC_PATH_PROG([BISON], [bison], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
test "$BISON" = "no" && AC_MSG_ERROR([Unable to find required program 'bison'])
AC_MSG_CFG_PART(Test for Header files)
dnl
dnl Check for system header files.
dnl =============================
dnl /* GetText частично проверил. Но мы делаем для себя. */
AC_CHECK_HEADERS( locale.h )
AC_CHECK_HEADERS( sys/types.h sys/stat.h stdlib.h stddef.h )
AC_CHECK_HEADERS( memory.h string.h strings.h )
AC_CHECK_HEADERS( inntypes.h stdint.h unistd.h )
AC_CHECK_HEADERS( fcntl.h errno.h )
AC_CHECK_HEADERS( sys/file.h )
AC_CHECK_HEADERS( sys/uio.h )
AC_CHECK_HEADERS( stdarg.h )
AC_CHECK_HEADERS( sys/time.h )
AC_CHECK_HEADERS( limits.h )
AC_CHECK_HEADERS( endian.h )
AC_CHECK_HEADERS( pcre2.h )
AC_CHECK_HEADERS( wchar.h )
AC_CHECK_HEADERS( wctype.h )
AC_CHECK_HEADERS( math.h )
AC_CHECK_HEADERS( md4c.h md4c-html.h )
AC_CHECK_HEADERS( magic.h )
AC_MSG_CFG_PART(Test for cScm Configuration Daemon)
dnl Check for system header file <cscm/bcf.h> provided by cScm package:
dnl ==================================================================
AC_CHECK_HEADER([cscm/bcf.h],[AC_DEFINE(HAVE_CSCM_BCF_H, 1, [Define to 1 if you have the <cscm/bcf.h> header file.])],
[AC_MSG_ERROR([cscm/bcf.h not found. Please install cScm package.])])
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl $$ $$
dnl $$ PART: Test for Libraries $$
dnl $$ $$
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
AC_MSG_CFG_PART(Test for libraries)
AC_CHECK_LIB([pcre2-8],[pcre2_compile_8],[],[AC_MSG_ERROR([Unable to find required libpcre2-8])])
AC_CHECK_LIB([rt],[aio_suspend],[],[AC_MSG_ERROR([Unable to find required librt])])
AC_CHECK_LIB([m],[round],[],[AC_MSG_ERROR([Unable to find required libm])])
AC_CHECK_LIB([md4c],[md_parse],[],[AC_MSG_ERROR([Unable to find required libmd4c])])
AC_CHECK_LIB([md4c-html],[md_html],[],[AC_MSG_ERROR([Unable to find required libmd4c-html])])
AC_CHECK_LIB([magic],[magic_version],[],[AC_MSG_ERROR([Unable to find required libmagic])])
PKG_CHECK_MODULES([XML], [libxml-2.0 >= 2.9.7],
[AC_DEFINE([HAVE_LIBXML2],[1],[Define to 1 if you have the `xml2' library (-lxml2).])],
[AC_MSG_ERROR([Unable to find required libxml2])])
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl $$ $$
dnl $$ PART: Test for Runtime Tools $$
dnl $$ $$
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
AC_MSG_CFG_PART(Test for runtime tools)
AC_PATH_PROG([SVN], [svn], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
test "$SVN" = "no" && AC_MSG_ERROR([Unable to find required program 'svn'])
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl $$ $$
dnl $$ PART: cSvn Features $$
dnl $$ $$
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
AC_ARG_WITH([scriptdir],
[AS_HELP_STRING([--with-scriptdir=DIR], [cSvn-ui CGI script directory @<:@default=/var/www/htdocs/csvn@:>@],[26],[84])],
[scriptdir=$withval],
[scriptdir="/var/www/htdocs/csvn"])
AC_SUBST([scriptdir], [$scriptdir])
AC_SUBST([CSVN_SCRIPT_DIR], [$scriptdir])
AC_DEFINE_UNQUOTED([CSVN_SCRIPT_DIR], ["$CSVN_SCRIPT_DIR"], [Define the CGI script directory])
AC_SUBST(PROGRAM_CGI,[${PACKAGE_CGI}])
AC_SUBST(PROGRAM_VERSION,[${PACKAGE_VERSION}])
AC_SUBST(PROGRAM_LICENSE,[${PACKAGE_LICENSE}])
AC_DEFINE_UNQUOTED([PROGRAM_CGI], ["$PROGRAM_CGI"], [Define the CGI script name])
AC_DEFINE_UNQUOTED([PROGRAM_VERSION], ["$PROGRAM_VERSION"], [Define the version of all programs in this package])
AC_DEFINE_UNQUOTED([PROGRAM_LICENSE], ["$PROGRAM_LICENSE"], [Define the License of all programs in this package])
dnl ============================================================
dnl Environment Variables:
dnl ---------------------
dnl For 'Some influential environment variables:' help section
dnl ============================================================
AC_ARG_VAR([STRIP], [strip command])
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl $$ $$
dnl $$ PART: Test for Auxiliary (my be version sensitive) $$
dnl $$ programs $$
dnl $$ $$
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
AC_MSG_CFG_PART(Test for aux programs)
AC_PATH_PROG_LN_S
AC_PATH_PROG([CAT], [cat], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
AC_PATH_PROG([CHMOD], [chmod], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
AC_PATH_PROG([CP], [cp], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
AC_PATH_PROG([FIND], [find], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
AC_PATH_PROG([GZIP], [gzip], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
AC_PATH_PROG([MV], [mv], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
AC_PATH_PROG([RM], [rm], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
AC_PATH_PROG([SED], [sed], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
AC_PATH_PROG([TAR], [tar], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
AC_PATH_PROG([XZ], [xz], [no], [/usr/local/bin:/usr/bin:/bin:$PATH])
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl $$ $$
dnl $$ PART: OUTPUT Substitution $$
dnl $$ $$
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
dnl ============================================================
AC_MSG_CFG_PART(OUTPUT)
AC_CONFIG_FILES([ po/Makefile.in
csvncgi/Makefile
Makefile
])
AC_OUTPUT