| project('recursive dependencies', 'c') |
| |
| # Test that you can link a shared executable to: |
| # - A shared library with no other deps |
| subdir('shnodep') |
| # - A static library with no other deps |
| subdir('stnodep') |
| # - A shared library with a shared library dep |
| subdir('shshdep') |
| # - A shared library with a static library dep |
| subdir('shstdep') |
| # - A static library with a shared library dep |
| subdir('stshdep') |
| # - A static library with a static library dep |
| subdir('ststdep') |
| |
| test('alldeps', |
| executable('alldeps', 'main.c', |
| link_with : [shshdep, shstdep, ststdep, stshdep])) |
| |
| # More combinations of static and shared libraries |
| subdir('3rdorderdeps') |
| |
| # Circular dependencies between static libraries |
| # This requires the use of --start/end-group with GNU ld |
| subdir('circular') |
| |
| # Various edge cases that have been reported |
| subdir('edge-cases') |