utils.m4 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. dnl General macros.
  2. dnl AGDA_CHECK_TOOL( PROGRAM-VARIABLE, PROGRAM-NAME. IF-FOUND, IF-NOT-FOUND )
  3. AC_DEFUN(AGDA_CHECK_TOOL,
  4. [AC_CHECK_TOOL($1,$2)
  5. AS_IF([test x"${$1}" != x], [$3], [$4])
  6. ])
  7. dnl AGDA_CHECK_OPTIONAL_TOOL( PROGRAM-VARIABLE, PROGRAM-NAME, IF-NOT-FOUND )
  8. AC_DEFUN(AGDA_CHECK_OPTIONAL_TOOL,
  9. [AGDA_CHECK_TOOL($1,$2,
  10. [HAVE_$1=Yes],
  11. [HAVE_$1=No
  12. [$3]
  13. ]
  14. )
  15. ]
  16. )
  17. dnl AGDA_GEN_WITH_PROG( PROGRAM-VARIABLE
  18. dnl , PROGRAM-NAME
  19. dnl , IF-FOUND
  20. dnl , IF-NOT-FOUND
  21. dnl )
  22. AC_DEFUN(AGDA_GEN_WITH_PROG,
  23. [AC_ARG_WITH($2,
  24. [AC_HELP_STRING([--with-$2=$1],[use $1 as the path to $2 [default=autodetect]])],
  25. [$1=$withval],
  26. [AGDA_CHECK_TOOL($1,$2,$3,$4)]
  27. )
  28. ])
  29. dnl AGDA_WITH_PROG(PROG,prog)
  30. dnl Looks for required program prog, creates --with-prog flag and
  31. dnl sets PROG to the path to the program.
  32. AC_DEFUN(AGDA_WITH_PROG,
  33. [AGDA_GEN_WITH_PROG($1,$2,[],[AC_MSG_ERROR([$2 is required])])]
  34. )
  35. dnl AGDA_WITH_OPTIONAL_PROG(PROG,prog,IF-NOT-FOUND)
  36. dnl Looks for optional program prog, creates --with-prog flag and
  37. dnl sets PROG to the path to the program.
  38. dnl Sets the variable HAVE_PROG to Yes or No.
  39. AC_DEFUN(AGDA_WITH_OPTIONAL_PROG,
  40. [AGDA_GEN_WITH_PROG($1,$2,[HAVE_$1=Yes],
  41. [HAVE_$1=No
  42. $3
  43. ])
  44. AC_SUBST(HAVE_$1)
  45. ]
  46. )
  47. dnl Generic way of computing the version of a program.
  48. dnl Looks for the first sequence of digits and dots in the output
  49. dnl of prog --version.
  50. AC_DEFUN(AGDA_GEN_VERSION,
  51. [AGDA_GEN_CHECK_VERSION($1,$2,$3,$4,
  52. [${$1} --version | head -1 | sed -e 's/[^0-9]*\([0-9.]*\).*/\1/g'],
  53. [$5])
  54. ])
  55. AC_DEFUN(AGDA_VERSION,
  56. [AGDA_GEN_VERSION($1,$2,$3,$4,
  57. [AC_MSG_ERROR([$2 version $4 or later required])]
  58. )]
  59. )
  60. AC_DEFUN(AGDA_OPTIONAL_VERSION,
  61. [AGDA_GEN_VERSION($1,$2,$3,$4,
  62. [ HAVE_$2 = No
  63. [$5]
  64. ]
  65. )]
  66. )
  67. dnl Combines AGDA_WITH_PROG and AGDA_VERSION. Checks that the version is high enough.
  68. dnl AGDA_WITH_PROG_VERSION(PROG,prog,VERSION)
  69. AC_DEFUN(AGDA_WITH_PROG_VERSION,
  70. [AGDA_WITH_PROG($1,$2)
  71. AGDA_VERSION($1,$2,[-ge],$3)
  72. ]
  73. )
  74. dnl Combines AGDA_WITH_OPTIONAL_PROG and AGDA_VERSION.
  75. dnl Checks that the version is high enough.
  76. dnl AGDA_WITH_OPTIONAL_PROG_VERSION(PROG,prog,VERSION,IF-FAIL)
  77. AC_DEFUN(AGDA_WITH_OPTIONAL_PROG_VERSION,
  78. [AGDA_WITH_OPTIONAL_PROG($1,$2)
  79. AGDA_OPTIONAL_VERSION($1,$2,[-ge],$3,$4)
  80. ]
  81. )
  82. dnl Check that the version of a program is satisfactory.
  83. dnl AGDA_CHECK_VERSION( PROGRAM
  84. dnl , PROGRAM-NAME
  85. dnl , COMPARISON-OPERATOR
  86. dnl , VERSION
  87. dnl , HOW-TO-COMPUTE-VERSION
  88. dnl , IF-FAILURE
  89. dnl )
  90. AC_DEFUN(AGDA_GEN_CHECK_VERSION,
  91. [
  92. AC_CACHE_CHECK([for $2 version],$2_version,
  93. [
  94. if test x"${$1}" != x; then
  95. $2_version=[`$5`]
  96. else
  97. $2_version=""
  98. fi
  99. ])
  100. FP_COMPARE_VERSIONS([${$2_version}],[$3],[$4],[],
  101. [$6])
  102. $1_VERSION=${$2_version}
  103. AC_SUBST($1_VERSION)
  104. ])