summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2010-04-23 15:43:58 +0100
committerDanielle Madeley <danielle.madeley@collabora.co.uk>2010-04-28 16:59:37 +1000
commit23f612bd3fdeb914460a37323aea5f63632b8027 (patch)
tree72ef1e30680906de047826fac88e645e9bf2a4a1
parent1f184ab693288a4294e19fa55c2ae0e99210e13f (diff)
Split out telepathy-glib/abi.am from Makefile.am
-rw-r--r--telepathy-glib/Makefile.am103
-rw-r--r--telepathy-glib/abi.am97
2 files changed, 103 insertions, 97 deletions
diff --git a/telepathy-glib/Makefile.am b/telepathy-glib/Makefile.am
index 065ae97af..79c71128d 100644
--- a/telepathy-glib/Makefile.am
+++ b/telepathy-glib/Makefile.am
@@ -6,46 +6,6 @@ genincludedir=$(tpgincludedir)/_gen
pkgconfigdir = ${libdir}/pkgconfig
pkgconfig_DATA = telepathy-glib.pc
-ABI_LISTS = \
- versions/0.7.0.abi \
- versions/0.7.1.abi \
- versions/0.7.2.abi \
- versions/0.7.3.abi \
- versions/0.7.5.abi \
- versions/0.7.6.abi \
- versions/0.7.7.abi \
- versions/0.7.8.abi \
- versions/0.7.9.abi \
- versions/0.7.10.abi \
- versions/0.7.12.abi \
- versions/0.7.13.abi \
- versions/0.7.14.abi \
- versions/0.7.15.abi \
- versions/0.7.16.abi \
- versions/0.7.17.abi \
- versions/0.7.18.abi \
- versions/0.7.19.abi \
- versions/0.7.20.abi \
- versions/0.7.21.abi \
- versions/0.7.23.abi \
- versions/0.7.24.abi \
- versions/0.7.26.abi \
- versions/0.7.27.abi \
- versions/0.7.28.abi \
- versions/0.7.29.abi \
- versions/0.7.30.abi \
- versions/0.7.31.abi \
- versions/0.7.32.abi \
- versions/0.7.34.abi \
- versions/0.7.35.abi \
- versions/0.7.36.abi \
- versions/0.7.37.abi \
- versions/0.9.0.abi \
- versions/0.9.2.abi \
- versions/0.11.0.abi \
- versions/0.11.1.abi \
- versions/0.11.3.abi
-
EXTRA_DIST = \
$(ABI_LISTS) \
account.xml \
@@ -69,66 +29,14 @@ EXTRA_DIST = \
stable-interfaces.xml \
kludge-616375.xsl
-lib_LTLIBRARIES = libtelepathy-glib.la
-noinst_LTLIBRARIES = libtelepathy-glib-internal.la
-
-# libtelepathy-glib is just a shared version of libtelepathy-glib-internal.
+# libtelepathy-glib is just a shared version of libtelepathy-glib-internal,
+# produced by abi.am.
+#
# The static version is necessary because one of the tests wants to use
# internal symbols (_tp_debug) which are made invisible by GNU ld.
-# The quoting here is unnecessary but harmless, and has the useful side-effect
-# that vim quickfix mode (:make) doesn't interpret the libtool --mode=link
-# command as an error message in a bizarrely named file
-libtelepathy_glib_la_LDFLAGS = \
- -version-info "$(LT_CURRENT)":"$(LT_REVISION)":"$(LT_AGE)"
-libtelepathy_glib_la_LIBADD = libtelepathy-glib-internal.la
-nodist_libtelepathy_glib_la_SOURCES =
-libtelepathy_glib_la_DEPENDENCIES = libtelepathy-glib-internal.la Makefile.am
-
-if HAVE_LD_VERSION_SCRIPT
-nodist_libtelepathy_glib_la_SOURCES += _gen/version-script.txt
-libtelepathy_glib_la_DEPENDENCIES += _gen/version-script.txt _gen/abi.txt
-
-if OFFICIAL_RELEASE
-# don't allow undocumented ABI
-MAKE_VERSION_SCRIPT_FLAGS =
-else
-# allow new ABI, and silently put it in a dummy version (which can be used to
-# check whether binaries have been linked against unguaranteed ABI)
-MAKE_VERSION_SCRIPT_FLAGS = \
- --unreleased-version=TELEPATHY_GLIB_@VERSION@_UNRELEASED
-endif
-
-_gen/version-script.txt: $(ABI_LISTS) _gen/abi.txt Makefile.am \
- $(top_srcdir)/tools/make-version-script.py
- $(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/make-version-script.py \
- --symbols=_gen/abi.txt $(MAKE_VERSION_SCRIPT_FLAGS) \
- $(ABI_LISTS:%=$(srcdir)/%) > $@
- $(PYTHON) $(top_srcdir)/tools/make-version-script.py \
- --symbols=_gen/abi.txt $(MAKE_VERSION_SCRIPT_FLAGS) \
- --dpkg "libtelepathy-glib.so.0 libtelepathy-glib0 #MINVER#" \
- --dpkg-build-depends-package "libtelepathy-glib-dev" \
- $(ABI_LISTS:%=$(srcdir)/%) > _gen/libtelepathy-glib0.symbols
- sed -n -e "s/^[ ]*\\(tp_.*\\);/\\1/p" < $@ > _gen/versioned-abi.tmp
- sort -u < _gen/versioned-abi.tmp > _gen/versioned-abi.txt
- : # the versioned API should always match the ^tp API
- diff -c _gen/versioned-abi.txt _gen/abi.txt
-
-_gen/abi.txt: libtelepathy-glib-internal.la Makefile.am
- $(NM) .libs/libtelepathy-glib-internal.a > _gen/abi.nm
- grep " [DT] " < _gen/abi.nm > _gen/abi.funcs
- cut -d" " -f3 < _gen/abi.funcs > _gen/abi.funcnames
- grep "^tp" < _gen/abi.funcnames > _gen/abi.tpfuncnames
- $(AM_V_GEN)sort -u < _gen/abi.tpfuncnames > $@
-
-libtelepathy_glib_la_LDFLAGS += \
- $(VERSION_SCRIPT_ARG)=_gen/version-script.txt
-
-else # !HAVE_LD_VERSION_SCRIPT
-
-libtelepathy_glib_la_LDFLAGS += -export-symbols-regex '^tp'
-
-endif # !HAVE_LD_VERSION_SCRIPT
+lib_LTLIBRARIES = libtelepathy-glib.la
+noinst_LTLIBRARIES = libtelepathy-glib-internal.la
# headers that are subject to coding-style checks
our_headers = \
@@ -287,5 +195,6 @@ ALL_LIBS = \
@DBUS_LIBS@ \
@GLIB_LIBS@
+include abi.am
include codegen.am
include introspection.am
diff --git a/telepathy-glib/abi.am b/telepathy-glib/abi.am
new file mode 100644
index 000000000..03c7d7b23
--- /dev/null
+++ b/telepathy-glib/abi.am
@@ -0,0 +1,97 @@
+# To be included by Makefile.am.
+
+ABI_LISTS = \
+ versions/0.7.0.abi \
+ versions/0.7.1.abi \
+ versions/0.7.2.abi \
+ versions/0.7.3.abi \
+ versions/0.7.5.abi \
+ versions/0.7.6.abi \
+ versions/0.7.7.abi \
+ versions/0.7.8.abi \
+ versions/0.7.9.abi \
+ versions/0.7.10.abi \
+ versions/0.7.12.abi \
+ versions/0.7.13.abi \
+ versions/0.7.14.abi \
+ versions/0.7.15.abi \
+ versions/0.7.16.abi \
+ versions/0.7.17.abi \
+ versions/0.7.18.abi \
+ versions/0.7.19.abi \
+ versions/0.7.20.abi \
+ versions/0.7.21.abi \
+ versions/0.7.23.abi \
+ versions/0.7.24.abi \
+ versions/0.7.26.abi \
+ versions/0.7.27.abi \
+ versions/0.7.28.abi \
+ versions/0.7.29.abi \
+ versions/0.7.30.abi \
+ versions/0.7.31.abi \
+ versions/0.7.32.abi \
+ versions/0.7.34.abi \
+ versions/0.7.35.abi \
+ versions/0.7.36.abi \
+ versions/0.7.37.abi \
+ versions/0.9.0.abi \
+ versions/0.9.2.abi \
+ versions/0.11.0.abi \
+ versions/0.11.1.abi \
+ versions/0.11.3.abi
+
+# The quoting here is unnecessary but harmless, and has the useful side-effect
+# that vim quickfix mode (:make) doesn't interpret the libtool --mode=link
+# command as an error message in a bizarrely named file
+libtelepathy_glib_la_LDFLAGS = \
+ -version-info "$(LT_CURRENT)":"$(LT_REVISION)":"$(LT_AGE)"
+libtelepathy_glib_la_LIBADD = libtelepathy-glib-internal.la
+nodist_libtelepathy_glib_la_SOURCES =
+libtelepathy_glib_la_DEPENDENCIES = libtelepathy-glib-internal.la Makefile.am
+
+if HAVE_LD_VERSION_SCRIPT
+nodist_libtelepathy_glib_la_SOURCES += _gen/version-script.txt
+libtelepathy_glib_la_DEPENDENCIES += _gen/version-script.txt _gen/abi.txt
+
+if OFFICIAL_RELEASE
+# don't allow undocumented ABI
+MAKE_VERSION_SCRIPT_FLAGS =
+else
+# allow new ABI, and silently put it in a dummy version (which can be used to
+# check whether binaries have been linked against unguaranteed ABI)
+MAKE_VERSION_SCRIPT_FLAGS = \
+ --unreleased-version=TELEPATHY_GLIB_@VERSION@_UNRELEASED
+endif
+
+_gen/version-script.txt: $(ABI_LISTS) _gen/abi.txt Makefile.am \
+ $(top_srcdir)/tools/make-version-script.py
+ $(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/make-version-script.py \
+ --symbols=_gen/abi.txt $(MAKE_VERSION_SCRIPT_FLAGS) \
+ $(ABI_LISTS:%=$(srcdir)/%) > $@
+ $(PYTHON) $(top_srcdir)/tools/make-version-script.py \
+ --symbols=_gen/abi.txt $(MAKE_VERSION_SCRIPT_FLAGS) \
+ --dpkg "libtelepathy-glib.so.0 libtelepathy-glib0 #MINVER#" \
+ --dpkg-build-depends-package "libtelepathy-glib-dev" \
+ $(ABI_LISTS:%=$(srcdir)/%) > _gen/libtelepathy-glib0.symbols
+ sed -n -e "s/^[ ]*\\(tp_.*\\);/\\1/p" < $@ > _gen/versioned-abi.tmp
+ sort -u < _gen/versioned-abi.tmp > _gen/versioned-abi.txt
+ : # the versioned API should always match the ^tp API
+ diff -c _gen/versioned-abi.txt _gen/abi.txt
+
+_gen/abi.txt: libtelepathy-glib-internal.la Makefile.am
+ $(NM) .libs/libtelepathy-glib-internal.a > _gen/abi.nm
+ grep " [DT] " < _gen/abi.nm > _gen/abi.funcs
+ cut -d" " -f3 < _gen/abi.funcs > _gen/abi.funcnames
+ grep "^tp" < _gen/abi.funcnames > _gen/abi.tpfuncnames
+ $(AM_V_GEN)sort -u < _gen/abi.tpfuncnames > $@
+
+libtelepathy_glib_la_LDFLAGS += \
+ $(VERSION_SCRIPT_ARG)=_gen/version-script.txt
+
+else # !HAVE_LD_VERSION_SCRIPT
+
+libtelepathy_glib_la_LDFLAGS += -export-symbols-regex '^tp'
+
+endif # !HAVE_LD_VERSION_SCRIPT
+
+# vim:set ft=automake: