Allow static-only openssl on Linux (#38098)
This commit is contained in:
parent
1b1ed1b1fa
commit
e67c61aac0
1 changed files with 16 additions and 5 deletions
|
@ -24,6 +24,8 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
|
|||
list_url = "https://www.openssl.org/source/old/"
|
||||
list_depth = 1
|
||||
|
||||
maintainers("AlexanderRichert-NOAA")
|
||||
|
||||
tags = ["core-packages", "windows"]
|
||||
|
||||
executables = ["openssl"]
|
||||
|
@ -359,7 +361,7 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package
|
|||
),
|
||||
)
|
||||
variant("docs", default=False, description="Install docs and manpages")
|
||||
variant("shared", default=False, description="Build shared library version")
|
||||
variant("shared", default=True, description="Build shared library version")
|
||||
with when("platform=windows"):
|
||||
variant("dynamic", default=False, description="Link with MSVC's dynamic runtime library")
|
||||
|
||||
|
@ -382,7 +384,12 @@ def determine_version(cls, exe):
|
|||
|
||||
@property
|
||||
def libs(self):
|
||||
return find_libraries(["libssl", "libcrypto"], root=self.prefix, recursive=True)
|
||||
return find_libraries(
|
||||
["libssl", "libcrypto"],
|
||||
root=self.prefix,
|
||||
recursive=True,
|
||||
shared=self.spec.variants["shared"].value,
|
||||
)
|
||||
|
||||
def handle_fetch_error(self, error):
|
||||
tty.warn(
|
||||
|
@ -403,7 +410,7 @@ def install(self, spec, prefix):
|
|||
# where it happens automatically?)
|
||||
env["KERNEL_BITS"] = "64"
|
||||
|
||||
options = ["zlib", "shared"]
|
||||
options = ["zlib"]
|
||||
if spec.satisfies("@1.0"):
|
||||
options.append("no-krb5")
|
||||
# clang does not support the .arch directive in assembly files.
|
||||
|
@ -433,8 +440,6 @@ def install(self, spec, prefix):
|
|||
base_args.extend(
|
||||
['CC="%s"' % os.environ.get("CC"), 'CXX="%s"' % os.environ.get("CXX"), "VC-WIN64A"]
|
||||
)
|
||||
if spec.satisfies("~shared"):
|
||||
base_args.append("no-shared")
|
||||
else:
|
||||
base_args.extend(
|
||||
[
|
||||
|
@ -443,6 +448,12 @@ def install(self, spec, prefix):
|
|||
]
|
||||
)
|
||||
base_args.extend(options)
|
||||
|
||||
if spec.satisfies("~shared"):
|
||||
base_args.append("no-shared")
|
||||
else:
|
||||
base_args.append("shared")
|
||||
|
||||
# On Windows, we use perl for configuration and build through MSVC
|
||||
# nmake.
|
||||
if spec.satisfies("platform=windows"):
|
||||
|
|
Loading…
Reference in a new issue