Skip to content

Commit

Permalink
Reduce redundancy while checking *FLAGS for LTO.
Browse files Browse the repository at this point in the history
  • Loading branch information
QuLogic committed Jan 27, 2021
1 parent 559044e commit fae8a09
Showing 1 changed file with 21 additions and 25 deletions.
46 changes: 21 additions & 25 deletions setup.py
Expand Up @@ -111,31 +111,27 @@ def add_optimization_flags(self):
enable_lto = setupext.config.getboolean('libs', 'enable_lto',
fallback=None)

if 'CFLAGS' in os.environ:
if '-fno-lto' in os.environ['CFLAGS']:
if enable_lto is True:
raise ValueError('Configuration enable_lto=True, but '
'CFLAGS contains -fno-lto')
enable_lto = False
cppflags = []
if 'CPPFLAGS' in os.environ:
cppflags.append(os.environ['CPPFLAGS'])
if '-fno-lto' in os.environ['CPPFLAGS']:
if enable_lto is True:
raise ValueError('Configuration enable_lto=True, but '
'CPPFLAGS contains -fno-lto')
enable_lto = False
cxxflags = []
if 'CXXFLAGS' in os.environ:
cxxflags.append(os.environ['CXXFLAGS'])
if '-fno-lto' in os.environ['CXXFLAGS']:
if enable_lto is True:
raise ValueError('Configuration enable_lto=True, but '
'CXXFLAGS contains -fno-lto')
enable_lto = False
ldflags = []
if 'LDFLAGS' in os.environ:
ldflags.append(os.environ['LDFLAGS'])
def prepare_flags(name, enable_lto):
"""
Prepare *FLAGS from the environment.
If set, return them, and also check whether LTO is disabled in each
one, raising an error if Matplotlib config explicitly enabled LTO.
"""
flags = []
if name in os.environ:
flags.append(os.environ[name])
if '-fno-lto' in os.environ[name]:
if enable_lto is True:
raise ValueError('Configuration enable_lto=True, but '
'{0} contains -fno-lto'.format(name))
enable_lto = False
return flags, enable_lto

_, enable_lto = prepare_flags('CFLAGS', enable_lto) # Only check lto.
cppflags, enable_lto = prepare_flags('CPPFLAGS', enable_lto)
cxxflags, enable_lto = prepare_flags('CXXFLAGS', enable_lto)
ldflags, enable_lto = prepare_flags('LDFLAGS', enable_lto)

if enable_lto is False:
return env
Expand Down

0 comments on commit fae8a09

Please sign in to comment.