| project('internal dependencies', 'c', 'rust') |
| |
| test_prog = find_program('test.py') |
| |
| static = static_library('static', 'lib.c', c_args : '-DMODE="static"') |
| # Add some -I compiler arguments to make sure they're not passed to the Rust |
| # compiler when handling the dependency. |
| static_dep = declare_dependency(link_with : static, compile_args : ['-Idoesnotexist']) |
| exe = executable('static', 'main.rs', dependencies : static_dep) |
| test('static linkage', test_prog, args : [exe, 'This is a static C library']) |
| |
| # Shared linkage with rust doesn't work on macOS with meson, yet |
| if host_machine.system() != 'darwin' |
| shared = shared_library('shared', 'lib.c', c_args : '-DMODE="shared"') |
| shared_dep = declare_dependency(link_with : shared, compile_args : ['-Idoesnotexist']) |
| exe = executable('shared', 'main.rs', dependencies : shared_dep) |
| test('shared linkage', test_prog, args : [exe, 'This is a shared C library']) |
| endif |