## For use my automake and autoconf # # Copyright (C) 2010-2019 R-T Specialty, LLC. # # This file is part of liza. # # This program 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. # # This program 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 this program. If not, see . ## m4_define([ver], m4_esyscmd(build-aux/vergen)) m4_if(ver, [], [m4_exit(1)]) AC_INIT([liza], [ver], [dev@lovullo.com]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([foreign]) # provide more granular version numbers based on the above AC_INIT line m4_define([ver_split], m4_split(m4_translit(AC_PACKAGE_VERSION, [-], [.]), [\.])) AC_SUBST(MAJOR, m4_argn(1, ver_split)) AC_SUBST(MINOR, m4_argn(2, ver_split)) AC_SUBST(REV, m4_argn(3, ver_split)) AC_SUBST(SUFFIX, m4_argn(4, ver_split)) AC_ARG_VAR([NODE], [The Node.js interpreter]) AC_ARG_VAR([NODE_FLAGS], [Arguments to Node.js for Liza Server (bin/server)]) AC_CHECK_PROGS(NODE, [node nodejs]) test -n "$NODE" || AC_MSG_ERROR([missing Node.js]) AC_MSG_CHECKING([node version]) node_version=$($NODE --version | sed 's/^v//') AC_MSG_RESULT([$NODE_VERSION]) AC_ARG_VAR([TS_NODE_VERSION], [Version to use for @types/node dependency]) TS_NODE_VERSION=${TS_NODE_VERSION:-$node_version} # graphviz AC_ARG_VAR([TWOPI], [Graphviz twopi layout]) AC_CHECK_PROGS(TWOPI, [twopi]) AM_CONDITIONAL(HAS_TWOPI, [test "$TWOPI"]) # only needed for older versions of Node AC_MSG_CHECKING([$NODE --harmony_destructuring]) AS_IF(["$NODE" --harmony_destructuring >/dev/null 2>/dev/null], [AC_MSG_RESULT(available) AC_SUBST([NODE_DESTRUCTURE], [--harmony_destructuring])], [AC_MSG_RESULT(no)]) # include above check(s) in NODE_FLAGS NODE_FLAGS="$NODE_FLAGS $NODE_DESTRUCTURE" set_devnotes='@set DEVNOTES' AC_ARG_ENABLE( [devnotes], [AS_HELP_STRING([--enable-devnotes], [include note for liza developers (enabled by default)])], [test "x$enableval" != xno || set_devnotes="@c $set_devnotes"]) AC_SUBST([SET_DEVNOTES], [$set_devnotes]) set_srcuri='@c @set SRCURI ' AC_ARG_WITH( [srcuri], [AS_HELP_STRING([--with-srcuri], [root URI for Liza source code cross-references (disabled by default)])], [test "x$withval" = x || set_srcuri="@set SRCURI $withval"]) AC_SUBST([SET_SRCURI], [$set_srcuri]) AC_ARG_ENABLE( [code_coverage], [AS_HELP_STRING([--enable-code-coverage], [Generate a code coverage report when tests are run (disabled by default)])], AC_SUBST([CODE_COV], ["nyc --reporter=html --reporter=text --all --include=src \ --exclude=**/index.js --exclude=src/version.js"]) AC_SUBST([COV_ARGS], ["--require ts-node/register/transpile-only \ --require source-map-support/register"])) AC_SUBST([AUTOGENERATED], ["THIS FILE IS AUTOGENERATED! DO NOT MODIFY! See *.in."]) # generate files from their *.in counterparts AC_CONFIG_FILES([Makefile package.json doc/Makefile doc/config.texi src/version.js]) AC_CONFIG_FILES([bin/server], [chmod +x bin/server]) AC_CONFIG_FILES([bin/delta-processor], [chmod +x bin/delta-processor]) AC_OUTPUT AC_MSG_NOTICE([You may now invoke \`make' to build.])