Вы не можете использовать m4_version_compare
для сравнения номеров версий, найденных в configure
-time.
Макрос m4_version_compare
принимает две строки, которые должны быть известны во время выполнения autoconf
для создания сценария configure
. Здесь вы сравниваете строку PCREVERSION
со строкой 8.0
, и первая, как сообщается, меньше последней.
На самом деле вы хотели бы использовать значение переменной оболочки с именем PCREVERSION
, то есть $PCREVERSION
, к сожалению, это значение известно только при запуске ./configure
, поэтому оно не будет работать.
Вы должны сделать свое собственное сравнение, используя оболочку или другие средства. Лично я бы положился на AC_PREPROC_IFELSE
, чтобы позволить препроцессору выполнять два теста одновременно: убедитесь, что файл pcre.h
существует и достаточно недавний. Нечто подобное может работать (не проверено):
AC_PREPROC_IFELSE(
[AC_LANG_PROGRAM([[#include "pcre.h"
#if PCRE_MAJOR < 8
#error out of date
#endif]], [[]])],
[pcre8available=yes],
[pcre8available=no])