build/conf/intel/entropy/triggers/sys-devel/base-gcc/trigger

36 lines
1.2 KiB
Plaintext

import os
import re
import subprocess
from entropy.const import etpConst
def configure_correct_gcc():
gcc_targets = ["4.8", "4.7", "4.6"]
uname_arch = os.uname()[4]
gcc_dir = etpConst['systemroot'] + "/etc/env.d/gcc"
gcc_profile_file = None
for gcc_target in gcc_targets:
gcc_profile_file_pfx = uname_arch + "-pc-linux-gnu-" + gcc_target
regex = re.compile(gcc_profile_file_pfx + "((.[0-30])?)$")
for curdir, subs, files in os.walk(gcc_dir):
for fname in files:
if regex.match(fname):
gcc_profile_file = os.path.join(curdir, fname)
break
break
if gcc_profile_file is not None:
break
if gcc_profile_file is not None:
# if we're hardened, we want the vanilla one by default
# to avoid stressing the user too much
vanilla_profile_file = gcc_profile_file + "-vanilla"
if os.path.isfile(vanilla_profile_file):
gcc_profile_file = vanilla_profile_file
profile_name = os.path.basename(gcc_profile_file)
subprocess.call(("gcc-config", profile_name))
if stage == "postinstall":
configure_correct_gcc()
my_ext_status = 0