eolian: generate eo_lexer.c with ragel if available
authorJérémy Zurcher <jeremy@asynk.ch>
Mon, 10 Mar 2014 17:14:16 +0000 (18:14 +0100)
committerJérémy Zurcher <jeremy@asynk.ch>
Mon, 10 Mar 2014 17:15:25 +0000 (18:15 +0100)
configure.ac
src/Makefile_Eolian.am

index 0d7e464..0b0dac3 100644 (file)
@@ -330,6 +330,11 @@ fi
 
 AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
 
+# ragel
+
+AC_CHECK_PROG([have_ragel], [ragel], [yes], [no])
+AM_CONDITIONAL([EFL_HAVE_RAGEL], [test "${have_ragel}" = "yes"])
+
 #### Checks for libraries
 
 # check unit testing library
index 871ffff..6807557 100644 (file)
@@ -42,3 +42,16 @@ bin_eolian_eolian_gen_DEPENDENCIES = @USE_EOLIAN_INTERNAL_LIBS@
 include Makefile_Eolian_Helper.am
 
 EXTRA_DIST += lib/eolian/eo_lexer.rl
+
+if EFL_HAVE_RAGEL
+SUFFIXES += .rl
+
+AM_V_RAGEL = $(am__v_RAGEL_@AM_V@)
+am__v_RAGEL_ = $(am__v_RAGEL_@AM_DEFAULT_V@)
+am__v_RAGEL_0 = @echo "  RAGEL   " $@;
+
+.rl.c:
+       $(AM_V_RAGEL) ragel -o $@ $<
+
+lib/eolian/eo_lexer.c: lib/eolian/eo_lexer.rl
+endif