#!/usr/bin/env python

# This script should work in python 2 *or* 3. It loads emcmake.py, which needs python 2.


import sys



if sys.version_info.major == 2:
  import emcmake
  if __name__ == '__main__':
    emcmake.run()
else:
  import os, subprocess
  if __name__ == '__main__':
    sys.exit(subprocess.call(['python2', os.path.join(os.path.dirname(__file__), 'emcmake.py')] + sys.argv[1:]))
