summaryrefslogtreecommitdiff
path: root/configure.ac
blob: 2cdbaa74ccac0e389a2be1090f98b2536507cf51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
dnl ccwl --- Concise Common Workflow Language
dnl Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
dnl
dnl This file is part of ccwl.
dnl
dnl ccwl is free software: you can redistribute it and/or modify it
dnl under the terms of the GNU General Public License as published by
dnl the Free Software Foundation, either version 3 of the License, or
dnl (at your option) any later version.
dnl
dnl ccwl is distributed in the hope that it will be useful, but
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
dnl General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with ccwl.  If not, see <https://www.gnu.org/licenses/>.

AC_INIT([ccwl], [0.1.0])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([color-tests -Wall -Wno-portability foreign check-news no-dist-gzip dist-lzip])
AM_SILENT_RULES([yes])

GUILE_PKG([3.0 2.2])
GUILE_PROGS
GUILE_MODULE_REQUIRED([yaml])

# CHECK_FOR_PROGRAM(VARIABLE, PROGRAM-TO-CHECK-FOR, MESSAGE)
# ----------------------------------------------------------
AC_DEFUN([CHECK_FOR_PROGRAM], [
  AC_PATH_PROG([$1], [$2], [no])
  AS_IF([test x"$$1" = xno], [$3])
])

# REQUIRED_PROGRAM(VARIABLE, PROGRAM-TO-CHECK-FOR, PACKAGE-CONTAINING-PROGRAM)
# ----------------------------------------------------------------------------
AC_DEFUN([REQUIRED_PROGRAM], [
  CHECK_FOR_PROGRAM([$1], [$2], [AC_MSG_ERROR([cannot find $2 m4_ifnblank([$3], [from the $3 package])])])
])

# OPTIONAL_PROGRAM(VARIABLE, PROGRAM-TO-CHECK-FOR, WARNING)
# ----------------------------------------------------------------------------
AC_DEFUN([OPTIONAL_PROGRAM], [
  CHECK_FOR_PROGRAM([$1], [$2], [AC_MSG_WARN([$3])])
])

AC_PROG_SED
REQUIRED_PROGRAM([DOT], [dot], [graphviz])
REQUIRED_PROGRAM([CWLTOOL], [cwltool])
REQUIRED_PROGRAM([SKRIBILO], [skribilo])
OPTIONAL_PROGRAM([EMACS], [emacs], [cannot find emacs, and therefore cannot build the website])

AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env])
AC_CONFIG_FILES([build-aux/test-driver.scm])
AC_CONFIG_FILES([build-aux/generate-cwl-output.sh], [chmod +x build-aux/generate-cwl-output.sh])
AC_CONFIG_FILES([scripts/ccwl], [chmod +x scripts/ccwl])
AC_OUTPUT