1 |
|
|
2 |
AC_DEFUN([AC_PROG_ANTLR],[ |
AC_DEFUN([AC_PROG_ANTLR],[ |
3 |
AC_REQUIRE([AC_PROG_JAVA])dnl |
if test -z "$ANTLR_JAR"; then |
4 |
AC_MSG_CHECKING([for antlr $1.$2.$3 or better]) |
AC_REQUIRE([AC_PROG_JAVA])dnl |
5 |
for antlr_lib_home in `ls -d /usr/local/share/antlr* 2> /dev/null` /usr/share/java; do |
AC_MSG_CHECKING([for antlr $1.$2.$3 or better]) |
6 |
antlr_version_str=`$JAVA -classpath "$antlr_lib_home/antlr.jar" antlr.Tool 2>&1 | head -n 1 | sed '/.*Version */!d; s///;q'` |
for antlr_lib_home in `ls -d /usr/local/share/antlr* 2> /dev/null` /usr/share/java /usr/lib; do |
7 |
if test "$antlr_version_str"; then |
antlr_version_str=`$JAVA -classpath "$antlr_lib_home/antlr.jar" antlr.Tool 2>&1 | head -n 1 | sed '/.*Version */!d; s///;q'` |
8 |
antlr_version_regex='s/\([[[:digit:]]]\+\)\.\([[[:digit:]]]\+\)\.\([[[:digit:]]]\+\).*$/' |
if test "$antlr_version_str"; then |
9 |
antlr_version_major=`echo $antlr_version_str | sed "$antlr_version_regex\\1/"` |
antlr_version_regex='s/\([[[:digit:]]]\+\)\.\([[[:digit:]]]\+\)\.\([[[:digit:]]]\+\).*$/' |
10 |
antlr_version_minor=`echo $antlr_version_str | sed "$antlr_version_regex\\2/"` |
antlr_version_major=`echo $antlr_version_str | sed "$antlr_version_regex\\1/"` |
11 |
antlr_version_micro=`echo $antlr_version_str | sed "$antlr_version_regex\\3/"` |
antlr_version_minor=`echo $antlr_version_str | sed "$antlr_version_regex\\2/"` |
12 |
(test $antlr_version_major -gt $1 || |
antlr_version_micro=`echo $antlr_version_str | sed "$antlr_version_regex\\3/"` |
13 |
(test $antlr_version_major -eq $1 && \ |
(test $antlr_version_major -gt $1 || |
14 |
test $antlr_version_minor -gt $2) || \ |
(test $antlr_version_major -eq $1 && \ |
15 |
(test $antlr_version_major -eq $1 && \ |
test $antlr_version_minor -gt $2) || \ |
16 |
test $antlr_version_minor -eq $2 && \ |
(test $antlr_version_major -eq $1 && \ |
17 |
test $antlr_version_micro -ge $3)) && \ |
test $antlr_version_minor -eq $2 && \ |
18 |
|
test $antlr_version_micro -ge $3)) && \ |
19 |
|
|
20 |
(test -z $ANTLR_JAR || \ |
(test -z $ANTLR_JAR || \ |
21 |
(test $antlr_version_major -gt $antlr_use_major || |
(test $antlr_version_major -gt $antlr_use_major || |
22 |
(test $antlr_version_major -eq $antlr_use_major && \ |
(test $antlr_version_major -eq $antlr_use_major && \ |
23 |
test $antlr_version_minor -gt $antlr_use_minor) || \ |
test $antlr_version_minor -gt $antlr_use_minor) || \ |
24 |
(test $antlr_version_major -eq $antlr_use_major && \ |
(test $antlr_version_major -eq $antlr_use_major && \ |
25 |
test $antlr_version_minor -eq $antlr_use_minor && \ |
test $antlr_version_minor -eq $antlr_use_minor && \ |
26 |
test $antlr_version_micro -ge $antlr_use_micro))) && \ |
test $antlr_version_micro -ge $antlr_use_micro))) && \ |
27 |
ANTLR_JAR=$antlr_lib_home/antlr.jar && \ |
ANTLR_JAR=$antlr_lib_home/antlr.jar && \ |
28 |
antlr_use_major=$antlr_version_major && \ |
antlr_use_major=$antlr_version_major && \ |
29 |
antlr_use_minor=$antlr_version_minor && \ |
antlr_use_minor=$antlr_version_minor && \ |
30 |
antlr_use_micro=$antlr_version_micro |
antlr_use_micro=$antlr_version_micro |
31 |
fi |
fi |
32 |
done |
done |
33 |
|
else |
34 |
|
test -f $ANTLR_JAR || AC_MSG_ERROR([specified ANTLR jar file $ANTLR_JAR not found.]) \ |
35 |
|
&& AC_MSG_NOTICE([using ANTLR parser generator in $ANTLR_JAR]) |
36 |
|
fi |
37 |
ANTLR="$JAVA -classpath $ANTLR_JAR antlr.Tool" |
ANTLR="$JAVA -classpath $ANTLR_JAR antlr.Tool" |
38 |
test -z $ANTLR_JAR && \ |
test -z $ANTLR_JAR && \ |
39 |
AC_MSG_ERROR(no suitable antlr.jar found for version $1.$2.$3) |
AC_MSG_ERROR(no suitable antlr.jar found for version $1.$2.$3) |
42 |
AC_SUBST(ANTLR_JAR) |
AC_SUBST(ANTLR_JAR) |
43 |
AC_PROVIDE([$0])dnl |
AC_PROVIDE([$0])dnl |
44 |
]) |
]) |
|
|
|