pixman: add shared, pic variants (#44889)

* Add shared/pic variants to pixman
* add +shared~pic conflict
This commit is contained in:
Alex Richert 2024-07-15 17:36:45 -07:00 committed by GitHub
parent 8be1f26ac6
commit 5c3a23a481
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -31,6 +31,11 @@ class Pixman(AutotoolsPackage):
depends_on("bison@3:", type="build") depends_on("bison@3:", type="build")
depends_on("libpng") depends_on("libpng")
variant("shared", default=True, description="Build shared library")
variant("pic", default=False, description="Enable position-independent code")
conflicts("+shared ~pic")
# As discussed here: # As discussed here:
# https://bugs.freedesktop.org/show_bug.cgi?id=104886 # https://bugs.freedesktop.org/show_bug.cgi?id=104886
# __builtin_shuffle was removed in clang 5.0. # __builtin_shuffle was removed in clang 5.0.
@ -60,7 +65,9 @@ def patch_config_h_for_intel(self):
@property @property
def libs(self): def libs(self):
return find_libraries("libpixman-1", self.prefix, shared=True, recursive=True) return find_libraries(
"libpixman-1", self.prefix, shared=self.spec.satisfies("+shared"), recursive=True
)
def configure_args(self): def configure_args(self):
args = ["--enable-libpng", "--disable-gtk"] args = ["--enable-libpng", "--disable-gtk"]
@ -78,4 +85,7 @@ def configure_args(self):
if self.spec.satisfies("%fj"): if self.spec.satisfies("%fj"):
args.append("--disable-arm-a64-neon") args.append("--disable-arm-a64-neon")
args.extend(self.enable_or_disable("shared"))
args.extend(self.with_or_without("pic"))
return args return args