From 35dd36ca35b87d2931980e837060cc39ec4c32f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20J=2E=20Est=C3=A9banez?= Date: Wed, 22 Jan 2020 19:42:10 +0100 Subject: Fix error with linkers other than GNU ld --- platform/x11/detect.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'platform') diff --git a/platform/x11/detect.py b/platform/x11/detect.py index 957779ee83..bd5e5e0812 100644 --- a/platform/x11/detect.py +++ b/platform/x11/detect.py @@ -333,11 +333,15 @@ def configure(env): if not env['tools']: import subprocess import re - binutils_version = re.search('\s(\d+\.\d+)', str(subprocess.check_output(['ld', '-v']))).group(1) - if float(binutils_version) >= 2.30: - env.Append(LINKFLAGS=['-T', 'platform/x11/pck_embed.ld']) + linker_version_str = subprocess.check_output([env.subst(env["LINK"]), '-Wl,--version']).decode("utf-8") + gnu_ld_version = re.search('^GNU ld [^$]*(\d+\.\d+)$', linker_version_str, re.MULTILINE) + if not gnu_ld_version: + print("Warning: Creating template binaries enabled for PCK embedding is currently only supported with GNU ld") else: - env.Append(LINKFLAGS=['-T', 'platform/x11/pck_embed.legacy.ld']) + if float(gnu_ld_version.group(1)) >= 2.30: + env.Append(LINKFLAGS=['-T', 'platform/x11/pck_embed.ld']) + else: + env.Append(LINKFLAGS=['-T', 'platform/x11/pck_embed.legacy.ld']) ## Cross-compilation -- cgit v1.2.3