| #!/usr/bin/env python3 |
| # Copyright 2020 The Emscripten Authors. All rights reserved. |
| # Emscripten is available under two separate licenses, the MIT license and the |
| # University of Illinois/NCSA Open Source License. Both these licenses can be |
| # found in the LICENSE file. |
| |
| """Tool for creating/maintains the python launcher scripts for all the emscripten |
| python tools. |
| |
| This tools makes copies or `run_python.sh` and `run_python.bat` script for each |
| entry point. On UNIX we previously used symbolic links for simplicity but this |
| breaks MINGW users on windows who want use the shell script launcher but don't |
| have symlink support (sigh). |
| """ |
| |
| import os |
| import shutil |
| import sys |
| |
| entry_points = ''' |
| emar |
| embuilder |
| emcc |
| emcmake |
| em-config |
| emconfigure |
| emmake |
| em++ |
| emranlib |
| emrun |
| emscons |
| emsize |
| tools/emdump |
| tools/file_packager |
| '''.split() |
| |
| |
| def main(): |
| tools_dir = os.path.dirname(os.path.abspath(__file__)) |
| root_dir = os.path.dirname(tools_dir) |
| sh_file = os.path.join(tools_dir, 'run_python.sh') |
| bat_file = os.path.join(tools_dir, 'run_python.bat') |
| for entry_point in entry_points: |
| if os.path.exists(os.path.join(root_dir, entry_point)): |
| os.remove(os.path.join(root_dir, entry_point)) |
| shutil.copy2(sh_file, os.path.join(root_dir, entry_point)) |
| shutil.copy2(bat_file, os.path.join(root_dir, entry_point) + '.bat') |
| |
| |
| if __name__ == '__main__': |
| sys.exit(main()) |