108 lines
3.7 KiB
Plaintext
108 lines
3.7 KiB
Plaintext
## 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 <http://www.gnu.org/licenses/>.
|
|
##
|
|
|
|
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 <source code uri>'
|
|
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.])
|
|
|