configure: Fix checking of missing programs
[goals.git] / configure.ac
index d521660..bf57ebb 100644 (file)
@@ -1,6 +1,6 @@
 # Goals
-# Copyright (C) 2019 Richard W.M. Jones
-# Copyright (C) 2019 Red Hat Inc.
+# Copyright (C) 2019-2020 Richard W.M. Jones
+# Copyright (C) 2019-2020 Red Hat Inc.
 #
 # 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
 # with this program; if not, write to the Free Software Foundation, Inc.,
 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
-AC_INIT([goals], [0.1])
+AC_INIT([goals], [0.3])
 AC_CONFIG_MACRO_DIR([m4])
 
+AM_INIT_AUTOMAKE(foreign) dnl Do not quote this parameter.
+
 AC_PROG_INSTALL
 
 dnl Check for basic C environment.
@@ -29,6 +31,10 @@ AC_PROG_CPP
 AC_C_PROTOTYPES
 test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant])
 
+dnl C headers and functions.
+AC_CHECK_HEADERS([sys/sysinfo.h])
+AC_CHECK_FUNCS([get_nprocs])
+
 dnl Check for basic OCaml environment and findlib.
 AC_PROG_OCAML
 if test "x$OCAMLC" = "xno"; then
@@ -45,14 +51,31 @@ if test "x$OCAMLLEX" = "xno"; then
     AC_MSG_ERROR([OCaml ocamllex lexical generator tool is required])
 fi
 
-AC_CHECK_PROG(MENHIR, [menhir], [menhir], [
+AC_CHECK_PROG([MENHIR], [menhir], [menhir], [no])
+if test "x$MENHIR" = "xno"; then
     AC_MSG_ERROR([OCaml menhir parser generator is required])
-])
+fi
+
+AC_CHECK_PROG([POD2MAN], [pod2man], [pod2man], [no])
+if test "x$POD2MAN" = "xno"; then
+    AC_MSG_ERROR([pod2man tool from Perl is required])
+fi
+
+AC_CHECK_PROG([POD2TEXT], [pod2text], [pod2text], [no])
+if test "x$POD2TEXT" = "xno"; then
+    AC_MSG_ERROR([pod2text tool from Perl is required])
+fi
+
+dnl Substitute OCaml flags and packages.
+AC_SUBST([OCAMLFLAGS], ["-g -safe-string -warn-error +C+D+E+F+L+M+P+S+U+V+Y+Z+X+52-3"])
+AC_SUBST([OCAMLPACKAGES], ["-package str,unix,threads -thread"])
 
 dnl Produce output files.
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
+AC_CONFIG_FILES([run], [chmod +x,-w run])
 AC_CONFIG_FILES([Goalfile Makefile
-                 src/Goalfile src/Makefile])
+                 goals.spec
+                 src/config.ml])
 
 AC_OUTPUT