29 lines
696 B
INI
29 lines
696 B
INI
|
import re
|
||
|
import subprocess
|
||
|
|
||
|
def is_gold_v1_12_linker_available():
|
||
|
|
||
|
if not config.gold_executable:
|
||
|
return False
|
||
|
try:
|
||
|
ld_cmd = subprocess.Popen([config.gold_executable, '-v'],
|
||
|
stdout = subprocess.PIPE,
|
||
|
stderr = subprocess.PIPE)
|
||
|
ld_out, _ = ld_cmd.communicate()
|
||
|
ld_out = ld_out.decode()
|
||
|
except:
|
||
|
return False
|
||
|
|
||
|
match = re.search(r'GNU gold \(.*\) (\d+)\.(\d+)', ld_out)
|
||
|
if not match:
|
||
|
return False
|
||
|
major = int(match.group(1))
|
||
|
minor = int(match.group(2))
|
||
|
if major < 1 or (major == 1 and minor < 12):
|
||
|
return False
|
||
|
|
||
|
return True
|
||
|
|
||
|
if not is_gold_v1_12_linker_available():
|
||
|
config.unsupported = True
|