From 72e0fc1ccabcf9799354f5735ed97fd079a49499 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= <targos@protonmail.com>
Date: Mon, 14 Oct 2019 14:51:48 +0200
Subject: [PATCH] build: fix version checks in configure.py

Fixes: https://github.com/nodejs/node/issues/29927
Refs: https://github.com/nodejs/node/pull/29931
---
 configure.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/configure.py b/configure.py
index dd93d56e552526..7305727c8881e0 100755
--- a/configure.py
+++ b/configure.py
@@ -14,6 +14,7 @@
 import bz2
 
 from distutils.spawn import find_executable as which
+from distutils.version import StrictVersion
 
 # If not run from node/, cd to node/.
 os.chdir(os.path.dirname(__file__) or '.')
@@ -1231,10 +1232,10 @@ def without_ssl_error(option):
     # supported asm compiler for AVX2. See https://github.com/openssl/openssl/
     # blob/OpenSSL_1_1_0-stable/crypto/modes/asm/aesni-gcm-x86_64.pl#L52-L69
     openssl110_asm_supported = \
-      ('gas_version' in variables and float(variables['gas_version']) >= 2.23) or \
-      ('xcode_version' in variables and float(variables['xcode_version']) >= 5.0) or \
-      ('llvm_version' in variables and float(variables['llvm_version']) >= 3.3) or \
-      ('nasm_version' in variables and float(variables['nasm_version']) >= 2.10)
+      ('gas_version' in variables and StrictVersion(variables['gas_version']) >= StrictVersion('2.23')) or \
+      ('xcode_version' in variables and StrictVersion(variables['xcode_version']) >= StrictVersion('5.0')) or \
+      ('llvm_version' in variables and StrictVersion(variables['llvm_version']) >= StrictVersion('3.3')) or \
+      ('nasm_version' in variables and StrictVersion(variables['nasm_version']) >= StrictVersion('2.10'))
 
     if is_x86 and not openssl110_asm_supported:
       error('''Did not find a new enough assembler, install one or build with