summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAlex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com>2023-09-14 19:57:52 -0700
committerGitHub <noreply@github.com>2023-09-14 19:57:52 -0700
commit854f169ded981179155a7274186999ebbd57a5fe (patch)
treeedbc15f79949dd51eea54dd1e52d5e5b1209a816 /var
parent94c2043b283b069d11523d099ffce75842e27dbf (diff)
downloadspack-854f169ded981179155a7274186999ebbd57a5fe.tar.gz
spack-854f169ded981179155a7274186999ebbd57a5fe.tar.bz2
spack-854f169ded981179155a7274186999ebbd57a5fe.tar.xz
spack-854f169ded981179155a7274186999ebbd57a5fe.zip
Add shared and pic variants to libxml2 (#38094)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/libxml2/package.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/libxml2/package.py b/var/spack/repos/builtin/packages/libxml2/package.py
index 0ddbb365c3..f0de744c59 100644
--- a/var/spack/repos/builtin/packages/libxml2/package.py
+++ b/var/spack/repos/builtin/packages/libxml2/package.py
@@ -17,6 +17,8 @@ class Libxml2(AutotoolsPackage, NMakePackage):
url = "https://download.gnome.org/sources/libxml2/2.9/libxml2-2.9.13.tar.xz"
list_url = "https://gitlab.gnome.org/GNOME/libxml2/-/releases"
+ maintainers("AlexanderRichert-NOAA")
+
def url_for_version(self, version):
if version >= Version("2.9.13"):
url = "https://download.gnome.org/sources/libxml2/{0}/libxml2-{1}.tar.xz"
@@ -38,6 +40,10 @@ class Libxml2(AutotoolsPackage, NMakePackage):
version("2.7.8", sha256="cda23bc9ebd26474ca8f3d67e7d1c4a1f1e7106364b690d822e009fdc3c417ec")
variant("python", default=False, description="Enable Python support")
+ variant("shared", default=True, description="Build shared library")
+ variant("pic", default=True, description="Enable position-independent code (PIC)")
+
+ conflicts("~pic+shared")
depends_on("pkgconfig@0.9.0:", type="build", when="build_system=autotools")
# conditional on non Windows, but rather than specify for each platform
@@ -74,6 +80,12 @@ class Libxml2(AutotoolsPackage, NMakePackage):
)
build_system(conditional("nmake", when="platform=windows"), "autotools", default="autotools")
+ def flag_handler(self, name, flags):
+ if name == "cflags" and self.spec.satisfies("+pic"):
+ flags.append(self.compiler.cc_pic_flag)
+ flags.append("-DPIC")
+ return (flags, None, None)
+
@property
def command(self):
return Executable(self.prefix.bin.join("xml2-config"))
@@ -213,6 +225,10 @@ class AutotoolsBuilder(autotools.AutotoolsBuilder, RunAfter):
else:
args.append("--without-python")
+ args.extend(self.enable_or_disable("shared"))
+ # PIC setting is taken care of above by self.flag_handler()
+ args.append("--without-pic")
+
return args