summaryrefslogtreecommitdiff
path: root/include/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'include/Makefile.am')
-rw-r--r--include/Makefile.am36
1 files changed, 27 insertions, 9 deletions
diff --git a/include/Makefile.am b/include/Makefile.am
index 2dbea3fe07f..8a4799149d0 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -15,14 +15,17 @@
# Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA
-BUILT_SOURCES = mysql_version.h m_ctype.h my_config.h
-pkginclude_HEADERS = my_dbug.h m_string.h my_sys.h my_list.h my_xml.h \
- mysql.h mysql_com.h mysql_embed.h \
- my_semaphore.h my_pthread.h my_no_pthread.h raid.h \
- errmsg.h my_global.h my_net.h my_alloc.h \
- my_getopt.h sslopt-longopts.h my_dir.h typelib.h \
+BUILT_SOURCES = $(HEADERS_GEN) abi_check
+HEADERS_GEN = mysql_version.h my_config.h
+HEADERS_ABI = mysql.h mysql_com.h mysql_time.h \
+ my_list.h my_alloc.h typelib.h
+pkginclude_HEADERS = $(HEADERS_ABI) my_dbug.h m_string.h my_sys.h \
+ my_xml.h mysql_embed.h \
+ my_semaphore.h my_pthread.h my_no_pthread.h raid.h \
+ errmsg.h my_global.h my_net.h \
+ my_getopt.h sslopt-longopts.h my_dir.h \
sslopt-vars.h sslopt-case.h sql_common.h keycache.h \
- mysql_time.h $(BUILT_SOURCES)
+ m_ctype.h $(HEADERS_GEN)
noinst_HEADERS = config-win.h config-os2.h config-netware.h \
heap.h my_bitmap.h\
myisam.h myisampack.h myisammrg.h ft_global.h\
@@ -33,8 +36,10 @@ noinst_HEADERS = config-win.h config-os2.h config-netware.h \
mysql_version.h.in my_handler.h my_time.h decimal.h \
my_user.h my_libwrap.h
-# mysql_version.h are generated
-CLEANFILES = mysql_version.h my_config.h readline openssl
+# 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)
@@ -52,5 +57,18 @@ 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 $@.ic mysql.h; \
+ @ICHECK@ --compare mysql_h.ic $@.ic; \
+ fi; \
+ touch abi_check;
+
# Don't update the files from bitkeeper
%::SCCS/s.%