From: Date: October 20 2006 3:08pm Subject: bk commit into 4.1 tree (msvensson:1.2593) List-Archive: http://lists.mysql.com/commits/14068 Message-Id: <20061020130834.AC0BB86DE87@localhost.localdomain> Below is the list of changes that have just been committed into a local 4.1 repository of msvensson. When msvensson does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet@stripped, 2006-10-20 15:08:31+02:00, msvensson@neptunus.(none) +2 -0 WL#3462 Add testing of MySQL client ABI to prevent unintentional ABI breaks - Use the icheck tool if avaliable and compare the current mysql.h to a version controlled reference file configure.in@stripped, 2006-10-20 15:08:29+02:00, msvensson@neptunus.(none) +4 -0 Look for icheck in configure include/Makefile.am@stripped, 2006-10-20 15:08:29+02:00, msvensson@neptunus.(none) +16 -2 Add rule to build mysql_h.ic fi icheck is avaliable and compare it to the version controlled reference file mysql_h_abi.ic # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: msvensson # Host: neptunus.(none) # Root: /home/msvensson/mysql/mysql-4.1-maint --- 1.416/configure.in 2006-10-20 15:08:34 +02:00 +++ 1.417/configure.in 2006-10-20 15:08:34 +02:00 @@ -508,6 +508,10 @@ AC_SUBST(PDFLATEX) AC_SUBST(MAKEINDEX) +# icheck, used for ABI check +AC_PATH_PROG(ICHECK, icheck, no) +AC_SUBST(ICHECK) + # Lock for PS AC_PATH_PROG(PS, ps, ps) AC_MSG_CHECKING("how to check if pid exists") --- 1.49/include/Makefile.am 2006-10-20 15:08:34 +02:00 +++ 1.50/include/Makefile.am 2006-10-20 15:08:34 +02:00 @@ -15,7 +15,7 @@ # Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, # MA 02111-1307, USA -BUILT_SOURCES = mysql_version.h m_ctype.h my_config.h +BUILT_SOURCES = mysql_version.h m_ctype.h my_config.h mysql_h.ic pkginclude_HEADERS = my_dbug.h m_string.h my_sys.h my_list.h my_xml.h \ mysql.h mysql_com.h mysqld_error.h mysql_embed.h \ my_semaphore.h my_pthread.h my_no_pthread.h raid.h \ @@ -32,8 +32,10 @@ thr_lock.h t_ctype.h violite.h md5.h \ mysql_version.h.in my_handler.h my_time.h +CLEANFILES = mysql_h.ic + # mysql_version.h are generated -SUPERCLEANFILES = mysql_version.h my_config.h +SUPERCLEANFILES = mysql_version.h my_config.h $(CLEANFILES) # Some include files that may be moved and patched by configure DISTCLEANFILES = sched.h $(SUPERCLEANFILES) @@ -54,6 +56,18 @@ # generated by configure from the .h.in files dist-hook: $(RM) -f $(distdir)/mysql_version.h $(distdir)/my_config.h + +# +# Rule for checking that ABI has not changed +# +# Create a icheck file for mysql.h and compare it to the reference +mysql_h.ic: mysql.h + @set -x; \ + if [ @ICHECK@ != no ] ; then \ + @ICHECK@ --canonify -o $@ mysql.h; \ + @ICHECK@ --compare mysql_h.ic mysql_h_abi.ic; \ + fi; + # Don't update the files from bitkeeper %::SCCS/s.%