1project('recursive dependencies', 'c')
2
3# Test that you can link a shared executable to:
4# - A shared library with no other deps
5subdir('shnodep')
6# - A static library with no other deps
7subdir('stnodep')
8# - A shared library with a shared library dep
9subdir('shshdep')
10# - A shared library with a static library dep
11subdir('shstdep')
12# - A static library with a shared library dep
13subdir('stshdep')
14# - A static library with a static library dep
15subdir('ststdep')
16
17test('alldeps',
18     executable('alldeps', 'main.c',
19                link_with : [shshdep, shstdep, ststdep, stshdep]))
20
21# More combinations of static and shared libraries
22subdir('3rdorderdeps')
23
24# Circular dependencies between static libraries
25# This requires the use of --start/end-group with GNU ld
26subdir('circular')
27
28# Various edge cases that have been reported
29subdir('edge-cases')
30