summaryrefslogtreecommitdiffstats
path: root/test cases/linuxlike/14 static dynamic linkage/meson.build
blob: fb0e3537a94fe97fa7a33acf7c338869a1d266c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
project('static dynamic', 'c')

# Solaris does not ship static libraries
if host_machine.system() == 'sunos'
  has_static = false
else
  has_static = true
endif

cc = meson.get_compiler('c')

z_default = cc.find_library('z')
if has_static
  z_static = cc.find_library('z', static: true)
endif
z_dynamic = cc.find_library('z', static: false)

exe_default = executable('main_default', 'main.c', dependencies: [z_default])
if has_static
  exe_static = executable('main_static', 'main.c', dependencies: [z_static])
endif
exe_dynamic = executable('main_dynamic', 'main.c', dependencies: [z_dynamic])

test('test default', exe_default)
if has_static
  test('test static', exe_static)
endif
test('test dynamic', exe_dynamic)

if has_static
  test('verify static linking', find_program('verify_static.py'),
      args: ['--platform=' + host_machine.system(), exe_static.full_path()])
endif
test('verify dynamic linking', find_program('verify_static.py'),
    args: ['--platform=' + host_machine.system(), exe_dynamic.full_path()],
    should_fail: true)