Commit 475b8aad authored by Narayanan V's avatar Narayanan V

WL#4380

Modified the abi_check target to check for only
mysql.h and plugin.h for now.

Makefile.am:
  added two targets, 
  
  abi_check -     compiles without mysql_priv.h
  abi_check_all - compiles with mysql_priv.h
parent 76d76702
...@@ -232,23 +232,28 @@ test-full-qa: ...@@ -232,23 +232,28 @@ test-full-qa:
test-fast-cursor test-unit test-fast-cursor test-unit
# #
# Headers which need to be checked for abi/api compatibility # Headers which need to be checked for abi/api compatibility.
# API_PREPROCESSOR_HEADER will be used until mysql_priv.h stablizes
# after which TEST_PREPROCESSOR_HEADER will be used.
# #
PREPROCESSOR_C_HEADER=$(top_srcdir)/include/mysql/plugin.h \ API_PREPROCESSOR_HEADER = $(top_srcdir)/include/mysql/plugin.h \
$(top_srcdir)/sql/mysql_priv.h \ $(top_srcdir)/include/mysql.h
$(top_srcdir)/include/mysql.h
TEST_PREPROCESSOR_HEADER = $(top_srcdir)/include/mysql/plugin.h \
$(top_srcdir)/sql/mysql_priv.h \
$(top_srcdir)/include/mysql.h
# #
# Rule for checking that the abi/api has not changed. # Rules for checking that the abi/api has not changed.
# #
# The following steps are followed in the rule below # The following steps are followed in the do_abi_check rule below
# #
# 1) Generate preprocessor output for the files that need to # 1) Generate preprocessor output for the files that need to
# be tested for abi/api changes. use -nostdinc to prevent # be tested for abi/api changes. use -nostdinc to prevent
# generation of preprocessor output for system headers. This # generation of preprocessor output for system headers. This
# results in messages in stderr saying that these headers # results in messages in stderr saying that these headers
# were not found. Redirect the stderr output to /dev/null # were not found. Redirect the stderr output to /dev/null
# to prevent seeing these messages. # to prevent seeing these messages.
# 2) sed the output to remove blank lines and lines that begin # 2) sed the output to remove blank lines and lines that begin
# with # (The header information is retained to enable easy # with # (The header information is retained to enable easy
...@@ -273,9 +278,15 @@ PREPROCESSOR_C_HEADER=$(top_srcdir)/include/mysql/plugin.h \ ...@@ -273,9 +278,15 @@ PREPROCESSOR_C_HEADER=$(top_srcdir)/include/mysql/plugin.h \
# to replace the old canons with the new ones. # to replace the old canons with the new ones.
# #
abi_check: $(PREPROCESSOR_C_HEADER) abi_check: $(API_PREPROCESSOR_HEADER)
set -ex; \ $(MAKE) abi_headers="$^" do_abi_check
for file in $(PREPROCESSOR_C_HEADER); do \
abi_check_all: $(TEST_PREPROCESSOR_HEADER)
$(MAKE) abi_headers="$^" do_abi_check
do_abi_check:
set -ex; \
for file in $(abi_headers); do \
@CC@ -E -nostdinc -dI \ @CC@ -E -nostdinc -dI \
-I$(top_srcdir)/include \ -I$(top_srcdir)/include \
-I$(top_srcdir)/include/mysql \ -I$(top_srcdir)/include/mysql \
...@@ -285,8 +296,7 @@ abi_check: $(PREPROCESSOR_C_HEADER) ...@@ -285,8 +296,7 @@ abi_check: $(PREPROCESSOR_C_HEADER)
-e '/^[ ]*$$/d' > $$file.out; \ -e '/^[ ]*$$/d' > $$file.out; \
@DIFF@ $$file.pp $$file.out; \ @DIFF@ $$file.pp $$file.out; \
@RM@ $$file.out; \ @RM@ $$file.out; \
done done
touch $@
# Don't update the files from bitkeeper # Don't update the files from bitkeeper
%::SCCS/s.% %::SCCS/s.%
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment