List:Commits« Previous MessageNext Message »
From:msvensson Date:October 20 2006 3:08pm
Subject:bk commit into 4.1 tree (msvensson:1.2593)
View as plain text  
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.%
Thread
bk commit into 4.1 tree (msvensson:1.2593)msvensson20 Oct