summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorSergey Vojtovich <svoj@sun.com>2010-08-27 10:45:35 +0400
committerSergey Vojtovich <svoj@sun.com>2010-08-27 10:45:35 +0400
commit8c05b08550229ae5d4432ef1e53f32f403edd213 (patch)
tree3ffa523bdf8ad13293c0cb25c77399b3a03bdecc /cmake
parente28d6ee66a8404dd0f8fe3aaabb9d72544e5d42e (diff)
downloadmariadb-git-8c05b08550229ae5d4432ef1e53f32f403edd213.tar.gz
BUG#52821 - plugin_ftparser.h and plugin_audit.h are
not tested by ABI check plugin_audit.h and plugin_ftparser.h are now subject for ABI check. plugin.h is now tested implicitly. Also fixed broken ABI check cmake rules. Makefile.am: plugin_audit.h and plugin_ftparser.h are now subject for ABI check. plugin.h is now tested implicitly. cmake/abi_check.cmake: plugin_audit.h and plugin_ftparser.h are now subject for ABI check. plugin.h is now tested implicitly. Also fixed broken ABI check rules: -DMYSQL_ABI_CHECK is compiler (not cmake) definition, incorrect definitions were passed to do_abi_check.cmake for abi_check_all rule. cmake/do_abi_check.cmake: Inform sources that we do ABI check. include/mysql/plugin.h.pp: plugin.h is now tested implicitly. include/mysql/plugin_audit.h.pp: plugin_audit.h is now subject for ABI check. include/mysql/plugin_ftparser.h.pp: plugin_ftparser.h is now subject for ABI check.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/abi_check.cmake18
-rw-r--r--cmake/do_abi_check.cmake5
2 files changed, 13 insertions, 10 deletions
diff --git a/cmake/abi_check.cmake b/cmake/abi_check.cmake
index 7911b7848a8..b9ff9f7af73 100644
--- a/cmake/abi_check.cmake
+++ b/cmake/abi_check.cmake
@@ -15,7 +15,8 @@
#
# Headers which need to be checked for abi/api compatibility are in
-# API_PREPROCESSOR_HEADER.
+# API_PREPROCESSOR_HEADER. plugin.h is tested implicitly via
+# plugin_audit.h and plugin_ftparser.h.
#
# We use gcc specific preprocessing command and sed/diff, so it will
# only be run on Unix and only if gcc is used.
@@ -27,7 +28,8 @@ IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_SYSTEM_NAME MATCHES "Linux")
SET(COMPILER ${CMAKE_C_COMPILER})
ENDIF()
SET(API_PREPROCESSOR_HEADER
- ${CMAKE_SOURCE_DIR}/include/mysql/plugin.h
+ ${CMAKE_SOURCE_DIR}/include/mysql/plugin_audit.h
+ ${CMAKE_SOURCE_DIR}/include/mysql/plugin_ftparser.h
${CMAKE_SOURCE_DIR}/include/mysql.h
${CMAKE_SOURCE_DIR}/include/mysql/psi/psi_abi_v1.h
${CMAKE_SOURCE_DIR}/include/mysql/psi/psi_abi_v2.h
@@ -38,18 +40,18 @@ IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_SYSTEM_NAME MATCHES "Linux")
-DCOMPILER=${COMPILER}
-DSOURCE_DIR=${CMAKE_SOURCE_DIR}
-DBINARY_DIR=${CMAKE_BINARY_DIR}
- "-DDMYSQL_ABI_CHECK -DABI_HEADERS=${API_PREPROCESSOR_HEADER}"
+ "-DABI_HEADERS=${API_PREPROCESSOR_HEADER}"
-P ${CMAKE_SOURCE_DIR}/cmake/do_abi_check.cmake
VERBATIM
)
ADD_CUSTOM_TARGET(abi_check_all
COMMAND ${CMAKE_COMMAND}
- -DCMAKE_C_COMPILER=${COMPILER}
- -DCMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR}
- -DCMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}
- "-DMYSQL_ABI_CHECK -DABI_HEADERS=${API_PREPROCESSOR_HEADER}"
- -P ${CMAKE_SOURCE_DIR}/cmake/scripts/do_abi_check.cmake
+ -DCOMPILER=${COMPILER}
+ -DSOURCE_DIR=${CMAKE_SOURCE_DIR}
+ -DBINARY_DIR=${CMAKE_BINARY_DIR}
+ "-DABI_HEADERS=${API_PREPROCESSOR_HEADER}"
+ -P ${CMAKE_SOURCE_DIR}/cmake/do_abi_check.cmake
VERBATIM
)
ENDIF()
diff --git a/cmake/do_abi_check.cmake b/cmake/do_abi_check.cmake
index aa7784e7372..78006bd018c 100644
--- a/cmake/do_abi_check.cmake
+++ b/cmake/do_abi_check.cmake
@@ -56,8 +56,9 @@ FOREACH(file ${ABI_HEADERS})
SET(tmpfile ${file}.pp.tmp)
EXECUTE_PROCESS(
COMMAND ${COMPILER}
- -E -nostdinc -dI -I${SOURCE_DIR}/include -I${BINARY_DIR}/include
- -I${SOURCE_DIR}/include/mysql -I${SOURCE_DIR}/sql ${file}
+ -E -nostdinc -dI -DMYSQL_ABI_CHECK -I${SOURCE_DIR}/include
+ -I${BINARY_DIR}/include -I${SOURCE_DIR}/include/mysql -I${SOURCE_DIR}/sql
+ ${file}
ERROR_QUIET OUTPUT_FILE ${tmpfile})
EXECUTE_PROCESS(
COMMAND sed -e