]> git.saurik.com Git - wxWidgets.git/blob - wx-config-wrapper.in
mention that Check() doesn't work before the item is attached to a menu
[wxWidgets.git] / wx-config-wrapper.in
1 #!/bin/sh
2
3 # -------------------------------------------------------------------------
4 # Location of wx:
5 # -------------------------------------------------------------------------
6
7 update_prefixes()
8 {
9 includedir="@includedir@"
10 libdir="@libdir@"
11 }
12 prefix="@prefix@"
13 exec_prefix="@exec_prefix@"
14 update_prefixes
15
16 srcdir="@top_srcdir@"
17 builddir="@top_builddir_wxconfig@"
18
19
20 # -------------------------------------------------------------------------
21 # Wrapper script:
22 # -------------------------------------------------------------------------
23
24 exec_prefix_set=no
25
26 # return the absolute path prepending builddir to it if needed
27 makeabs()
28 {
29 path=$1
30 # TODO: this only works under Unix and even there it could be
31 # enhanced to remove ".." and "."
32 if [ `echo $path | sed 's/^\(.\).*/\1/'` != "/" ]; then
33 if [ $path = "." ]; then
34 path=$builddir
35 else
36 path="$builddir/$path"
37 fi
38 fi
39
40 echo $path
41 }
42
43 # these determine wx-config script to use:
44 m_toolkit='.*'
45 m_univ='\(univ\)\?'
46 m_unicode='\(unicode\|ansi\)'
47 m_debug='\(debug\|release\)'
48 m_version='[0-9]\+\.[0-9]\+'
49 m_host=''
50
51 # lists all wx-config scripts that match criteria specified above
52 list_wx_config_scripts()
53 {
54 mask="^${m_toolkit}${m_univ}-${m_unicode}-${m_debug}-${m_version}${m_host}$"
55
56 # if wx-config was called via wx$TOOLCHAIN_NAME-config symlink,
57 # try to extract the mask from it:
58 myname=`basename $0`
59 if test $myname != wx-config ; then
60 toolchain=`echo $myname | sed 's/wx\(.*\)-config/\1/'`
61 if test -f ${libdir}/wx/config/${toolchain} ; then
62 mask=$toolchain
63 fi
64 fi
65
66 if test -d ${libdir}/wx/config ; then
67 (cd ${libdir}/wx/config/ && ls -1 | grep "$mask" 2>/dev/null)
68 fi
69 }
70
71 # find first wx-config script that matches criteria
72 find_wx_config_script()
73 {
74 all_scripts=`list_wx_config_scripts`
75 # unless wxBase was explicitly requested, try to find a GUI version:
76 if test "$m_toolkit" != "base" ; then
77 script=`echo $all_scripts | tr ' ' '\n' | grep -v '^base' | head -n 1`
78 if test "x$script" != "x" ; then
79 echo ${libdir}/wx/config/${script}
80 exit 0
81 fi
82 fi
83
84 # otherwise (or if no GUI script was found), use alphabetically 1st script:
85 script=`echo $all_scripts | head -n 1`
86 if test -z "$script" ; then
87 echo "no suitable wx-config script found" >&2
88 exit 1
89 fi
90 echo ${libdir}/wx/config/${script}
91 }
92
93
94 # handle options:
95
96 # arguments to pass to the real wx-config script:
97 args=""
98
99 for i in $*; do
100 case "$i" in
101 -*=*) optarg=`echo "$i" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
102 *) optarg= ;;
103 esac
104
105 case $i in
106 --inplace)
107 prefix=`makeabs $srcdir`
108 exec_prefix=`makeabs $builddir`
109 exec_prefix_set=yes
110 update_prefixes
111 args="$args --inplace"
112 ;;
113 --prefix=*)
114 prefix=$optarg
115 if test $exec_prefix_set = no ; then
116 exec_prefix=$optarg
117 fi
118 update_prefixes
119 ;;
120 --exec-prefix=*)
121 exec_prefix=$optarg
122 exec_prefix_set=yes
123 update_prefixes
124 ;;
125
126 --list)
127 # list available wx versions:
128 list_wx_config_scripts
129 exit
130 ;;
131
132 --toolkit=*)
133 m_toolkit=$optarg
134 ;;
135 --version=*)
136 m_version=$optarg
137 ;;
138 --unicode=*)
139 if test "x$optarg" = "xyes" ; then
140 m_unicode="unicode"
141 else
142 m_unicode="ansi"
143 fi
144 ;;
145 --unicode)
146 m_unicode="unicode"
147 ;;
148 --debug=*)
149 if test "x$optarg" = "xyes" ; then
150 m_debug="debug"
151 else
152 m_debug="release"
153 fi
154 ;;
155 --debug)
156 m_debug="debug"
157 ;;
158 --universal=*)
159 if test "x$optarg" = "xyes" ; then
160 m_univ="univ"
161 else
162 m_univ=""
163 fi
164 ;;
165 --universal)
166 m_univ="univ"
167 ;;
168 --host=*)
169 m_host="-$optarg"
170 ;;
171 *)
172 args="$args $i"
173 ;;
174 esac
175 done
176
177 args="--prefix=$prefix --exec-prefix=$exec_prefix $args"
178
179 script=`find_wx_config_script`;
180 if test "x$script" != "x" ; then
181 $script $args
182 exit $?
183 else
184 exit 1
185 fi