From dc3cf5c6b0e2c817de2b01c5c73fcc7611af3c49 Mon Sep 17 00:00:00 2001 From: "John W. Parent" <45471568+johnwparent@users.noreply.github.com> Date: Tue, 19 Apr 2022 14:04:26 -0400 Subject: OpenSSL package: fix ./configure error; restore parallel build (#29928) * The configure script on Windows requires that CC/CXX be enclosed in quotes if the paths to those compiler executables contain spaces (so unlike most instances of Executable, the arguments need to contain the quotes) * OpenSSL requires the nasm package on Windows * Restore parallel build from 075e942 (accidentally reverted in #27021) --- var/spack/repos/builtin/packages/openssl/package.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py index 9d13de4f37..11bf8c6a07 100644 --- a/var/spack/repos/builtin/packages/openssl/package.py +++ b/var/spack/repos/builtin/packages/openssl/package.py @@ -100,6 +100,7 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package depends_on('zlib') depends_on('perl@5.14.0:', type=('build', 'test')) depends_on('ca-certificates-mozilla', type=('build', 'run'), when='certs=mozilla') + depends_on('nasm', when='platform=windows') @classmethod def determine_version(cls, exe): @@ -147,8 +148,8 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package % join_path(prefix, 'etc', 'openssl')] if spec.satisfies('platform=windows'): base_args.extend([ - 'CC=%s' % os.environ.get('CC'), - 'CXX=%s' % os.environ.get('CXX'), + 'CC=\"%s\"' % os.environ.get('CC'), + 'CXX=\"%s\"' % os.environ.get('CXX'), 'VC-WIN64A', ]) if spec.satisfies('~shared'): @@ -164,7 +165,9 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package # On Windows, we use perl for configuration and build through MSVC # nmake. if spec.satisfies('platform=windows'): - Executable('perl')('Configure', *base_args) + # The configure executable requires that paths with spaces + # on Windows be wrapped in quotes + Executable('perl')('Configure', *base_args, ignore_quotes=True) else: Executable('./config')(*base_args) @@ -183,6 +186,8 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package else: host_make = make + host_make() + if self.run_tests: host_make('test', parallel=False) # 'VERBOSE=1' -- cgit v1.2.3-60-g2f50