aboutsummaryrefslogtreecommitdiff
path: root/m4/diff.m4
blob: daa1ecf7b4426cda9744b961d57f019a3776bd25 (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
dnl file      : m4/diff.m4
dnl copyright : Copyright (c) 2013-2017 Code Synthesis Tools CC
dnl license   : MIT; see accompanying LICENSE file
dnl
dnl DIFF_TOOL
dnl
AC_DEFUN([DIFF_TOOL], [
diff_found=no

AC_ARG_VAR([DIFF],[diff command])
AC_ARG_VAR([DIFFFLAGS],[diff flags])

AC_ARG_WITH(
  [diff],
  [AC_HELP_STRING([--with-diff=PATH],[path to the diff program])],
  [diff_path=${withval}],
  [diff_path=])

AC_MSG_CHECKING([for diff])

if test x"$DIFF" = x; then
 if test x"$diff_path" != x; then
   AS_SET_CATFILE([abs_diff_path], [$ac_pwd], [$diff_path])
   DIFF="$abs_diff_path"
 else
   DIFF=diff
 fi
fi

cat >conftest.txt

$DIFF conftest.txt conftest.txt 2>/dev/null 1>&2

if test x"$?" = x0; then
  AC_MSG_RESULT([$DIFF])
else
  AC_MSG_RESULT([no])
  AC_MSG_ERROR([diff command is not found; consider setting the DIFF variable or using --with-diff=PATH])
fi

AC_MSG_CHECKING([whether $DIFF accepts -u])

$DIFF -u conftest.txt conftest.txt 2>/dev/null 1>&2

if test x"$?" = x0; then
  AC_MSG_RESULT([yes])
  DIFFFLAGS="$DIFFFLAGS -u"
else
  AC_MSG_RESULT([no])
fi

rm -f conftest.txt

])dnl