Avoid leading/trailing dashes in derived builddir names

This commit is contained in:
Kp 2013-07-04 02:27:50 +00:00
parent ff9d36057b
commit cd72fd6b0e

View file

@ -77,10 +77,10 @@ class DXXCommon(LazyObjectConstructor):
builddir_suffix = self.builddir_suffix builddir_suffix = self.builddir_suffix
default_builddir = builddir_prefix or '' default_builddir = builddir_prefix or ''
if builddir_prefix is not None or builddir_suffix is not None: if builddir_prefix is not None or builddir_suffix is not None:
if self.host_platform: fields = [
default_builddir += '%s-' % self.host_platform self.host_platform,
if self.CC: os.path.basename(self.CC) if self.CC else None,
default_builddir += '%s-' % os.path.basename(self.CC) ]
compiler_flags = '\n'.join((getattr(self, attr) or '') for attr in ['CPPFLAGS', 'CFLAGS']) compiler_flags = '\n'.join((getattr(self, attr) or '') for attr in ['CPPFLAGS', 'CFLAGS'])
if compiler_flags: if compiler_flags:
# Mix in CRC of CFLAGS to get reasonable uniqueness # Mix in CRC of CFLAGS to get reasonable uniqueness
@ -90,7 +90,8 @@ class DXXCommon(LazyObjectConstructor):
crc = binascii.crc32(compiler_flags) crc = binascii.crc32(compiler_flags)
if crc < 0: if crc < 0:
crc = crc + 0x100000000 crc = crc + 0x100000000
default_builddir += '{:08x}-'.format(crc) fields.append('{:08x}'.format(crc))
fields.append(''.join(a[1] if getattr(self, a[0]) else ''
for a in ( for a in (
('debug', 'dbg'), ('debug', 'dbg'),
('profiler', 'prf'), ('profiler', 'prf'),
@ -98,9 +99,8 @@ class DXXCommon(LazyObjectConstructor):
('opengl', 'ogl'), ('opengl', 'ogl'),
('opengles', 'es'), ('opengles', 'es'),
('raspberrypi', 'rpi'), ('raspberrypi', 'rpi'),
): )))
if getattr(self, a[0]): default_builddir += '-'.join([f for f in fields if f])
default_builddir += a[1]
if builddir_suffix is not None: if builddir_suffix is not None:
default_builddir += builddir_prefix default_builddir += builddir_prefix
return default_builddir return default_builddir