aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/linuxlike/14 static dynamic linkage/verify_static.py
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/linuxlike/14 static dynamic linkage/verify_static.py')
-rwxr-xr-xmeson/test cases/linuxlike/14 static dynamic linkage/verify_static.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/meson/test cases/linuxlike/14 static dynamic linkage/verify_static.py b/meson/test cases/linuxlike/14 static dynamic linkage/verify_static.py
new file mode 100755
index 000000000..8d16d48c9
--- /dev/null
+++ b/meson/test cases/linuxlike/14 static dynamic linkage/verify_static.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+"""Test script that checks if zlib was statically linked to executable"""
+import subprocess
+import sys
+
+def handle_common(path):
+ """Handle the common case."""
+ output = subprocess.check_output(['nm', path]).decode('utf-8')
+ if 'T zlibVersion' in output:
+ return 0
+ return 1
+
+def handle_cygwin(path):
+ """Handle the Cygwin case."""
+ output = subprocess.check_output(['nm', path]).decode('utf-8')
+ if (('I __imp_zlibVersion' in output) or ('D __imp_zlibVersion' in output)):
+ return 1
+ return 0
+
+def main():
+ """Main function"""
+ if len(sys.argv) > 2 and sys.argv[1] == '--platform=cygwin':
+ return handle_cygwin(sys.argv[2])
+ else:
+ return handle_common(sys.argv[2])
+
+
+if __name__ == '__main__':
+ sys.exit(main())