diff options
Diffstat (limited to 'vim/bundle/YouCompleteMe/install.py')
-rwxr-xr-x | vim/bundle/YouCompleteMe/install.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/vim/bundle/YouCompleteMe/install.py b/vim/bundle/YouCompleteMe/install.py new file mode 100755 index 0000000..36bb70e --- /dev/null +++ b/vim/bundle/YouCompleteMe/install.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python + +from __future__ import print_function +from __future__ import division +from __future__ import unicode_literals +from __future__ import absolute_import + +import os +import subprocess +import sys +import os.path as p +import glob + +PY_MAJOR, PY_MINOR = sys.version_info[ 0 : 2 ] +if not ( ( PY_MAJOR == 2 and PY_MINOR >= 6 ) or + ( PY_MAJOR == 3 and PY_MINOR >= 3 ) or + PY_MAJOR > 3 ): + sys.exit( 'YouCompleteMe requires Python >= 2.6 or >= 3.3; ' + 'your version of Python is ' + sys.version ) + +DIR_OF_THIS_SCRIPT = p.dirname( p.abspath( __file__ ) ) +DIR_OF_OLD_LIBS = p.join( DIR_OF_THIS_SCRIPT, 'python' ) + + +def Main(): + build_file = p.join( DIR_OF_THIS_SCRIPT, 'third_party', 'ycmd', 'build.py' ) + + if not p.isfile( build_file ): + sys.exit( 'File ' + build_file + ' does not exist; you probably forgot ' + 'to run:\n\tgit submodule update --init --recursive\n\n' ) + + python_binary = sys.executable + subprocess.check_call( [ python_binary, build_file ] + sys.argv[1:] ) + + # Remove old YCM libs if present so that YCM can start. + old_libs = ( + glob.glob( p.join( DIR_OF_OLD_LIBS, '*ycm_core.*' ) ) + + glob.glob( p.join( DIR_OF_OLD_LIBS, '*ycm_client_support.*' ) ) + + glob.glob( p.join( DIR_OF_OLD_LIBS, '*clang*.*') ) ) + for lib in old_libs: + os.remove( lib ) + +if __name__ == "__main__": + Main() |