build.py 766 B

12345678910111213141516171819202122232425262728
  1. import os
  2. import sys
  3. import shutil
  4. assert __name__ == "__main__"
  5. os.system("python3 prebuild.py")
  6. src_file_list = []
  7. for file in os.listdir("src"):
  8. if file.endswith(".cpp"):
  9. src_file_list.append("src/" + file)
  10. main_src_arg = " ".join(src_file_list+["src2/main.cpp"])
  11. print(main_src_arg)
  12. linux_common = " -Wfatal-errors --std=c++17 -O2 -Wall -fno-rtti -stdlib=libc++ -Iinclude/ "
  13. linux_cmd = "clang++ -o pocketpy " + main_src_arg + linux_common
  14. if "web" in sys.argv:
  15. os.system(r'''
  16. rm -rf web/lib/
  17. mkdir -p web/lib/
  18. em++ ''' + main_src_arg + '''-Iinclude/ -fno-rtti -fexceptions -O3 -sEXPORTED_FUNCTIONS=_pkpy_new_repl,_pkpy_repl_input,_pkpy_new_vm -sEXPORTED_RUNTIME_METHODS=ccall -o web/lib/pocketpy.js
  19. ''')
  20. else:
  21. os.system(linux_cmd)