summaryrefslogtreecommitdiff
path: root/AUTOTOOLS-TODO
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2012-07-12 15:59:33 +0000
committerPatrick Ohly <patrick.ohly@intel.com>2012-07-12 16:11:33 +0000
commit15f2d0318405d7646350ea0404ddc375a18b4e70 (patch)
tree8110a9ff42f53aa7604cdf2d88ba4044418a314a /AUTOTOOLS-TODO
parentaa2bb63cec3c06c2875d36731383168dbf5d1361 (diff)
autotools: ensure that link lines are complete
As mentioned by Tino Keitel on the mailing list, some libs and executables were only implicitly linked against libraries that they called directly. This happened to work by chance because these libraries ended up in the running executable anyway, due to indirect loading. To catch such problems, the "make installcheck" was extended: dpkg-shlibdeps is run, if available, and the error output is scanned for the messages which indicate that a symbol is used without linking to the right library (example output below). Had to fix quite a few _LIBADD lines to pass the test. Some exceptions are allowed: - libsmltk depends on the caller providing SySync logging support. - libneon is intentionally not linked explicitly for syncevolution.org binaries, to make resulting binaries work with GNUTLS and OpenSSL. dpkg-shlibdeps: warning: debian/syncevolution-libs/usr/lib/syncevolution/backends/syncdav.so contains an unresolvable reference to symbol icalparameter_new_from_value_string: it's probably a plugin. dpkg-shlibdeps: warning: 51 other similar warnings have been skipped (use -v to see them all). ... dpkg-shlibdeps: warning: symbol dlsym used by debian/libsyncevolution0/usr/lib/libsyncevolution.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol dlerror used by debian/libsyncevolution0/usr/lib/libsyncevolution.so.0.0.0 found in none of the libraries. dpkg-shlibdeps: warning: symbol dlopen used by debian/libsyncevolution0/usr/lib/libsyncevolution.so.0.0.0 found in none of the libraries.
Diffstat (limited to 'AUTOTOOLS-TODO')
-rw-r--r--AUTOTOOLS-TODO18
1 files changed, 0 insertions, 18 deletions
diff --git a/AUTOTOOLS-TODO b/AUTOTOOLS-TODO
index 819c0bec..44c308f8 100644
--- a/AUTOTOOLS-TODO
+++ b/AUTOTOOLS-TODO
@@ -13,24 +13,6 @@ IMPROVEMENTS:
- Probably client test should be built only when unit tests or integration tests
are enabled.
-
-- Look at the note at the bottom of configure.ac:
-
- # Avoid hard-coding paths in backends. These names are chosen so
- # that a backend can alternatively use its own top-level configure
- # with PKG_CHECK_MODULES(SYNCEVOLUTION, "syncevolution") to set them.
- # need absolute path, use pwd instead of relative $srcdir
- SYNCEVOLUTION_CFLAGS=-I`cd $srcdir && pwd`/src
- SYNCEVOLUTION_LIBS=`pwd`/src/syncevo/libsyncevolution.la
- AC_SUBST(SYNCEVOLUTION_CFLAGS)
- AC_SUBST(SYNCEVOLUTION_LIBS)
-
- Backends does not have their own top-level configure scripts, so usage of
- absolute path have to be checked. For now this is worked around
- in generated backends.am. Also, for relative path not $(srcdir) should be used
- but $(builddir).
-
-
- Review CLEANFILES, DISTCLEANFILES, MAINTAINERCLEANFILES and MOSTLYCLEANFILES.
That is - check which files should be assigned to which of CLEAN variables.