diff options
author | Anel Husakovic <anel@mariadb.org> | 2021-09-13 17:43:23 +0200 |
---|---|---|
committer | Anel Husakovic <anel@mariadb.org> | 2021-09-13 19:53:17 +0200 |
commit | c3800639ade055b4ffb23fba030d79f6639a0c51 (patch) | |
tree | 0762767da7363753981db36cac3e2e68ade750ff | |
parent | 1a6c130c4f157434e2272bacb680efa89eb4955e (diff) | |
download | mariadb-git-bb-10.5-anel-MDEV-21286-bison-api-pure.tar.gz |
MDEV-21286: bison warnings on ubuntu 20.04 on deprecated directive in sql_yacc.yybb-10.5-anel-MDEV-21286-bison-api-pure
Reviewed by: wlad@mariadb.com
-rw-r--r-- | sql/CMakeLists.txt | 5 | ||||
-rw-r--r-- | sql/gen_yy_files.cmake | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt index 5719d098383..642a931c0b3 100644 --- a/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt @@ -65,6 +65,8 @@ ADD_CUSTOM_COMMAND( DEPENDS gen_lex_token ) +FIND_PACKAGE(BISON 2.0) + ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/yy_mariadb.yy ${CMAKE_CURRENT_BINARY_DIR}/yy_oracle.yy @@ -72,6 +74,7 @@ ADD_CUSTOM_COMMAND( "-DOUT1=${CMAKE_CURRENT_BINARY_DIR}/yy_oracle.yy" "-DOUT2=${CMAKE_CURRENT_BINARY_DIR}/yy_mariadb.yy" "-DIN=${CMAKE_CURRENT_SOURCE_DIR}/sql_yacc.yy" + "-DBISON_VERSION=${BISON_VERSION}" -P ${CMAKE_CURRENT_SOURCE_DIR}/gen_yy_files.cmake COMMENT "Building yy_mariadb.yy and yy_oracle.yy from sql_yacc.yy" DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/sql_yacc.yy @@ -321,8 +324,6 @@ IF(WITH_MYSQLD_LDFLAGS) ENDIF() -FIND_PACKAGE(BISON 2.0) - # Handle out-of-source build from source package with possibly broken # bison. Copy bison output to from source to build directory, if not already diff --git a/sql/gen_yy_files.cmake b/sql/gen_yy_files.cmake index da63c72c37c..3ceb60a95de 100644 --- a/sql/gen_yy_files.cmake +++ b/sql/gen_yy_files.cmake @@ -5,6 +5,9 @@ file(READ "${IN}" data) file(WRITE "${OUT1}" "") file(WRITE "${OUT2}" "") set(where 0) +if(NOT(BISON_VERSION VERSION_LESS "3.0.0")) + string(REPLACE "\n%pure-parser" "\n%define api.pure" data "${data}") +endif() string(REGEX REPLACE "/\\* sql_yacc\\.yy \\*/" "/* DON'T EDIT THIS FILE. IT'S GENERATED. EDIT sql_yacc.yy INSTEAD */" data "${data}") while(NOT data STREQUAL "") string(REGEX MATCH "^(%[ie][^\n]*\n)|((%[^ie\n]|[^%\n])[^\n]*\n)+|\n+" line "${data}") |