mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
tests: AT_LANG.
* tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS): Define/undefine AT_LANGE (AT_LANG_COMPILE): New. (AT_FULL_COMPILE): Use AT_LANG.
This commit is contained in:
@@ -108,6 +108,10 @@ m4_pushdef([AT_SKEL_CC_IF],
|
||||
[m4_bmatch([$3], [%language "[Cc]\+\+"\|%skeleton "[a-z0-9]+\.cc"], [$1], [$2])])
|
||||
m4_pushdef([AT_SKEL_JAVA_IF],
|
||||
[m4_bmatch([$3], [%language "[Jj][Aa][Vv][Aa]"\|%skeleton "[a-z0-9]+\.java"], [$1], [$2])])
|
||||
m4_pushdef([AT_LANG],
|
||||
[AT_SKEL_JAVA_IF([java],
|
||||
[AT_SKEL_CC_IF([cxx],
|
||||
[c])])])
|
||||
m4_pushdef([AT_GLR_IF],
|
||||
[m4_bmatch([$3], [%glr-parser\|%skeleton "glr\..*"], [$1], [$2])])
|
||||
m4_pushdef([AT_LALR1_CC_IF],
|
||||
@@ -217,6 +221,7 @@ m4_popdef([AT_LEXPARAM_IF])
|
||||
m4_popdef([AT_YACC_IF])
|
||||
m4_popdef([AT_GLR_IF])
|
||||
m4_popdef([AT_SKEL_CC_IF])
|
||||
m4_popdef([AT_LANG])
|
||||
m4_popdef([AT_SKEL_JAVA_IF])
|
||||
m4_popdef([AT_GLR_CC_IF])
|
||||
m4_popdef([AT_LALR1_CC_IF])
|
||||
@@ -519,6 +524,16 @@ AT_CHECK([[test -n "$CONF_JAVA" || exit 77
|
||||
AT_CHECK([[$SHELL ../../../javacomp.sh ]$1],
|
||||
[[0]], [ignore], [ignore])])
|
||||
|
||||
# AT_LANG_COMPILE(OUTPUT, [SOURCES = OUTPUT.c]
|
||||
# --------------------------------------------
|
||||
m4_define([AT_LANG_COMPILE],
|
||||
[m4_case(AT_LANG,
|
||||
[c], [AT_COMPILE([$1], [$2])],
|
||||
[cxx], [AT_COMPILE_CXX([$1], [$2])],
|
||||
[java], [AT_JAVA_COMPILE([$1.java], [$2])],
|
||||
[m4_fatal([unknown language: ]m4_defn([AT_LANG]))])[]dnl
|
||||
])
|
||||
|
||||
# AT_FULL_COMPILE(OUTPUT, [OTHER1], [OTHER2])
|
||||
# -------------------------------------------
|
||||
# Compile OUTPUT.y to OUTPUT.c, OUTPUT.cc, or OUTPUT.java, and then
|
||||
@@ -526,31 +541,29 @@ AT_CHECK([[$SHELL ../../../javacomp.sh ]$1],
|
||||
# OUTPUT-OTHER.c, OUTPUT-OTHER.cc, or OUTPUT-OTHER.java to OUTPUT or
|
||||
# OUTPUT.java along with it. Relies on AT_SKEL_CC_IF and
|
||||
# AT_SKEL_JAVA_IF.
|
||||
m4_define([AT_FULL_COMPILE], [
|
||||
AT_SKEL_JAVA_IF([
|
||||
AT_BISON_CHECK([-o $1.java $1.y])
|
||||
AT_JAVA_COMPILE([$1.java],
|
||||
m4_join([ ],
|
||||
[$1.java],
|
||||
m4_ifval($2, [[$1-$2.java]]),
|
||||
m4_ifval($3, [[$1-$3.java]])))
|
||||
], [
|
||||
AT_SKEL_CC_IF([
|
||||
AT_BISON_CHECK([-o $1.cc $1.y])
|
||||
AT_COMPILE_CXX([$1],
|
||||
m4_join([ ],
|
||||
[$1.cc],
|
||||
m4_ifval($2, [[$1-$2.cc]]),
|
||||
m4_ifval($3, [[$1-$3.cc]])))
|
||||
], [
|
||||
AT_BISON_CHECK([-o $1.c $1.y])
|
||||
AT_COMPILE([$1],
|
||||
m4_join([ ],
|
||||
[$1.c],
|
||||
m4_ifval($2, [[$1-$2.c]]),
|
||||
m4_ifval($3, [[$1-$3.c]])))
|
||||
])
|
||||
])
|
||||
m4_define([AT_FULL_COMPILE],
|
||||
[m4_case(AT_LANG,
|
||||
[java],
|
||||
[AT_BISON_CHECK([-o $1.java $1.y])
|
||||
AT_LANG_COMPILE([$1],
|
||||
m4_join([ ],
|
||||
[$1.java],
|
||||
m4_ifval($2, [[$1-$2.java]]),
|
||||
m4_ifval($3, [[$1-$3.java]])))],
|
||||
[cxx],
|
||||
[AT_BISON_CHECK([-o $1.cc $1.y])
|
||||
AT_LANG_COMPILE([$1],
|
||||
m4_join([ ],
|
||||
[$1.cc],
|
||||
m4_ifval($2, [[$1-$2.cc]]),
|
||||
m4_ifval($3, [[$1-$3.cc]])))],
|
||||
[c],
|
||||
[AT_BISON_CHECK([-o $1.c $1.y])
|
||||
AT_LANG_COMPILE([$1],
|
||||
m4_join([ ],
|
||||
[$1.c],
|
||||
m4_ifval($2, [[$1-$2.c]]),
|
||||
m4_ifval($3, [[$1-$3.c]])))])
|
||||
])
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user