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 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 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