Loading .bzr-mysql/default.conf +4 −1 Original line number Diff line number Diff line [MYSQL] post_commit_to = "commits@lists.mysql.com" post_push_to = "commits@lists.mysql.com" tree_name = "mysql-5.1" tree_name = "mysql-5.1-sea" tree_location = bzr+ssh://bk-internal.mysql.com/bzrroot/mysql-5.1-sea post_commit_url = bzr+ssh://bk-internal.mysql.com/bzrroot/mysql-5.1-sea project_name = "MySQL Storage Engine API team tree" Makefile.am +79 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,8 @@ dist-hook: --datadir=$(distdir)/win/data \ --srcdir=$(top_srcdir) all-local: abi_check tags: support-files/build-tags Loading Loading @@ -231,5 +233,82 @@ test-full-qa: test-binlog-statement test-ext test-fast-view \ test-fast-cursor test-unit # # 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. # 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 # # Rules for checking that the abi/api has not changed. # # 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 # to prevent seeing these messages. # 2) sed the output to # 2.1) remove blank lines and lines that begin with "# " # (The header information is retained to enable easy # analysis of abi diffs at a later stage). # 2.2) When gcc -E is run in the Mac OS it introduces a line of output # that results in showing up as a difference between the .pp and # .out files. Remove this OS specific preprocessor text inserted by # the preprocessor in the MAC OS. # 3) diff the generated file and the canons (.pp files already in # the repository). # 4) delete the .out file that is generated. # # If the diff fails, the generated file is not removed. This will # be useful for analysis of ABI differences (e.g. using a visual # diff tool). # # A ABI change that causes a build to fail will always be accompanied # by new canons (.out files). The .out files that are not removed will # be replaced as the new .pp files. # # e.g. If include/mysql/plugin.h has an ABI change then this rule would # leave a <build directory>/abi_check.out file. # # A developer with a justified API change will then do a # mv <build directory>/abi_check.out include/mysql/plugin.pp # to replace the old canons with the new ones. # 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 \ @CC@ -E -nostdinc -dI \ -I$(top_srcdir)/include \ -I$(top_srcdir)/include/mysql \ -I$(top_srcdir)/sql \ -I$(top_builddir)/include \ -I$(top_builddir)/include/mysql \ -I$(top_builddir)/sql \ $$file 2>/dev/null | \ @SED@ -e '/^# /d' \ -e '/^[ ]*$$/d' \ -e '/^#pragma GCC set_debug_pwd/d' > \ $(top_builddir)/abi_check.out; \ @DIFF@ -w $$file.pp $(top_builddir)/abi_check.out; \ @RM@ $(top_builddir)/abi_check.out; \ done # Don't update the files from bitkeeper %::SCCS/s.% configure.in +1 −20 Original line number Diff line number Diff line Loading @@ -419,6 +419,7 @@ AC_PATH_PROG(SED, sed, sed) AC_PATH_PROG(CMP, cmp, cmp) AC_PATH_PROG(CHMOD, chmod, chmod) AC_PATH_PROG(HOSTNAME, hostname, hostname) AC_PATH_PROG(DIFF, diff, diff) # Check for a GNU tar named 'gtar', or 'gnutar' (MacOS X) and # fall back to 'tar' otherwise and hope that it's a GNU tar as well AC_CHECK_PROGS(TAR, gnutar gtar tar) Loading @@ -443,26 +444,6 @@ AC_SUBST(HOSTNAME) AC_SUBST(PERL) AC_SUBST(PERL5) # icheck, used for ABI check AC_PATH_PROG(ICHECK, icheck, no) # "icheck" is also the name of a file system check program on Tru64. # Verify the program found is really the interface checker. if test "x$ICHECK" != "xno" then AC_MSG_CHECKING(if $ICHECK works as expected) echo "int foo;" > conftest.h $ICHECK --canonify -o conftest.ic conftest.h 2>/dev/null if test -f "conftest.ic" then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) ICHECK=no fi rm -f conftest.ic conftest.h fi AC_SUBST(ICHECK) # Lock for PS AC_PATH_PROG(PS, ps, ps) AC_MSG_CHECKING("how to check if pid exists") Loading include/Makefile.am +2 −14 Original line number Diff line number Diff line Loading @@ -38,10 +38,11 @@ noinst_HEADERS = config-win.h config-netware.h my_bit.h \ atomic/rwlock.h atomic/x86-gcc.h atomic/x86-msvc.h \ atomic/gcc_builtins.h my_libwrap.h my_stacktrace.h EXTRA_DIST = mysql.h.pp mysql/plugin.h.pp # Remove built files and the symlinked directories CLEANFILES = $(BUILT_SOURCES) readline openssl EXTRA_DIST = mysql_h.ic # Some include files that may be moved and patched by configure DISTCLEANFILES = sched.h $(CLEANFILES) Loading @@ -63,18 +64,5 @@ my_config.h: config.h dist-hook: $(RM) -f $(distdir)/mysql_version.h $(distdir)/my_config.h # # Rules for checking that ABI has not changed # # Create a icheck file and compare it to the reference abi_check: $(HEADERS_ABI) mysql_version.h mysql_h.ic @set -ex; \ if [ @ICHECK@ != no ] ; then \ @ICHECK@ --canonify --skip-from-re /usr/ -o $@ $(HEADERS_ABI); \ @ICHECK@ --compare mysql_h.ic $@; \ fi; \ touch abi_check; # Don't update the files from bitkeeper %::SCCS/s.% include/mysql.h.pp 0 → 100644 +674 −0 File added.Preview size limit exceeded, changes collapsed. Show changes Loading
.bzr-mysql/default.conf +4 −1 Original line number Diff line number Diff line [MYSQL] post_commit_to = "commits@lists.mysql.com" post_push_to = "commits@lists.mysql.com" tree_name = "mysql-5.1" tree_name = "mysql-5.1-sea" tree_location = bzr+ssh://bk-internal.mysql.com/bzrroot/mysql-5.1-sea post_commit_url = bzr+ssh://bk-internal.mysql.com/bzrroot/mysql-5.1-sea project_name = "MySQL Storage Engine API team tree"
Makefile.am +79 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,8 @@ dist-hook: --datadir=$(distdir)/win/data \ --srcdir=$(top_srcdir) all-local: abi_check tags: support-files/build-tags Loading Loading @@ -231,5 +233,82 @@ test-full-qa: test-binlog-statement test-ext test-fast-view \ test-fast-cursor test-unit # # 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. # 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 # # Rules for checking that the abi/api has not changed. # # 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 # to prevent seeing these messages. # 2) sed the output to # 2.1) remove blank lines and lines that begin with "# " # (The header information is retained to enable easy # analysis of abi diffs at a later stage). # 2.2) When gcc -E is run in the Mac OS it introduces a line of output # that results in showing up as a difference between the .pp and # .out files. Remove this OS specific preprocessor text inserted by # the preprocessor in the MAC OS. # 3) diff the generated file and the canons (.pp files already in # the repository). # 4) delete the .out file that is generated. # # If the diff fails, the generated file is not removed. This will # be useful for analysis of ABI differences (e.g. using a visual # diff tool). # # A ABI change that causes a build to fail will always be accompanied # by new canons (.out files). The .out files that are not removed will # be replaced as the new .pp files. # # e.g. If include/mysql/plugin.h has an ABI change then this rule would # leave a <build directory>/abi_check.out file. # # A developer with a justified API change will then do a # mv <build directory>/abi_check.out include/mysql/plugin.pp # to replace the old canons with the new ones. # 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 \ @CC@ -E -nostdinc -dI \ -I$(top_srcdir)/include \ -I$(top_srcdir)/include/mysql \ -I$(top_srcdir)/sql \ -I$(top_builddir)/include \ -I$(top_builddir)/include/mysql \ -I$(top_builddir)/sql \ $$file 2>/dev/null | \ @SED@ -e '/^# /d' \ -e '/^[ ]*$$/d' \ -e '/^#pragma GCC set_debug_pwd/d' > \ $(top_builddir)/abi_check.out; \ @DIFF@ -w $$file.pp $(top_builddir)/abi_check.out; \ @RM@ $(top_builddir)/abi_check.out; \ done # Don't update the files from bitkeeper %::SCCS/s.%
configure.in +1 −20 Original line number Diff line number Diff line Loading @@ -419,6 +419,7 @@ AC_PATH_PROG(SED, sed, sed) AC_PATH_PROG(CMP, cmp, cmp) AC_PATH_PROG(CHMOD, chmod, chmod) AC_PATH_PROG(HOSTNAME, hostname, hostname) AC_PATH_PROG(DIFF, diff, diff) # Check for a GNU tar named 'gtar', or 'gnutar' (MacOS X) and # fall back to 'tar' otherwise and hope that it's a GNU tar as well AC_CHECK_PROGS(TAR, gnutar gtar tar) Loading @@ -443,26 +444,6 @@ AC_SUBST(HOSTNAME) AC_SUBST(PERL) AC_SUBST(PERL5) # icheck, used for ABI check AC_PATH_PROG(ICHECK, icheck, no) # "icheck" is also the name of a file system check program on Tru64. # Verify the program found is really the interface checker. if test "x$ICHECK" != "xno" then AC_MSG_CHECKING(if $ICHECK works as expected) echo "int foo;" > conftest.h $ICHECK --canonify -o conftest.ic conftest.h 2>/dev/null if test -f "conftest.ic" then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) ICHECK=no fi rm -f conftest.ic conftest.h fi AC_SUBST(ICHECK) # Lock for PS AC_PATH_PROG(PS, ps, ps) AC_MSG_CHECKING("how to check if pid exists") Loading
include/Makefile.am +2 −14 Original line number Diff line number Diff line Loading @@ -38,10 +38,11 @@ noinst_HEADERS = config-win.h config-netware.h my_bit.h \ atomic/rwlock.h atomic/x86-gcc.h atomic/x86-msvc.h \ atomic/gcc_builtins.h my_libwrap.h my_stacktrace.h EXTRA_DIST = mysql.h.pp mysql/plugin.h.pp # Remove built files and the symlinked directories CLEANFILES = $(BUILT_SOURCES) readline openssl EXTRA_DIST = mysql_h.ic # Some include files that may be moved and patched by configure DISTCLEANFILES = sched.h $(CLEANFILES) Loading @@ -63,18 +64,5 @@ my_config.h: config.h dist-hook: $(RM) -f $(distdir)/mysql_version.h $(distdir)/my_config.h # # Rules for checking that ABI has not changed # # Create a icheck file and compare it to the reference abi_check: $(HEADERS_ABI) mysql_version.h mysql_h.ic @set -ex; \ if [ @ICHECK@ != no ] ; then \ @ICHECK@ --canonify --skip-from-re /usr/ -o $@ $(HEADERS_ABI); \ @ICHECK@ --compare mysql_h.ic $@; \ fi; \ touch abi_check; # Don't update the files from bitkeeper %::SCCS/s.%
include/mysql.h.pp 0 → 100644 +674 −0 File added.Preview size limit exceeded, changes collapsed. Show changes