3rdparty_libraries.py 995 B

123456789101112131415161718192021222324252627282930313233343536
  1. # Prints which 3rd party libraries are desired for the given configuration.
  2. from components import requiredLibrariesFor
  3. from configurations import getConfiguration
  4. from libraries import allDependencies, librariesByName
  5. from packages import iterDownloadablePackages
  6. def main(platform, linkMode):
  7. configuration = getConfiguration(linkMode)
  8. components = configuration.iterDesiredComponents()
  9. # Compute the set of all directly and indirectly required libraries,
  10. # then filter out system libraries.
  11. thirdPartyLibs = set(
  12. makeName
  13. for makeName in allDependencies(requiredLibrariesFor(components))
  14. if not librariesByName[makeName].isSystemLibrary(platform)
  15. )
  16. print(' '.join(sorted(thirdPartyLibs)))
  17. if __name__ == '__main__':
  18. import sys
  19. if len(sys.argv) == 3:
  20. try:
  21. main(*sys.argv[1 : ])
  22. except ValueError as ex:
  23. print(ex, file=sys.stderr)
  24. sys.exit(2)
  25. else:
  26. print(
  27. 'Usage: python3 3rdparty_libraries.py TARGET_OS LINK_MODE',
  28. file=sys.stderr
  29. )
  30. sys.exit(2)