fix deciding which externals directories to build
The way it was doing it before was completely brain-dead.
Change-Id: Id1baac54b92f0cb4e68550fa135398bea02b060f
diff --git a/aos/build/build.py b/aos/build/build.py
index f0300f9..6dea832 100755
--- a/aos/build/build.py
+++ b/aos/build/build.py
@@ -611,13 +611,16 @@
def download_externals(self, platforms):
to_download = set()
for architecture in PrimeProcessor.ARCHITECTURES:
+ pie_sanitizers = set()
for sanitizer in PrimeProcessor.PIE_SANITIZERS:
- if platforms & self.select_platforms(architecture=architecture,
- sanitizer=sanitizer):
- to_download.add(architecture + '-fPIE')
- if platforms & self.select_platforms(architecture=architecture,
- sanitizer='none'):
- to_download.add(architecture)
+ pie_sanitizers.update(self.select_platforms(architecture=architecture,
+ sanitizer=sanitizer))
+ if platforms & pie_sanitizers:
+ to_download.add(architecture + '-fPIE')
+
+ if platforms & (self.platforms() - pie_sanitizers):
+ to_download.add(architecture)
+
for download_target in to_download:
call_download_externals(download_target)
@@ -955,7 +958,7 @@
'-DFULL_COMPILER=%s' % platform.compiler(),
'-DDEBUG=%s' % ('yes' if platform.debug() else 'no'),
'-DSANITIZER=%s' % platform.sanitizer(),
- '-DSANITIZER_FPIE=%s' %
+ '-DEXTERNALS_EXTRA=%s' %
('-fPIE' if platform.sanitizer() in PrimeProcessor.PIE_SANITIZERS
else '')) +
processor.extra_gyp_flags() + (args.main_gyp,),