Backport "Fix generation of bison output for out-of-source builds."to 10.5

Apply 115fec58f1 to 10.5
This commit is contained in:
Vladislav Vaintroub 2021-09-11 00:13:15 +02:00
parent 8fe927e6de
commit e813549942
3 changed files with 6 additions and 9 deletions

1
.gitignore vendored
View file

@ -193,6 +193,7 @@ sql/lex_token.h
sql/gen_lex_token
sql/gen_lex_hash
sql/lex_hash.h
sql/myskel.m4
sql/mysql_tzinfo_to_sql
sql/mysqld
sql/sql_builtin.cc

View file

@ -352,12 +352,13 @@ IF (NOT BISON_FOUND)
MESSAGE(FATAL_ERROR ${ERRMSG})
ENDIF()
ELSE()
CONFIGURE_FILE(myskel.m4.in myskel.m4)
BISON_TARGET(gen_mariadb_cc_hh ${CMAKE_CURRENT_BINARY_DIR}/yy_mariadb.yy
${CMAKE_CURRENT_BINARY_DIR}/yy_mariadb.cc
COMPILE_FLAGS "-p MYSQL -S ${CMAKE_CURRENT_SOURCE_DIR}/myskel.m4")
COMPILE_FLAGS "-p MYSQL -S ${CMAKE_CURRENT_BINARY_DIR}/myskel.m4")
BISON_TARGET(gen_oracle_cc_hh ${CMAKE_CURRENT_BINARY_DIR}/yy_oracle.yy
${CMAKE_CURRENT_BINARY_DIR}/yy_oracle.cc
COMPILE_FLAGS "-p ORA -S ${CMAKE_CURRENT_SOURCE_DIR}/myskel.m4")
COMPILE_FLAGS "-p ORA -S ${CMAKE_CURRENT_BINARY_DIR}/myskel.m4")
ENDIF()
IF(NOT CMAKE_CROSSCOMPILING OR DEFINED CMAKE_CROSSCOMPILING_EMULATOR)

View file

@ -2,15 +2,10 @@
# fix the #line directives in the generated .cc files
# to refer to the original sql_yacc.yy
#
m4_define([yyfile],m4_bpatsubst(__file__,[[a-z.0-9]+$],sql_yacc.yy))
m4_define([b4_syncline],
[m4_if(m4_index([$2],[.yy]),[-1],
[b4_sync_start([$1], [$2])[]dnl
[b4_sync_start([$1], m4_bpatsubst([$2],[@CMAKE_CURRENT_BINARY_DIR@/yy_[a-z]+\.yy],@CMAKE_CURRENT_SOURCE_DIR@/sql_yacc.yy))[]dnl
],[b4_sync_start([$1], ["yyfile"])[]dnl
])])
])
# try both paths for different bison versions
m4_sinclude(skeletons/c-skel.m4)