gettimeofday: port recent C++ fix to Emacs
[gnulib.git] / tests / havelib / README
1 Tests for config.rpath and lib-link.m4.
2
3 rpath-1 w
4         |
5         +---- a = static, b = shared
6
7 rpath-2 u v w
8         | | |
9         | | +---- a = static/static, b = static/shared,
10         | |       c = shared/static, d = shared/shared.
11         | |
12         | +------ a = all libraries and the program have the same prefix,
13         |         b = the libraries are in different directories.
14         |
15         +-------- a = all shared libraries use the libtool *.la files for
16                   resolving dependencies, b = dependencies are given as
17                   AC_LIB_LINKFLAGS argument instead.
18
19 rpath-3 u v w
20         | | |
21         | | +---- a = static/static/static, b = static/static/shared,
22         | |       c = static/shared/static, d = static/shared/shared,
23         | |       e = shared/static/static, f = shared/static/shared,
24         | |       g = shared/shared/static, h = shared/shared/shared.
25         | |
26         | +------ a = all libraries and the program have the same prefix,
27         |         b = the libraries are in different directories.
28         |
29         +-------- a = all shared libraries use the libtool *.la files for
30                   resolving dependencies, b = dependencies are given as
31                   AC_LIB_LINKFLAGS argument instead.
32
33 The rpath-2* tests are sensitive to
34   - incomplete shared library support in the system,
35   - bugs in libtool that creates the shared libraries,
36   - bugs in lib-link.m4.
37
38 The rpath-3* tests are sensitive to
39   - incomplete shared library support in the system,
40   - bugs in libtool that creates the shared libraries.
41
42 Known failures:
43
44 * On all platforms supporting shared libraries,
45     rpath-3aae rpath-3aag
46     rpath-3abe rpath-3abg
47   fail. This is a libtool 1.4.2 bug: When a shared library depends on a
48   static library indirectly through two different dependency paths,
49   libtool attempts to link together invalid sets of object files.
50
51 * OSF/1 4.0: the tests
52     rpath-2bbd
53     rpath-3bbd rpath-3bbf rpath-3bbg rpath-3bbh
54   fail, because -rpath options are not cumulative:
55   The last -rpath option overrides all previous ones. One would need to
56   pass all directories, separated by colons, in a single -rpath option.
57
58 * On Linux/x86_64: the tests
59     rpath-2aac rpath-2abc rpath-2bac rpath-2bbc
60     rpath-3aac rpath-3aaf rpath-3abc rpath-3abf
61     rpath-3bac rpath-3bae rpath-3baf rpath-3bag
62     rpath-3bbc rpath-3bbe rpath-3bbf rpath-3bbg
63   fail, because code from static libraries not compiled with -fPIC cannot
64   be integrated into shared libraries: linker error about relocations.
65
66 * Solaris: the tests
67     rpath-3bae rpath-3bbe
68     rpath-3aaf rpath-3abf
69     rpath-3baf rpath-3bbf
70   fail, because code from static libraries not compiled with -fPIC cannot
71   be integrated into shared libraries: linker error "Text relocation remains".
72
73 * Cygwin: The tests
74     rpath-2aac rpath-2abc
75     rpath-3aac rpath-3aaf
76     rpath-3abc rpath-3abf
77   fail.