bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

tests: AT_LANG


From: Akim Demaille
Subject: tests: AT_LANG
Date: Thu, 21 Jun 2012 17:14:53 +0200

Installed in maint.

From 2d40532bf5d7867229bbe3f1052dcc0469745e00 Mon Sep 17 00:00:00 2001
From: Akim Demaille <address@hidden>
Date: Sun, 17 Jun 2012 20:39:17 +0200
Subject: [PATCH] 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.
---
 tests/local.at |   63 ++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 38 insertions(+), 25 deletions(-)

diff --git a/tests/local.at b/tests/local.at
index 6d3ff18..6936d91 100644
--- a/tests/local.at
+++ b/tests/local.at
@@ -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]])))])
 ])
 
 
-- 
1.7.10.4





reply via email to

[Prev in Thread] Current Thread [Next in Thread]