From 12c7b1c5658602269da2f5b75835ec0f5fab8890 Mon Sep 17 00:00:00 2001 From: kx Date: Fri, 24 Mar 2023 02:53:04 +0300 Subject: Version 0.1.4 --- configure.ac | 262 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 262 insertions(+) create mode 100644 configure.ac (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..cc7eaba --- /dev/null +++ b/configure.ac @@ -0,0 +1,262 @@ + +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([cscm], [0.1.4], + [support@radix.pro], [cscm], [https://radix.pro]) + +dnl ============================================================ +dnl m4's diversions: +dnl --------------- +dnl +dnl see: /use/share/autoconf/autoconf/general.m4 +dnl ============================================================ +m4_divert_push([M4SH-INIT]) +CSVN_NAME=svn +CSVN_CONFIG_FILE=csvn-ui.rc +CSVN_PROGRAM=csvn +CSVN_PROGRAM_NAME=cSvn +CGIT_NAME=git +CGIT_CONFIG_FILE=cgit-ui.rc +CGIT_PROGRAM=cgit +CGIT_PROGRAM_NAME=cGit +PACKAGE_DAEMON=cscmd +PACKAGE_LICENSE=Radix-1.0 +CSCM_CONTROL_DIR=/etc/rc.d +CSCM_LOGROTATE_DIR=/etc/logrotate.d +CSCM_HOME_PATH=/var/lib +CSCM_LOG_DIR=/var/log +CSCM_PID_DIR=/var/run +m4_divert_pop([M4SH-INIT]) + +AC_CSCM_HEADLINE([cscm], [cScm], [Copyright (c) 2019-2022 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]) + +AC_CONFIG_HEADERS([config.h]) + +AC_PREFIX_DEFAULT(/usr/local) + + +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 ) + +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([rt],[aio_suspend],[],[AC_MSG_ERROR([Unable to find required librt])]) +AC_CHECK_LIB([pcre2-32],[pcre2_compile_32],[],[AC_MSG_ERROR([Unable to find required libpcre2-32])]) +AC_CHECK_LIB([m],[round],[],[AC_MSG_ERROR([Unable to find required libm])]) + + +dnl ============================================================ +dnl ============================================================ +dnl ============================================================ +dnl ============================================================ +dnl ============================================================ +dnl $$ $$ +dnl $$ PART: cScm Features $$ +dnl $$ $$ +dnl ============================================================ +dnl ============================================================ +dnl ============================================================ +dnl ============================================================ +dnl ============================================================ +AC_ARG_WITH([controldir], + [AS_HELP_STRING([--with-controldir=DIR], [cScm Daemon CONTROL directory @<:@default=/etc/rc.d@:>@],[26],[84])], + [controldir=$withval], + [controldir="/etc/rc.d"]) +AC_SUBST([controldir], [$controldir]) +AC_SUBST([CSCM_CONTROL_DIR], [$controldir]) +AC_DEFINE_UNQUOTED([CSCM_CONTROL_DIR], ["$CSCM_CONTROL_DIR"], [Define the cScm Daemon CONTROL directory]) + +AC_ARG_WITH([logrotatedir], + [AS_HELP_STRING([--with-logrotatedir=DIR], [cScm Daemon LOGROTATE directory @<:@default=/etc/logrotate.d@:>@],[26],[87])], + [logrotatedir=$withval], + [logrotatedir="/etc/logrotate.d"]) +AC_SUBST([logrotatedir], [$logrotatedir]) +AC_SUBST([CSCM_LOGROTATE_DIR], [$logrotatedir]) +AC_DEFINE_UNQUOTED([CSCM_LOGROTATE_DIR], ["$CSCM_LOGROTATE_DIR"], [Define the cScm Daemon LOGROTATE directory]) + +AC_ARG_WITH([homepath], + [AS_HELP_STRING([--with-homepath=DIR], [cSvn Daemon path to HOME directories @<:@default=/var/lib@:>@],[26],[84])], + [homepath=$withval], + [homepath="/var/lib"]) +AC_SUBST([homepath], [$homepath]) +AC_SUBST([CSCM_HOME_PATH], [$homepath]) +AC_DEFINE_UNQUOTED([CSCM_HOME_PATH], ["$CSCM_HOME_PATH"], [Define the cScm Daemon path to HOME directories]) +AC_SUBST([csvndhomedir], [$homepath/$CSVN_PROGRAM]) +AC_SUBST([CSVN_HOME_DIR], [$csvndhomedir]) +AC_DEFINE_UNQUOTED([CSVN_HOME_DIR], ["$CSVN_HOME_DIR"], [Define the cSvn Daemon HOME directory]) +AC_SUBST([cgitdhomedir], [$homepath/$CGIT_PROGRAM]) +AC_SUBST([CGIT_HOME_DIR], [$cgitdhomedir]) +AC_DEFINE_UNQUOTED([CGIT_HOME_DIR], ["$CGIT_HOME_DIR"], [Define the cGit Daemon HOME directory]) + +AC_ARG_WITH([logdir], + [AS_HELP_STRING([--with-logdir=DIR], [cSvn Daemon LOG directory @<:@default=/var/log@:>@],[26],[84])], + [logdir=$withval], + [logdir="/var/log"]) +AC_SUBST([logdir], [$logdir]) +AC_SUBST([CSCM_LOG_DIR], [$logdir]) +AC_DEFINE_UNQUOTED([CSCM_LOG_DIR], ["$CSCM_LOG_DIR"], [Define the cScm Daemon LOG directory]) + +AC_ARG_WITH([piddir], + [AS_HELP_STRING([--with-piddir=DIR], [cScm Daemon PID directory @<:@default=/var/run@:>@],[26],[84])], + [piddir=$withval], + [piddir="/var/run"]) +AC_SUBST([piddir], [$piddir]) +AC_SUBST([CSCM_PID_DIR], [$piddir]) +AC_DEFINE_UNQUOTED([CSCM_PID_DIR], ["$CSCM_PID_DIR"], [Define the cScm Daemon PID directory]) + +AC_SUBST([CSVN_NAME], [$CSVN_NAME]) +AC_SUBST([CSVN_CONFIG], [$sysconfdir/$CSVN_CONFIG_FILE]) +AC_DEFINE_UNQUOTED([CSVN_CONFIG], ["$CSVN_CONFIG"], [Define the cSvn Default Configuration File]) +AC_SUBST([CSVN_PROGRAM], [$CSVN_PROGRAM]) +AC_DEFINE_UNQUOTED([CSVN_PROGRAM], ["$CSVN_PROGRAM"], [Define the cSvn Default Program Name]) +AC_SUBST([CSVN_PROGRAM_NAME], [$CSVN_PROGRAM_NAME]) +AC_SUBST([CGIT_NAME], [$CGIT_NAME]) +AC_SUBST([CGIT_CONFIG], [$sysconfdir/$CGIT_CONFIG_FILE]) +AC_DEFINE_UNQUOTED([CGIT_CONFIG], ["$CGIT_CONFIG"], [Define the cGit Default Configuration File]) +AC_SUBST([CGIT_PROGRAM], [$CGIT_PROGRAM]) +AC_DEFINE_UNQUOTED([CGIT_PROGRAM], ["$CGIT_PROGRAM"], [Define the cGit Default Program Name]) +AC_SUBST([CGIT_PROGRAM_NAME], [$CGIT_PROGRAM_NAME]) + + +AC_SUBST(PROGRAM_NAME,[${PACKAGE_NAME}]) +AC_SUBST(PROGRAM_DAEMON,[${PACKAGE_DAEMON}]) +AC_SUBST(PROGRAM_VERSION,[${PACKAGE_VERSION}]) +AC_SUBST(PROGRAM_LICENSE,[${PACKAGE_LICENSE}]) + +AC_DEFINE_UNQUOTED([PROGRAM_NAME], ["$PROGRAM_NAME"], [Define the program name]) +AC_DEFINE_UNQUOTED([PROGRAM_DAEMON], ["$PROGRAM_DAEMON"], [Define the daemon 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([ +cscmd/Makefile +cscmd/cscmd.8 +Makefile +]) +AC_OUTPUT -- cgit v1.2.3