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
Line 
1#!/bin/sh
2
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"
12 echo " --print-env-bash     - Print needed ENVs in bash mode"
13 echo " --server SERVER      - Sets server to SERVER"
14 echo " --load   MODULE      - Force loading of MODULE"
15 echo " --no-load-roar       - Do not preload libroar"
16 echo " --no-load-oss        - Do not preload libroaross (OSS Emulation)"
17}
18
19CMD=false
20
21print_env=false
22print_mode=none
23
24preload_libroar='%%%PREFIX_LIB%%%/libroar.so.%%%VERSION%%% '
25preload_libroaross='%%%PREFIX_LIB%%%/libroaross.so.%%%VERSION%%% '
26
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  ;;
42  '--load')
43   LD_PRELOAD="%%%PREFIX_COMP_LIBS%%%/lib$1.so $LD_PRELOAD"
44   shift;
45  ;;
46  '--no-load-roar')
47   preload_libroar=''
48  ;;
49  '--no-load-oss')
50   preload_libroaross=''
51  ;;
52  '--help'|'-h')
53   usage;
54   exit 0;
55  ;;
56  '--print-env-bash')
57   print_env=true
58   print_mode=bash
59  ;;
60  '-'*)
61   echo "$0: Error: Unknown option: $k" >&2
62   usage >&2;
63   exit 1
64  ;;
65  *)
66   CMD="$k"
67   break;
68  ;;
69 esac
70done
71
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
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
88export PATH='%%%PREFIX_COMP_BINS%%%'":$PATH"
89
90if $print_env
91then
92 case "$print_mode" in
93  'bash')
94   [ "$ROAR_SERVER" != '' ] && echo "ROAR_SERVER='$ROAR_SERVER'; export ROAR_SERVER;"
95   [ "$LD_PRELOAD"  != '' ] && echo "LD_PRELOAD='$LD_PRELOAD'; export LD_PRELOAD;"
96   echo "LD_LIBRARY_PATH='$LD_LIBRARY_PATH'; export LD_LIBRARY_PATH;"
97   echo "PATH='$PATH'; export PATH;"
98  ;;
99  *)
100   echo "Error: unknown print env mode: $print_mode" >&2
101   exit 1;
102  ;;
103 esac
104 exit 0;
105fi
106
107exec $(exec -- echo -- 2>/dev/null) "$CMD" "$@"
108
109#ll
Note: See TracBrowser for help on using the repository browser.