Tests for config.rpath and lib-link.m4. rpath-1 w | +---- a = static, b = shared rpath-2 u v w | | | | | +---- a = static/static, b = static/shared, | | c = shared/static, d = shared/shared. | | | +------ a = all libraries and the program have the same prefix, | b = the libraries are in different directories. | +-------- a = all shared libraries use the libtool *.la files for resolving dependencies, b = dependencies are given as AC_LIB_LINKFLAGS argument instead. rpath-3 u v w | | | | | +---- a = static/static/static, b = static/static/shared, | | c = static/shared/static, d = static/shared/shared, | | e = shared/static/static, f = shared/static/shared, | | g = shared/shared/static, h = shared/shared/shared. | | | +------ a = all libraries and the program have the same prefix, | b = the libraries are in different directories. | +-------- a = all shared libraries use the libtool *.la files for resolving dependencies, b = dependencies are given as AC_LIB_LINKFLAGS argument instead. The rpath-2* tests are sensitive to - incomplete shared library support in the system, - bugs in libtool that creates the shared libraries, - bugs in lib-link.m4. The rpath-3* tests are sensitive to - incomplete shared library support in the system, - bugs in libtool that creates the shared libraries. Known failures: * On all platforms supporting shared libraries, rpath-3aae rpath-3aag rpath-3abe rpath-3abg fail. This is a libtool 1.4.2 bug: When a shared library depends on a static library indirectly through two different dependency paths, libtool attempts to link together invalid sets of object files. * OSF/1 4.0: the tests rpath-2bbd rpath-3bbd rpath-3bbf rpath-3bbg rpath-3bbh fail, because -rpath options are not cumulative: The last -rpath option overrides all previous ones. One would need to pass all directories, separated by colons, in a single -rpath option. * On Linux/x86_64: the tests rpath-2aac rpath-2abc rpath-2bac rpath-2bbc rpath-3aac rpath-3aaf rpath-3abc rpath-3abf rpath-3bac rpath-3bae rpath-3baf rpath-3bag rpath-3bbc rpath-3bbe rpath-3bbf rpath-3bbg fail, because code from static libraries not compiled with -fPIC cannot be integrated into shared libraries: linker error about relocations. * Solaris: the tests rpath-3bae rpath-3bbe rpath-3aaf rpath-3abf rpath-3baf rpath-3bbf fail, because code from static libraries not compiled with -fPIC cannot be integrated into shared libraries: linker error "Text relocation remains". * Cygwin: The tests rpath-2aac rpath-2abc rpath-3aac rpath-3aaf rpath-3abc rpath-3abf fail.