# Process this file with autoconf to produce a configure script. # # Copyright (C) 2013, 2018-2019 Patrick McDermott # # This file is part of the ProteanOS Archive Manager. # # The ProteanOS Archive Manager 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 3 of the # License, or (at your option) any later version. # # The ProteanOS Archive Manager 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 the ProteanOS Archive Manager. If not, see # . AC_INIT([ProteanOS Archive Manager], [2.1.0+dev], [mailto:proteanos-dev@lists.proteanos.com], [pro-archman], [http://www.proteanos.com/dev/pro-archman/]) AC_CONFIG_AUX_DIR([build-aux]) AC_REQUIRE_AUX_FILE([tap-driver.sh]) AC_CONFIG_SRCDIR([src/main.sh]) AM_INIT_AUTOMAKE([gnu check-news dist-bzip2 dist-xz subdir-objects]) AM_SILENT_RULES([yes]) AM_CONDITIONAL([IN_GIT], [test -d "${srcdir}/.git" && command -v git >/dev/null 2>&1]) AC_ARG_WITH( [sh], [AS_HELP_STRING([--with-sh=PATH], [POSIX-conformant shell with `local'])], dnl This `dnl' is needed to workaround Vim syntax highlighting. [ case "${withval}" in 'yes'|'') AC_MSG_ERROR([--with-sh requires an argument]) ;; 'no') AC_MSG_ERROR([sh is required]) ;; *) SH="${withval}" AC_SUBST([SH]) ;; esac ], [ AC_PATH_PROG([SH], [sh]) if test -z "${SH}"; then AC_MSG_ERROR([sh not found]) fi ] ) AC_ARG_WITH( [tar], [AS_HELP_STRING([--with-tar=PATH], [path to tar utility with `-x', `-z', `-O', and `-f' options (e.g. tar from GNU, BusyBox, or libarchive)])], dnl This `dnl' is needed to workaround Vim syntax highlighting. [ case "${withval}" in 'yes'|'') AC_MSG_ERROR( [--with-tar requires an argument]) ;; 'no') AC_MSG_ERROR([tar is required]) ;; *) TAR="${withval}" AC_SUBST([TAR]) ;; esac ], [ AC_PATH_PROG([TAR], [tar]) if test -z "${TAR}"; then AC_MSG_ERROR([tar not found]) fi ] ) dnl TODO: Test ${TAR} for options support? How can we do so without also dnl requiring -c support (missing from BusyBox tar without FEATURE_TAR_CREATE) dnl to create an archive for testing? AC_ARG_WITH( [md5sum], [AS_HELP_STRING([--with-md5sum=PATH], [path to md5sum utility])], [ case "${withval}" in 'yes'|'') AC_MSG_ERROR( [--with-md5sum requires an argument]) ;; 'no') AC_MSG_ERROR([md5sum is required]) ;; *) MD5SUM="${withval}" AC_SUBST([MD5SUM]) ;; esac ], [ AC_PATH_PROG([MD5SUM], [md5sum]) if test -z "${MD5SUM}"; then AC_MSG_ERROR([md5sum not found]) fi ] ) AC_ARG_WITH( [sha256sum], [AS_HELP_STRING([--with-sha256sum=PATH], [path to sha256sum utility])], [ case "${withval}" in 'yes'|'') AC_MSG_ERROR( [--with-sha256sum requires an argument]) ;; 'no') AC_MSG_ERROR([sha256sum is required]) ;; *) SHA256SUM="${withval}" AC_SUBST([SHA256SUM]) ;; esac ], [ AC_PATH_PROG([SHA256SUM], [sha256sum]) if test -z "${SHA256SUM}"; then AC_MSG_ERROR([sha256sum not found]) fi ] ) AC_ARG_WITH( [gzip], [AS_HELP_STRING([--with-gzip=PATH], [path to gzip utility])], [ case "${withval}" in 'yes'|'') AC_MSG_ERROR( [--with-gzip requires an argument]) ;; 'no') AC_MSG_ERROR([gzip is required]) ;; *) GZIP="${withval}" AC_SUBST([GZIP]) ;; esac ], [ AC_PATH_PROG([GZIP], [gzip]) if test -z "${GZIP}"; then AC_MSG_ERROR([gzip not found]) fi ] ) # # usign # AC_ARG_WITH( [system-usign], [AS_HELP_STRING([--with-system-usign[=PATH]], [use system usign])], [ case "${withval}" in 'yes'|'') AC_PATH_PROG([USIGN], [usign]) if test -z "${USIGN}"; then AC_MSG_ERROR([usign not found]) fi embedded_usign=false ;; 'no') embedded_usign=true ;; *) USIGN="${withval}" AC_SUBST([USIGN]) embedded_usign=false ;; esac ], [ embedded_usign=true ] ) AC_ARG_WITH( [cmake], [AS_HELP_STRING([--with-cmake=PATH], [path to cmake utility])], [ if ${embedded_usign}; then case "${withval}" in 'yes'|'') AC_MSG_ERROR([--with-cmake requires an argument]) ;; 'no') AC_MSG_ERROR([cmake is required]) ;; *) CMAKE="${withval}" AC_SUBST([CMAKE]) ;; esac fi ], [ if ${embedded_usign}; then AC_PATH_PROG([CMAKE], [cmake]) if test -z "${CMAKE}"; then AC_MSG_ERROR([cmake not found]) fi fi ] ) if ${embedded_usign}; then AS_MKDIR_P([3rdparty/usign]) abs_srcdir="$(cd "${srcdir}" && pwd)" ( cd 3rdparty/usign "${CMAKE}" -DUSE_LIBUBOX:BOOL=OFF "${abs_srcdir}/3rdparty/usign" ) fi AM_CONDITIONAL([EMBEDDED_USIGN], [${embedded_usign}]) AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([config.sh]) AC_CONFIG_FILES([tests/aux/defs.sh]) AC_OUTPUT()