SConscript 975 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. Import('rtconfig')
  2. from building import *
  3. cwd = GetCurrentDir()
  4. sys.path.append(cwd)
  5. from rust_build import PrebuildRust
  6. from rust_build import SeleceFeature
  7. from rust_build import PrepareSetFeature
  8. from rust_build import ClearFeature
  9. src = []
  10. LINKFLAGS = ""
  11. if GetOption('clean'):
  12. ClearFeature(cwd)
  13. import shutil
  14. import os
  15. shutil.rmtree(os.path.join(cwd, 'rust_out'))
  16. group = DefineGroup('rust', src, depend=[])
  17. else:
  18. PrepareSetFeature(cwd)
  19. if GetDepend("RT_USING_SMP"):
  20. SeleceFeature("smp")
  21. ret = PrebuildRust(cwd, rtconfig.CPU, Rtt_Root, Rtt_Root+"/../applications/")
  22. if ret == "OK":
  23. LINKFLAGS = " -L%s" % (cwd + "/rust_out/")
  24. LINKFLAGS += " -Wl,--whole-archive -lrust -Wl,--no-whole-archive"
  25. LINKFLAGS += " -Wl,--allow-multiple-definition"
  26. elif ret == "PASS":
  27. pass
  28. elif ret == "ERR":
  29. raise Exception("RUST BUILD FATAL ERROR!!!")
  30. group = DefineGroup('rust', src, depend=[], LINKFLAGS=LINKFLAGS)
  31. Return('group')