List:Commits« Previous MessageNext Message »
From:Narayanan V Date:July 9 2008 5:20pm
Subject:bzr commit into MySQL Storage Engine API team tree:mysql-5.1-sea branch
(v.narayanan:2679) WL#4380
View as plain text  
#At bzr+ssh://bk-internal.mysql.com/bzrroot/mysql-5.1-sea

 2679 Narayanan V	2008-07-09
      WL#4380
      
      Modified the abi_check target to check for only
      mysql.h and plugin.h for now.
modified:
  Makefile.am

per-file messages:
  Makefile.am
    added two targets,
    
    abi_check -     compiles without mysql_priv.h
    abi_check_all - compiles with mysql_priv.h
=== modified file 'Makefile.am'
--- a/Makefile.am	2008-07-09 13:34:22 +0000
+++ b/Makefile.am	2008-07-09 17:19:38 +0000
@@ -232,23 +232,28 @@ test-full-qa:
 	        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 \
-					$(top_srcdir)/sql/mysql_priv.h \
-					$(top_srcdir)/include/mysql.h
+API_PREPROCESSOR_HEADER = $(top_srcdir)/include/mysql/plugin.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
-#    be tested for abi/api changes. use -nostdinc to prevent 
-#    generation of preprocessor output for system headers. This 
-#    results in messages in stderr saying that these headers 
-#    were not found. Redirect the stderr output to /dev/null 
+#    be tested for abi/api changes. use -nostdinc to prevent
+#    generation of preprocessor output for system headers. This
+#    results in messages in stderr saying that these headers
+#    were not found. Redirect the stderr output to /dev/null
 #    to prevent seeing these messages.
 # 2) sed the output to remove blank lines and lines that begin
 #    with # (The header information is retained to enable easy
@@ -273,20 +278,25 @@ PREPROCESSOR_C_HEADER=$(top_srcdir)/incl
 # to replace the old canons with the new ones.
 #
 
-abi_check:	$(PREPROCESSOR_C_HEADER)
-	 set -ex; \
-	 for file in $(PREPROCESSOR_C_HEADER); do \
-	         @CC@ -E -nostdinc -dI \
+abi_check:	$(API_PREPROCESSOR_HEADER)
+	make abi_headers="$^" do_abi_check
+
+abi_check_all:	$(TEST_PREPROCESSOR_HEADER)
+	make abi_headers="$^" do_abi_check
+
+do_abi_check:
+	set -ex; \
+	for file in $(abi_headers); do \
+	         gcc -E -nostdinc -dI \
 	                  -I$(top_srcdir)/include \
 	                  -I$(top_srcdir)/include/mysql \
 	                  -I$(top_srcdir)/sql \
 	                                 $$file 2>/dev/null | \
-	                  @SED@ -e '/^# /d' \
-	                            -e '/^[ 	]*$$/d' > $$file.out; \
-	                  @DIFF@ $$file.pp $$file.out; \
-	                  @RM@ $$file.out; \
-	 done
-	 touch $@
+	                  /bin/sed -e '/^# /d' \
+	                           -e '/^[     ]*$$/d' > $$file.out; \
+	                  /usr/bin/diff -u $$file.pp $$file.out; \
+	                  /bin/rm $$file.out; \
+	done
 
 # Don't update the files from bitkeeper
 %::SCCS/s.%

Thread
bzr commit into MySQL Storage Engine API team tree:mysql-5.1-sea branch(v.narayanan:2679) WL#4380Narayanan V9 Jul
  • Re: bzr commit into MySQL Storage Engine API teamtree:mysql-5.1-sea branch (v.narayanan:2679) WL#4380Sergei Golubchik9 Jul
    • Re: bzr commit into MySQL Storage Engine API team tree:mysql-5.1-seabranch (v.narayanan:2679) WL#4380Narayanan9 Jul