#!/usr/bin/env python3
#
# This file is distributed under the MIT License. See LICENSE.md for details.
#

import os
import sys
import sysconfig
from pathlib import Path

if sys.prefix != sys.base_prefix:
    # In venv, re-exec to the base executable
    interpreter_path = os.path.realpath(sys.executable)
    os.execv(interpreter_path, [interpreter_path, __file__, *sys.argv[1:]])

libpath = Path(sysconfig.get_path("purelib")).relative_to(sysconfig.get_config_var("base"))
new_path = (Path(__file__) / "../.." / libpath).resolve()
assert new_path.is_dir()

if str(new_path) not in sys.path:
    if "PYTHONPATH" in os.environ:
        os.environ["PYTHONPATH"] = f"{new_path!s}:{os.environ['PYTHONPATH']}"
    else:
        os.environ["PYTHONPATH"] = str(new_path)
    sys.path.insert(0, str(new_path))

if __name__ == "__main__":
    name = os.path.basename(sys.argv[0])
    assert name in ("revng", "revng2")
    if name == "revng":
        from revng.internal.cli.revng import main
    else:
        from revng.internal.cli.revng2 import main

    sys.exit(main())
