mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef ldconfig ldconfig.real
 | |
| 
 | |
| local ret=1
 | |
| local -a args context line state state_descr
 | |
| local -A opt_args
 | |
| 
 | |
| case $OSTYPE in
 | |
|   linux*)
 | |
|     args=(
 | |
|       '(x -v --verbose)'{-v,--verbose}'[output verbosely]' \
 | |
|       + x \
 | |
|       '(: -)'{-\?,--help}'[display help information]'
 | |
|       '(: -)'{-p,--print-cache}'[display libraries in current cache]'
 | |
|       '(: -)--usage[display brief usage information]'
 | |
|       '(: -)'{-V,--version}'[display version information]'
 | |
|       + l
 | |
|       '(x o)-l[manually link individual libraries (library mode)]'
 | |
|       + o
 | |
|       '(x l -c --format)'{-c+,--format=}'[specify cache format]:cache format:(old new compat)'
 | |
|       '(x l)-C+[specify cache file to use instead of /etc/ld.so.cache]:cache file:_files'
 | |
|       '(x l)-f+[specify configuration file to use instead of /etc/ld.so.conf]:configuration file:_files'
 | |
|       '(x l -i --ignore-aux-cache)'{-i,--ignore-aux-cache}'[ignore auxiliary cache file]'
 | |
|       '(x l -N)-n[process only directories specified on command line (implies -N)]'
 | |
|       '(x l)-N[do not rebuild cache]'
 | |
|       '(x l)-r+[specify root directory]:root directory:_directories'
 | |
|       '(x l)-X[do not update symbolic links]'
 | |
|     )
 | |
|     ;;
 | |
|   *bsd*|dragonfly*)
 | |
|     args=(
 | |
|       '(-U)-m[merge into the existing hints file]'
 | |
|       '(: -)-r[list the current contents of the hints file]'
 | |
|     );|
 | |
|   dragonfly*|freebsd*|openbsd*)
 | |
|     args+=(
 | |
|       '(-U)-R[rescan previously configured directories]'
 | |
|     );|
 | |
|   dragonfly*|freebsd*)
 | |
|     args+=(
 | |
|       '(-aout)-elf[generate hints for elf format shared libraries]'
 | |
|       '-f+[specify hints file]:hints file:_files'
 | |
|       '-i[run in insecure mode]'
 | |
|     );|
 | |
|   freebsd*|netbsd*|openbsd*)
 | |
|     args+=(
 | |
|       '-v[switch on verbose mode]'
 | |
|     );|
 | |
|   freebsd*|openbsd*)
 | |
|     args+=(
 | |
|       '-s[do not scan /usr/lib for shared libraries]'
 | |
|     );|
 | |
|   freebsd*)
 | |
|     args+=(
 | |
|       '-32[generate hints for 32-bit ABI shared libraries]'
 | |
|       '(-elf)-aout[generate hints for a.out format shared libraries]'
 | |
|     );|
 | |
|   netbsd*)
 | |
|     args+=(
 | |
|       '(-s)-c[do not scan directories in /etc/ls.so.conf]'
 | |
|       '(-s)-S[do not scan /usr/lib for shared libraries]'
 | |
|       '-s[do not scan /usr/lib or directories in /etc/ld.so.conf for shared libraries]'
 | |
|     );|
 | |
|   openbsd*)
 | |
|     args+=(
 | |
|       '(-m)-U[unconfigure specified directories or inaccessable directories if none specified]'
 | |
|     );|
 | |
| esac
 | |
| 
 | |
| _arguments -s -S : \
 | |
|   '(x)*: :->files' \
 | |
|   $args \
 | |
| && ret=0
 | |
| 
 | |
| [[ $state == files ]] &&
 | |
| if [[ -n ${opt_args[(I)l--l]} ]]; then
 | |
|   _object_files && ret=0
 | |
| else
 | |
|   _directories && ret=0
 | |
| fi
 | |
| 
 | |
| return ret
 |