source: roaraudio/roarclients/roarify.sht @ 5878:3b92b0d6ef9b

Last change on this file since 5878:3b92b0d6ef9b was 4398:10c4f1f666d0, checked in by phi, 14 years ago

fixed LD_LIBRARY_PATH bug

File size: 2.1 KB
RevLine 
[1619]1#!/bin/sh
2
[1943]3usage() {
4 echo "Usage: $0 program ..."
5 echo "or:"
6 echo "Usage: $0 [OPTIONS] -- program ..."
7 echo "or:"
8 echo "Usage: $0 --help"
9 echo
10 echo "Options:"
11 echo " --help               - This help"
[3584]12 echo " --print-env-bash     - Print needed ENVs in bash mode"
[1943]13 echo " --server SERVER      - Sets server to SERVER"
[2378]14 echo " --load   MODULE      - Force loading of MODULE"
[3844]15 echo " --no-load-roar       - Do not preload libroar"
16 echo " --no-load-oss        - Do not preload libroaross (OSS Emulation)"
[1943]17}
18
[1942]19CMD=false
20
[3584]21print_env=false
22print_mode=none
23
[3844]24preload_libroar='%%%PREFIX_LIB%%%/libroar.so.%%%VERSION%%% '
25preload_libroaross='%%%PREFIX_LIB%%%/libroaross.so.%%%VERSION%%% '
26
[1942]27while [ "$1" != '' ]
28do
29 k="$1"
30 shift;
31
32 case "$k" in
33  '--')
34   CMD="$1"
35   shift;
36   break;
37  ;;
38  '--server')
39   export ROAR_SERVER="$1"
40   shift;
41  ;;
[2378]42  '--load')
[2845]43   LD_PRELOAD="%%%PREFIX_COMP_LIBS%%%/lib$1.so $LD_PRELOAD"
[2378]44   shift;
45  ;;
[3844]46  '--no-load-roar')
47   preload_libroar=''
48  ;;
49  '--no-load-oss')
50   preload_libroaross=''
51  ;;
[1943]52  '--help'|'-h')
53   usage;
54   exit 0;
55  ;;
[3584]56  '--print-env-bash')
57   print_env=true
58   print_mode=bash
59  ;;
[1942]60  '-'*)
61   echo "$0: Error: Unknown option: $k" >&2
[1943]62   usage >&2;
[1942]63   exit 1
64  ;;
65  *)
66   CMD="$k"
67   break;
68  ;;
69 esac
70done
71
[3844]72# spaces are included in $preload_*
73LD_PRELOAD="$preload_libroar$preload_libroaross$LD_PRELOAD"
74
75if [ "$LD_PRELOAD" = '' ]
76then
77 unset LD_PRELOAD
78else
79 export LD_PRELOAD
80fi
81
[4398]82if [ "$LD_LIBRARY_PATH" = '' ]
83then
84 export LD_LIBRARY_PATH='%%%PREFIX_COMP_LIBS%%%'
85else
86 export LD_LIBRARY_PATH='%%%PREFIX_COMP_LIBS%%%'":$LD_LIBRARY_PATH"
87fi
[2845]88export PATH='%%%PREFIX_COMP_BINS%%%'":$PATH"
[2378]89
[3584]90if $print_env
91then
92 case "$print_mode" in
93  'bash')
[3585]94   [ "$ROAR_SERVER" != '' ] && echo "ROAR_SERVER='$ROAR_SERVER'; export ROAR_SERVER;"
[3844]95   [ "$LD_PRELOAD"  != '' ] && echo "LD_PRELOAD='$LD_PRELOAD'; export LD_PRELOAD;"
[3585]96   echo "LD_LIBRARY_PATH='$LD_LIBRARY_PATH'; export LD_LIBRARY_PATH;"
97   echo "PATH='$PATH'; export PATH;"
[3584]98  ;;
99  *)
100   echo "Error: unknown print env mode: $print_mode" >&2
101   exit 1;
102  ;;
103 esac
104 exit 0;
105fi
106
[4258]107exec $(exec -- echo -- 2>/dev/null) "$CMD" "$@"
[1619]108
109#ll
Note: See TracBrowser for help on using the repository browser.