source: roaraudio/build-system/configure.lib @ 5676:76b2ff90b88f

Last change on this file since 5676:76b2ff90b88f was 5675:b41001973643, checked in by phi, 12 years ago

corrected shift count

File size: 7.0 KB
Line 
1#!/bin/false
2# vim:ft=sh
3
4#     Copyright (C) Philipp 'ph3-der-loewe' Schafft - 2008-2012
5#
6# This file is part of roard a part of RoarAudio,
7# a cross-platform sound system for both, home and professional use.
8# See README for details.
9#
10# This file is free software; you can redistribute it and/or modify
11# it under the terms of the GNU General Public License version 3
12# as published by the Free Software Foundation.
13#
14# RoarAudio is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with this software; see the file COPYING.  If not, write to
21# the Free Software Foundation, 51 Franklin Street, Fifth Floor,
22# Boston, MA 02110-1301, USA.
23
24# some very basic string functions:
25to_upper() {
26 tr 'a-z' 'A-Z'
27}
28
29to_escaped() {
30 tr 'A-Z/.+-' 'a-z____'
31}
32
33parse_option() {
34 # Options are given via $n.
35 # we can not shift used ones so we tell the caller
36 # how many to shift: shift $SHIFT_COUNT
37 SHIFT_COUNT=0
38 # we also tell if the option was handelt.
39 HANDLED=true # will be reset if not.
40
41 case "$1" in
42  '--ldpath')
43   LDPATH="$LDPATH -L$2"
44   SHIFT_COUNT=1
45  ;;
46  '--incpath')
47   INCPATH="$INCPATH -I$2"
48   SHIFT_COUNT=1
49  ;;
50  '--addpath')
51   LDPATH="$LDPATH -L$2/lib/"
52   INCPATH="$INCPATH -I$2/include/"
53   SHIFT_COUNT=1
54  ;;
55  '--root')
56   LDPATH="$LDPATH -L$2/lib/"
57   INCPATH="$INCPATH -I$2/include/"
58   PREFIX="$2"
59   SHIFT_COUNT=1
60  ;;
61  '--cflags')
62   CFLAGS="$2"
63   SHIFT_COUNT=1
64  ;;
65  '--ldflags')
66   LDFLAGS="$2"
67   SHIFT_COUNT=1
68  ;;
69  '--opti')
70   OPTI_O="$2"
71   SHIFT_COUNT=1
72  ;;
73  '--link-deps')
74   LINK_DEPS="$2"
75   SHIFT_COUNT=1
76  ;;
77  '--cc')
78   CC="$2"
79   SHIFT_COUNT=1
80  ;;
81  '--ranlib')
82   RANLIB="$2"
83   SHIFT_COUNT=1
84  ;;
85  '--root-uid')
86   ROOT_UID="$2"
87   SHIFT_COUNT=1
88  ;;
89  '--no-'*)
90   lib=$(echo "$1" | sed 's/^--no-//' | to_escaped)
91   eval no_lib_$lib=true
92  ;;
93  '--maybe-'*)
94   lib=$(echo "$1" | sed 's/^--maybe-//' | to_escaped)
95   eval unset no_lib_$lib
96  ;;
97  '--distribution-version-string')
98   DISTRIBUTION_VERSION_STRING="$2"
99   SHIFT_COUNT=1
100  ;;
101  '--without-beta')
102   BETA=false
103   EXPERIMENTAL=false
104  ;;
105  '--without-experimental')
106   EXPERIMENTAL=false
107  ;;
108  '--prefix')
109   PREFIX="$2"
110   SHIFT_COUNT=1
111  ;;
112  '--prefix-bin')
113   PREFIX_BIN="$2"
114   SHIFT_COUNT=1
115  ;;
116  '--prefix-lib')
117   PREFIX_LIB="$2"
118   SHIFT_COUNT=1
119  ;;
120  '--prefix-inc')
121   PREFIX_INC="$2"
122   SHIFT_COUNT=1
123  ;;
124  '--prefix-man')
125   PREFIX_MAN="$2"
126   SHIFT_COUNT=1
127  ;;
128  '--prefix-pc')
129   PREFIX_PC="$2"
130   SHIFT_COUNT=1
131  ;;
132####################################
133# autof* options block:
134  '--prefix='*)
135   PREFIX=$(echo "$1" | cut -d= -f2)
136  ;;
137  '--prefix-bin='*)
138   PREFIX_BIN=$(echo "$1" | cut -d= -f2)
139  ;;
140  '--prefix-lib='*)
141   PREFIX_LIB=$(echo "$1" | cut -d= -f2)
142  ;;
143  '--prefix-inc='*)
144   PREFIX_INC=$(echo "$1" | cut -d= -f2)
145  ;;
146  '--prefix-man='*)
147   PREFIX_MAN=$(echo "$1" | cut -d= -f2)
148  ;;
149  '--prefix-pc='*)
150   PREFIX_PC=$(echo "$1" | cut -d= -f2)
151  ;;
152####################################
153  '--mmcu')
154   MMCU="$2"
155   SHIFT_COUNT=1
156  ;;
157  '--exec-helper')
158   EXEC_HELPER="$2"
159   SHIFT_COUNT=1
160  ;;
161  '--target-win32')
162   TARGET_WIN32=true
163  ;;
164  *)
165   HANDLED=false
166  ;;
167 esac;
168
169 if $HANDLED
170 then
171  SHIFT_COUNT=`expr $SHIFT_COUNT + 1`
172 fi
173}
174
175open_configure_files() {
176 exec 3> config.h 4> Makefile.conf 5> config.log
177}
178
179update_target() {
180 TARGET_CYGWIN=`echo "$SYSNAME" | if grep CYGWIN  > /dev/null; then echo true; else echo false; fi`
181 TARGET_WIN32=`echo  "$SYSNAME" | if grep MINGW32 > /dev/null; then echo true; else echo $TARGET_WIN32; fi`
182
183 if [ "$SYSNAME" = 'Darwin' ]
184 then
185  echo "Adding common $SYSNAME shared lib arguments..."
186  SHARED="$SHARED -fno-common -dynamiclib -compatibility_version 0.1 -current_version 0.1.0"
187  SHARED_CF="$SHARED_CF -fno-common"
188 elif [ "$SYSNAME" = 'NetBSD' ]
189 then
190  echo "Adding common $SYSNAME libpath arguments..."
191  LDPATH="$LDPATH -L/usr/local/lib/"
192 elif [ "$SYSNAME" = 'OpenBSD' ]
193 then
194  echo "Adding common $SYSNAME search path arguments..."
195  LDPATH="$LDPATH -L/usr/local/lib/"
196  INCPATH="$INCPATH -I/usr/local/include/"
197 # echo "Adding $SYSNAME build arguments..."
198 # SNDIO_EMUL=false
199 elif [ "$SYSNAME" = 'FreeBSD' ]
200 then
201  echo "Adding common $SYSNAME search path arguments..."
202  LDPATH="$LDPATH -L/usr/local/lib/"
203  INCPATH="$INCPATH -I/usr/local/include/"
204 elif $TARGET_WIN32
205 then
206  echo "Adding common win32 build arguments..."
207  rdynamic=false
208  fPIC=false
209  SHARED_SUFFIX='.dll'
210 elif $TARGET_CYGWIN
211 then
212  echo "Adding common cygwin build arguments..."
213  rdynamic=false
214  fPIC=false
215  SHARED_SUFFIX='.dll'
216 fi
217}
218
219update_prefixes() {
220 [ "$PREFIX_BIN"  = '' ] && PREFIX_BIN="$PREFIX/bin/"
221 [ "$PREFIX_LIB"  = '' ] && PREFIX_LIB="$PREFIX/lib/"
222 [ "$PREFIX_INC"  = '' ] && PREFIX_INC="$PREFIX/include/"
223 [ "$PREFIX_MAN"  = '' ] && PREFIX_MAN="$PREFIX/share/man/"
224 [ "$PREFIX_PC"   = '' ] && PREFIX_PC="$PREFIX_LIB/pkgconfig/"
225}
226
227update_ccft() {
228 CCTF="$CC $CFLAGS $LDFLAGS $LDPATH $INCPATH -Iinclude/ -o $TF_E $TF_C"
229}
230
231cleanup_ccft() {
232 rm -f $TF_C $TF_E
233 if [ "$TARGET_CYGWIN" = 'true' -o "$TARGET_WIN32" = 'true' ]
234 then
235  echo "Deleting win32 specific temp files: $TF_E.exe"
236  rm -f $TF_E.exe
237 fi
238}
239
240update_cc() {
241 if [ "$MMCU" != '' ]
242 then
243  CC="$CC -mmcu=$MMCU"
244 fi
245}
246
247write_header_makefileconf() {
248 {
249  echo "VERSION=$VERSION"
250  echo "DISTRIBUTION_VERSION_STRING=$DISTRIBUTION_VERSION_STRING"
251  echo
252  echo "SHARED=$SHARED"
253  echo "SHARED_CF=$SHARED_CF"
254  echo "SHARED_SUFFIX=$SHARED_SUFFIX"
255  $rdynamic && echo 'rdynamic=-rdynamic'
256  $fPIC     && echo 'fPIC=-fPIC'
257  $Wextra   && echo 'Wextra=-Wextra'
258  echo
259  echo "CC=$CC"
260  echo "RANLIB=$RANLIB"
261  echo "LDPATH=$LDPATH"
262  echo "INCPATH=$INCPATH"
263  echo
264  echo "OPTI_O=-O$OPTI_O"
265  echo
266  [ "$CFLAGS"  != '' ] && echo "CFLAGS  += $CFLAGS"
267  [ "$LDFLAGS" != '' ] && echo "LDFLAGS += $LDFLAGS"
268  echo
269  echo "EXEC_HELPER=$EXEC_HELPER"
270  echo "CROSS_COMPILE=$CROSS_COMPILE"
271  echo
272  echo "PREFIX=$PREFIX"
273  echo "PREFIX_BIN=$PREFIX_BIN"
274  echo "PREFIX_LIB=$PREFIX_LIB"
275  echo "PREFIX_INC=$PREFIX_INC"
276  echo "PREFIX_MAN=$PREFIX_MAN"
277  echo "PREFIX_PC=$PREFIX_PC"
278  echo
279 } >&4
280}
281
282write_footer_makefileconf() {
283 {
284  echo
285  echo '#ll'
286 } >&4
287}
288
289write_header_configlog() {
290 {
291  cat <<'EOF'
292//config.log:
293
294/*
295 * Logfile for configure script $Revision$ of RoarAudio
296 */
297
298EOF
299  echo '/* uname: ' $(uname -a) '*/'
300  echo '/* Date : ' $(date)  '*/'
301  echo
302
303  echo
304  echo
305
306  echo "ARGS(): $_CARGS"
307
308  for i in PATH SHELL CC RANLIB PKG_CONFIG SYSNAME \
309           TARGET_CYGWIN TARGET_WIN32 TARGET_MICROCONTROLLER CROSS_COMPILE \
310           MINIMAL EXEC_HELPER \
311           "$@"
312  do
313   eval echo "BASICCONF\($i\): \$$i";
314  done
315
316  echo
317  echo
318 } >&5
319}
320
321write_footer_configlog() {
322 {
323  echo
324  echo '//ll'
325 } >&5
326}
327
328write_header_configh() {
329 {
330  echo '//config.h:'
331  echo
332  echo "#ifndef $1"
333  echo "#define $1"
334  echo
335  echo '/* uname: ' $(uname -a) '*/'
336  echo '/* Date : ' $(date)  '*/'
337  echo
338 } >&3
339}
340
341write_footer_configh() {
342 {
343  echo
344  echo '#endif'
345  echo
346  echo '//ll'
347 } >&3
348}
349
350#ll
Note: See TracBrowser for help on using the repository browser.