zsh_completion.sh
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:3k
源码类别:

midi

开发平台:

Unix_Linux

  1. #!/usr/bin/env zsh
  2. # Helper script to install zsh completion for VLC media player
  3. # 漏 2008 Rafa毛l Carr茅 <funman@videolanorg>
  4. HOST=`gcc -dumpmachine`
  5. case $HOST in
  6.     *darwin*)
  7.         SUFFIX=dylib
  8.     ;;
  9.     *cygwin*|*mingw*)
  10.         SUFFIX=dll
  11.     ;;
  12.     *linux*|*bsd*)
  13.         SUFFIX=so
  14.     ;;
  15.     *)
  16.         echo WARNING: Unknown platform: '$HOST'
  17.     ;;
  18. esac
  19. if test -z "$SUFFIX"; then
  20.     echo "ERROR: unknown suffix for shared objects
  21. Please run "SUFFIX=xxx $0"
  22. where xxx is the shared object extension on your platform."
  23.     exit 1
  24. fi
  25. #Distributors can run BUILDDIR=XXX ./zsh_completion.sh
  26. if test -z "$BUILDDIR"; then
  27.     BUILDDIR=../../
  28. fi
  29. function find_libvlc {
  30.     for i in $BUILDDIR/src/.libs/libvlc.$SUFFIX $BUILDDIR/src/libvlc.$SUFFIX; do
  31.         test -e $i && LIBVLC=$i && return 0
  32.     done
  33.     return 1
  34. }
  35. function find_libvlccore {
  36.     for i in $BUILDDIR/src/.libs/libvlccore.$SUFFIX $BUILDDIR/src/libvlccore.$SUFFIX; do
  37.         test -e $i && LIBVLCCORE=$i && return 0
  38.     done
  39.     return 1
  40. }
  41. while test -z "$LIBVLC"; do
  42.     if ! find_libvlc; then
  43.         /bin/echo -n "Please enter the directory where you built vlc: "
  44.         read BUILDDIR
  45.     fi
  46. done
  47. echo "libvlc found !"
  48. if ! find_libvlccore; then
  49.     /bin/echo -n "libvlccore not found ! Linking will fail !"
  50. fi
  51. LD_LIBRARY_PATH=$BUILDDIR/src/.libs
  52. if test -e ../../extras/contrib/config.mak -a ! "`grep HOST ../../extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "$HOST"; then
  53.     echo "contribs found !"
  54.     CPPFLAGS="-I../../extras/contrib/include"
  55. fi
  56. if test -z "$CXX"; then
  57.     CXX=g++
  58. fi
  59. ZSH_BUILD="$CXX $CPPFLAGS $CXXFLAGS -D__LIBVLC__ -DHAVE_CONFIG_H -I$BUILDDIR -I$BUILDDIR/include -I../../include zsh.cpp $LIBVLC $LIBVLCCORE -o zsh_gen"
  60. echo "Building zsh completion generator ...  "
  61. echo $ZSH_BUILD
  62. echo
  63. eval $ZSH_BUILD || exit 1
  64. echo "Generating zsh completion ..."
  65. if ! ./zsh_gen --plugin-path=$BUILDDIR >_vlc 2>/dev/null; then
  66.     echo "ERROR: the generation failed.... :(
  67. Please press enter to verify that all the VLC modules are shown"
  68.     read i
  69.     ./zsh_gen --plugin-path=$BUILDDIR -vvv --list
  70.     echo "
  71. If they are shown, press enter to see if you can debug the problem
  72. It will be reproduced by running "./zsh_gen --plugin-path=$BUILDDIR -vvv""
  73.     read i
  74.     ./zsh_gen --plugin-path=$BUILDDIR -vvv
  75.     exit 1
  76. fi
  77. echo "zsh completion is `echo `wc -l _vlc`` lines long !"
  78. test -z "$NOINSTALL" || exit 0
  79. #Distributors can run NOINSTALL=mg ./zsh_completion.sh
  80. if ! /usr/bin/which zsh >/dev/null 2>&1; then
  81.     echo "ERROR: zsh not found, you'll have to copy the _vlc file manually"
  82.     exit 1
  83. fi
  84. test -z "$ZSH_FPATH" && ZSH_FPATH=`zsh -c "echo \$fpath|cut -d" " -f1"`
  85. if test -z "$ZSH_FPATH"; then
  86.     echo "ERROR: Could not find a directory where to install completion
  87. Please run "ZSH_FPATH=path $0"
  88. where path is the directory where you want to install completion"
  89.     exit 1
  90. fi
  91. echo "completion will be installed in $ZSH_FPATH , using root privileges
  92. Press Ctrl+C to abort installation, and copy _vlc manually"
  93. read i
  94. echo "Installing completion ..."
  95. sudo sh -c "chown 0:0 _vlc && chmod 0644 _vlc && mv _vlc $ZSH_FPATH" || exit 1
  96. echo "zsh completion for VLC successfully installed :)
  97. Restart running zsh instances, or run "compinit" to start using it."