diff options
author | Niklas Claesson <nicke.claesson@gmail.com> | 2019-03-11 19:56:52 +0100 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-03-11 20:56:52 +0200 |
commit | dd2c44cdf6f8ed8a969d0666cafb08aaf78a919d (patch) | |
tree | a6057cb899b43c55a820291c93dd62d61e2e0a69 /test cases/linuxlike | |
parent | faf3581df6af59c04e66378da129bb2039beab8a (diff) | |
download | meson-dd2c44cdf6f8ed8a969d0666cafb08aaf78a919d.zip meson-dd2c44cdf6f8ed8a969d0666cafb08aaf78a919d.tar.gz meson-dd2c44cdf6f8ed8a969d0666cafb08aaf78a919d.tar.bz2 |
Add static as keyword to find_library
Diffstat (limited to 'test cases/linuxlike')
3 files changed, 43 insertions, 0 deletions
diff --git a/test cases/linuxlike/14 static dynamic linkage/main.c b/test cases/linuxlike/14 static dynamic linkage/main.c new file mode 100644 index 0000000..628a200 --- /dev/null +++ b/test cases/linuxlike/14 static dynamic linkage/main.c @@ -0,0 +1,7 @@ +#include "stdio.h" +#include "zlib.h" + +int main() { + printf("%s\n", zlibVersion()); + return 0; +} diff --git a/test cases/linuxlike/14 static dynamic linkage/meson.build b/test cases/linuxlike/14 static dynamic linkage/meson.build new file mode 100644 index 0000000..fc3c38a --- /dev/null +++ b/test cases/linuxlike/14 static dynamic linkage/meson.build @@ -0,0 +1,20 @@ +project('static dynamic', 'c') + + +cc = meson.get_compiler('c') + +z_default = cc.find_library('z') +z_static = cc.find_library('z', static: true) +z_dynamic = cc.find_library('z', static: false) + +exe_default = executable('main_default', 'main.c', dependencies: [z_default]) +exe_static = executable('main_static', 'main.c', dependencies: [z_static]) +exe_dynamic = executable('main_dynamic', 'main.c', dependencies: [z_dynamic]) + +test('test default', exe_default) +test('test static', exe_static) +test('test dynamic', exe_dynamic) + +test('verify static linking', find_program('verify_static.py'), args:exe_static.full_path()) +test('verify dynamic linking', find_program('verify_static.py'), args:exe_dynamic.full_path(), + should_fail: true) diff --git a/test cases/linuxlike/14 static dynamic linkage/verify_static.py b/test cases/linuxlike/14 static dynamic linkage/verify_static.py new file mode 100755 index 0000000..92cc308 --- /dev/null +++ b/test cases/linuxlike/14 static dynamic linkage/verify_static.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python +"""Test script that checks if zlib was statically linked to executable""" +import subprocess +import sys + +def main(): + """Main function""" + output = subprocess.check_output(['nm', sys.argv[1]]).decode('utf-8') + + if 'T zlibVersion' in output: + sys.exit(0) + + sys.exit(1) + +if __name__ == '__main__': + main() |