From ee8b3b12a067c52efcfb7c05c638023fbe0495c8 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Wed, 5 Oct 2016 15:58:45 +0530 Subject: Add cross-platform PIC support for static libraries With C/C++, on Windows you don't need to pass any arguments for a static library to be PIC. On UNIX platforms you need to pass -fPIC. Other languages such as D have compiler-specific PIC arguments required for PIC support in static libraries on UNIX platforms. This kwarg allows people to specify which static libraries should be built with PIC support. This is usually used for static libraries that will be linked into shared libraries. --- mesonbuild/backend/backends.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mesonbuild/backend') diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index d5af056..16f7ada 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -341,6 +341,8 @@ class Backend(): commands += compiler.get_werror_args() if isinstance(target, build.SharedLibrary): commands += compiler.get_pic_args() + if isinstance(target, build.StaticLibrary) and target.pic: + commands += compiler.get_pic_args() for dep in target.get_external_deps(): # Cflags required by external deps might have UNIX-specific flags, # so filter them out if needed -- cgit v1.1