1 | |
---|
2 | |
---|
3 | dnl AX_CHECK_HEADER_LIB([HEADER-NAME], [LIBRARY-NAME], [FUNCTION-IN-LIB], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [LIB-WEB-PAGE]) |
---|
4 | AC_DEFUN([AX_CHECK_HEADER_LIB], [ |
---|
5 | _header_check="" |
---|
6 | _lib_check="" |
---|
7 | |
---|
8 | AC_CHECK_HEADER([$1], [_header_check="yes"], [_header_check="no"]) |
---|
9 | AC_CHECK_LIB([$2], [$3], [_lib_check="yes"], [_lib_check="no"]) |
---|
10 | if [test "x$_header_check" = "xyes" && test "x$_lib_check" = "xyes"] ; then |
---|
11 | LIBS="$LIBS -l$2" |
---|
12 | $4 |
---|
13 | else |
---|
14 | echo "no Support for $2" |
---|
15 | $5 |
---|
16 | fi |
---|
17 | ]) |
---|
18 | |
---|
19 | |
---|
20 | |
---|
21 | dnl AX_CHECK_REQUIRED_HEADER_LIB([HEADER-NAME], [LIBRARY-NAME], [FUNCTION-IN-LIB], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [LIB-WEB-PAGE], [CFLAGS], [OTHER_LIBS]) |
---|
22 | AC_DEFUN([AX_CHECK_REQUIRED_HEADER_LIB], [ |
---|
23 | _header_check="" |
---|
24 | _lib_check="" |
---|
25 | LAST_FOUND_LIB="" |
---|
26 | |
---|
27 | _lib_USED="" |
---|
28 | _header_USED="" |
---|
29 | |
---|
30 | for _header in $1 |
---|
31 | do |
---|
32 | AC_CHECK_HEADER([${_header}], [_header_check="yes" ; _header_USED=${_header}], [_header_check="no"], $7) |
---|
33 | if test "x${_header_check}" = "xyes" ; then |
---|
34 | break |
---|
35 | fi |
---|
36 | done |
---|
37 | for _check_library in $2 |
---|
38 | do |
---|
39 | AC_CHECK_LIB([${_check_library}], [$3], [_lib_check="yes"; _lib_USED=${_check_library}], [_lib_check="no"], $8) |
---|
40 | if test "x${_lib_check}" = "xyes" ; then |
---|
41 | LAST_FOUND_LIB=${_lib_USED} |
---|
42 | break |
---|
43 | fi |
---|
44 | done |
---|
45 | if [test "x${_header_check}" = "xyes" && test "x${_lib_check}" = "xyes"] ; then |
---|
46 | m4_ifval([$4], [$4], [ |
---|
47 | LIBS="${LIBS} -l${_lib_USED}"]) |
---|
48 | else |
---|
49 | m4_ifval([$5], [$5], [ |
---|
50 | echo "------------------" |
---|
51 | echo "LIBRARY $2 not found." |
---|
52 | echo "please install the $2-LIBRARY-package which can be found at $6" |
---|
53 | echo "------------------" |
---|
54 | exit -1]) |
---|
55 | fi |
---|
56 | ]) |
---|
57 | |
---|
58 | |
---|
59 | |
---|
60 | dnl AX_CHECK_REQUIRED_LIB([LIBRARY-NAME], [FUNCTION-IN-LIB], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [LIB-WEB-PAGE]) |
---|
61 | AC_DEFUN([AX_CHECK_REQUIRED_LIB], [ |
---|
62 | _lib_check="" |
---|
63 | _found_lib="" |
---|
64 | |
---|
65 | |
---|
66 | for _lib in $1 |
---|
67 | do |
---|
68 | AC_CHECK_LIB([$_lib], [$2], [_lib_check="yes"], [_lib_check="no"]) |
---|
69 | if test "x$_lib_check" = "xyes" ; then |
---|
70 | _found_lib=$_lib |
---|
71 | break |
---|
72 | fi |
---|
73 | done |
---|
74 | |
---|
75 | if [test "x$_lib_check" = "xyes"] ; then |
---|
76 | LIBS="$LIBS -l$_found_lib" |
---|
77 | $3 |
---|
78 | else |
---|
79 | echo "------------------" |
---|
80 | echo "LIBRARY $1 not found." |
---|
81 | echo "please install the $1-LIBRARY-package which can be found at $5" |
---|
82 | echo "------------------" |
---|
83 | $4 |
---|
84 | exit -1 |
---|
85 | fi |
---|
86 | ]) |
---|
87 | |
---|
88 | |
---|
89 | |
---|
90 | |
---|
91 | dnl AX_CHECK_QT([QTDIR], [LIBRARIES], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [LIB-WEB-PAGE]) |
---|
92 | AC_DEFUN([AX_CHECK_QT], [ |
---|
93 | _lib_check="" |
---|
94 | _found_lib="" |
---|
95 | QT_PREFIX="$1" |
---|
96 | QT_INCLUDE_DIRECTORY="" |
---|
97 | QT_LIB_DIRECTORY="" |
---|
98 | QT_BIN_DIRECTORY="" |
---|
99 | |
---|
100 | QT_COMMON_INCLUDE_DIRECTORIES=" |
---|
101 | `ls -dr ${QT_PREFIX}/include 2>/dev/null` |
---|
102 | /usr/include |
---|
103 | `ls -dr /usr/include/qt* 2>/dev/null` |
---|
104 | `ls -dr /usr/lib/qt*/include 2>/dev/null` |
---|
105 | `ls -dr /usr/local/qt*/include 2>/dev/null` |
---|
106 | `ls -dr /opt/qt*/include 2>/dev/null` |
---|
107 | `ls -dr /opt/local/include 2>/dev/null` |
---|
108 | `ls -dr /Developer/qt*/include 2>/dev/null` |
---|
109 | `ls -dr /c/Qt/*/include 2>/dev/null` |
---|
110 | " |
---|
111 | |
---|
112 | QT_COMMON_LIB_DIRECTORIES=" |
---|
113 | `ls -dr ${QT_PREFIX}/lib 2>/dev/null` |
---|
114 | /usr/lib |
---|
115 | `ls -dr /usr/lib/qt* 2>/dev/null` |
---|
116 | `ls -dr /usr/local/qt*/lib 2>/dev/null` |
---|
117 | `ls -dr /opt/qt*/lib 2>/dev/null` |
---|
118 | `ls -dr /opt/local/lib 2>/dev/null` |
---|
119 | `ls -dr /Developer/qt*/lib 2>/dev/null` |
---|
120 | `ls -dr /c/Qt/*/lib 2>/dev/null` |
---|
121 | " |
---|
122 | |
---|
123 | QT_COMMON_BIN_DIRECTORIES=" |
---|
124 | `ls -dr ${QT_PREFIX}/bin 2>/dev/null` |
---|
125 | /usr/bin |
---|
126 | `ls -dr /usr/bin/qt* 2>/dev/null` |
---|
127 | `ls -dr /usr/local/qt*/bin 2>/dev/null` |
---|
128 | `ls -dr /opt/qt*/bin 2>/dev/null` |
---|
129 | `ls -dr /opt/local/bin 2>/dev/null` |
---|
130 | `ls -dr /Developer/qt*/bin 2>/dev/null` |
---|
131 | `ls -dr /c/Qt/*/bin 2>/dev/null` |
---|
132 | " |
---|
133 | |
---|
134 | ## Search in all IncludeDirectories for QT-includes |
---|
135 | for _qt_include_directory in ${QT_COMMON_INCLUDE_DIRECTORIES} |
---|
136 | do |
---|
137 | if test -e ${_qt_include_directory}/QtCore/QCoreApplication ; then |
---|
138 | QT_INCLUDE_DIRECTORY="${_qt_include_directory}" |
---|
139 | break |
---|
140 | fi |
---|
141 | done |
---|
142 | if test -n ${QT_INCLUDE_DIRECTORY} ; then |
---|
143 | echo "Qt-Include Directory is: ${QT_INCLUDE_DIRECTORY}" |
---|
144 | else |
---|
145 | AC_MSG_ERROR([Qt Headers not found]) |
---|
146 | fi |
---|
147 | |
---|
148 | ## Search in all LibraryDirectories for QT-includes |
---|
149 | for _lib_directory in ${QT_COMMON_LIB_DIRECTORIES} |
---|
150 | do |
---|
151 | if test -e ${_lib_directory}/libQtCore.so || test -e ${_lib_directory}/libQtCore4.a || \ |
---|
152 | test -e ${_lib_directory}/QtCore.framework ; then |
---|
153 | QT_LIB_DIRECTORY=${_lib_directory} |
---|
154 | break |
---|
155 | fi |
---|
156 | done |
---|
157 | if test -n ${QT_LIB_DIRECTORY} ; then |
---|
158 | echo "Qt-Library Directory is: ${QT_LIB_DIRECTORY}" |
---|
159 | else |
---|
160 | AC_MSG_ERROR([Qt LIB not found]) |
---|
161 | fi |
---|
162 | |
---|
163 | ## Search in all BINDirectories for QT-executables |
---|
164 | for _bin_directory in ${QT_COMMON_BIN_DIRECTORIES} |
---|
165 | do |
---|
166 | if test -e ${_bin_directory}/moc || test -e ${_bin_directory}/moc.exe ; then |
---|
167 | QT_BIN_DIRECTORY=${_bin_directory} |
---|
168 | break |
---|
169 | fi |
---|
170 | done |
---|
171 | if test -n ${QT_BIN_DIRECTORY} ; then |
---|
172 | echo "Qt-Bin Directory is: ${QT_BIN_DIRECTORY}" |
---|
173 | else |
---|
174 | QT_BIN_DIRECTORY=${QT_PREFIX}/bin |
---|
175 | fi |
---|
176 | |
---|
177 | ## Setting up the Environment Variables. |
---|
178 | QT_LIBS="" |
---|
179 | QT_CXXFLAGS="-I${QT_INCLUDE_DIRECTORY}" |
---|
180 | if test x$osX = xyes ; then |
---|
181 | LDFLAGS="${LDFLAGS} -L${QT_LIB_DIRECTORY}" |
---|
182 | else |
---|
183 | LDFLAGS="${LDFLAGS} -L${QT_LIB_DIRECTORY} -Wl,-rpath -Wl,${QT_LIB_DIRECTORY}" |
---|
184 | fi |
---|
185 | CACHED_CPPFLAG=${CPPFLAGS} |
---|
186 | CACHED_LDFLAGS=${LDFLAGS} |
---|
187 | |
---|
188 | LDFLAGS="${LDFLAGS} ${QT_LDFLAGS}" |
---|
189 | for _lib in $2 |
---|
190 | do |
---|
191 | AC_CHECK_LIB([$_lib], [main], [_lib_check="yes"], [_lib_check="no"]) |
---|
192 | if test "x$_lib_check" = "xyes" ; then |
---|
193 | _found_lib=$_lib |
---|
194 | break |
---|
195 | fi |
---|
196 | done |
---|
197 | |
---|
198 | if [test "x$_lib_check" = "xyes" || test "x$osX" = "xyes"] ; then |
---|
199 | if [test x$osX = xyes] ; then |
---|
200 | # kraus: Need to add a check here. For the moment this just works fine... |
---|
201 | QT_LIBS="${QT_LIBS} -framework QtCore -framework QtGui -framework QtOpenGL" |
---|
202 | QT_LD_FLAGS="${QT_LD_FLAGS} -L${QT_LIB_DIRECTORY}" |
---|
203 | else |
---|
204 | QT_LIBS="${QT_LIBS} -l$_found_lib" |
---|
205 | AX_CHECK_REQUIRED_LIB([QtCore QtCore4], [main],,,[http://www.trolltech.com] ) |
---|
206 | AX_CHECK_REQUIRED_LIB([QtGui QtGui4], [main],,,[http://www.trolltech.com] ) |
---|
207 | AX_CHECK_REQUIRED_LIB([QtOpenGL QtOpenGL4], [main],,,[http://www.trolltech.com] ) |
---|
208 | |
---|
209 | $3 |
---|
210 | fi |
---|
211 | else |
---|
212 | echo "------------------" |
---|
213 | echo "LIBRARY $2 not found.in $1" |
---|
214 | echo "please install the $1-LIBRARY-package which can be found at $5" |
---|
215 | echo "------------------" |
---|
216 | $4 |
---|
217 | exit -1 |
---|
218 | fi |
---|
219 | echo "configuration for qt: " |
---|
220 | echo "QT_LIBS = ${QT_LIBS}" |
---|
221 | echo "QT_CXXFLAGS = ${QT_CXXFLAGS}" |
---|
222 | echo "QT_LD_FLAGS = ${QT_LDFLAGS}" |
---|
223 | echo "QT_BIN_DIRECTORY = ${QT_BIN_DIRECTORY}" |
---|
224 | |
---|
225 | AC_SUBST([QT_LIBS]) |
---|
226 | AC_SUBST([QT_CXXFLAGS]) |
---|
227 | AC_SUBST([QT_LDFLAGS]) |
---|
228 | |
---|
229 | #----------# |
---|
230 | # QT - MOC # |
---|
231 | #----------# |
---|
232 | AC_PATH_PROGS([QT_MOC], [moc-qt4 moc], [no], ["${QT_BIN_DIRECTORY}:${PATH}"]) |
---|
233 | if test x${QT_MOC} = xno ; then |
---|
234 | AC_MSG_ERROR([QT MOC not found]) |
---|
235 | fi |
---|
236 | AC_SUBST([QT_MOC]) |
---|
237 | |
---|
238 | AC_PATH_PROG([QT_UIC], [uic], [no], ["${QT_BIN_DIRECTORY}:${PATH}"]) |
---|
239 | # if test x${QT_UIC} = xno ; then |
---|
240 | # AC_MSG_WARN([QT UIC not found]) |
---|
241 | # fi |
---|
242 | AC_SUBST([QT_UIC]) |
---|
243 | |
---|
244 | AC_PATH_PROG([QT_RCC], [rcc], [no], ["${QT_BIN_DIRECTORY}:${PATH}"]) |
---|
245 | # if test x${QT_RCC} = xno ; then |
---|
246 | # AC_MSG_WARN([QT RCC not found]) |
---|
247 | # fi |
---|
248 | AC_SUBST([QT_RCC]) |
---|
249 | |
---|
250 | |
---|
251 | |
---|
252 | # Restore Values of CPPFLAGS and LDFLAGS |
---|
253 | CPPFLAGS=${CACHED_CPPFLAG} |
---|
254 | LDFLAGS=${CACHED_LDFLAGS} |
---|
255 | ]) |
---|
256 | |
---|
257 | |
---|
258 | dnl AX_CHECK_LUA([LUA_DIR]) |
---|
259 | AC_DEFUN([AX_CHECK_LUA], [ |
---|
260 | #dnl checking for LUA. |
---|
261 | LUA_LIBS= |
---|
262 | LUA_INCLUDES= |
---|
263 | dnl Check for Lua. |
---|
264 | |
---|
265 | LUA_INCLUDE_DIRECTORY= |
---|
266 | LUA_COMMON_INCLUDE_DIRECTORIES=" |
---|
267 | `ls -dr $1 2>/dev/null` |
---|
268 | /usr/include |
---|
269 | `ls -dr /usr/include/lua* 2>/dev/null` |
---|
270 | `ls -dr /usr/lib/lua/include 2>/dev/null` |
---|
271 | `ls -dr /usr/local/include/lua 2>/dev/null` |
---|
272 | `ls -dr /opt/lua*/include 2>/dev/null` |
---|
273 | `ls -dr /opt/local/include 2>/dev/null` |
---|
274 | `ls -dr /Developer/lua*/include 2>/dev/null` |
---|
275 | 'ls -dr ${PREFIX}/include 2>/dev/null' |
---|
276 | " |
---|
277 | |
---|
278 | for _lua_include_directory in ${LUA_COMMON_INCLUDE_DIRECTORIES} |
---|
279 | do |
---|
280 | if test -e ${_lua_include_directory}/lua.h ; then |
---|
281 | LUA_INCLUDE_DIRECTORY=${_lua_include_directory} |
---|
282 | CPPFLAGS="${CPPFLAGS} -I${LUA_INCLUDE_DIRECTORY}" |
---|
283 | break |
---|
284 | fi |
---|
285 | done |
---|
286 | if test -n ${LUA_INCLUDE_DIRECTORY} ; then |
---|
287 | echo "Lua-Include Directory is: ${LUA_INCLUDE_DIRECTORY}" |
---|
288 | else |
---|
289 | AC_MSG_ERROR([Lua Headers not found]) |
---|
290 | fi |
---|
291 | |
---|
292 | if [ test x$osX = xyes ] ; then |
---|
293 | LUA_COMMON_LIB_DIRECTORIES=" |
---|
294 | `ls -dr $1 2>/dev/null` |
---|
295 | /usr/lib |
---|
296 | `ls -dr /usr/lib/lua* 2>/dev/null` |
---|
297 | `ls -dr /usr/local/lib/lua 2>/dev/null` |
---|
298 | `ls -dr /opt/lua*/lib 2>/dev/null` |
---|
299 | `ls -dr /opt/local/lib 2>/dev/null` |
---|
300 | `ls -dr /Developer/lua*/lib 2>/dev/null` |
---|
301 | " |
---|
302 | for _lua_lib_directory in ${LUA_COMMON_LIB_DIRECTORIES} |
---|
303 | do |
---|
304 | if test -e ${_lua_lib_directory}/liblua.a || test -e ${_lua_lib_directory}/liblua.dylib ; then |
---|
305 | LUA_LIB_DIRECTORY=${_lua_lib_directory} |
---|
306 | LDFLAGS="${LDFLAGS} -L${LUA_LIB_DIRECTORY} -llua -llualib -ldl" |
---|
307 | break |
---|
308 | fi |
---|
309 | done |
---|
310 | else |
---|
311 | AC_CHECK_LIB([dl], [dlopen]) |
---|
312 | AX_CHECK_REQUIRED_HEADER_LIB([lua.h], [lua lua50], [lua_open], |
---|
313 | dnl libLUA found |
---|
314 | [LUA_LIBS="${LUA_LIBS} -l${LAST_FOUND_LIB}" AX_CHECK_REQUIRED_HEADER_LIB([lualib.h], [lualib lualib50], [luaopen_base], |
---|
315 | dnl liblualib found |
---|
316 | [LUA_LIBS="${LUA_LIBS} -l${LAST_FOUND_LIB}"],, |
---|
317 | [http://www.lua.org],, [${LUA_LIBS} -ldl -lm])], |
---|
318 | dnl liblua not found (download it) |
---|
319 | [AX_GET_INSTALL_NECESSARY_LIB([http://www.lua.org/ftp], [lua-5.0.tar.gz], [lua-5.0], [extern_libs/], [include/*.h lib/*.a]) |
---|
320 | LUA_LIBS="-llualib -llua" LUA_INCLUDES="-I$(top_build_dir)/extern_libs" ], [http://www.lua.org]) |
---|
321 | fi |
---|
322 | AC_SUBST([LUA_LIBS]) |
---|
323 | AC_SUBST([LUA_INCLUDES]) |
---|
324 | ]) |
---|
325 | |
---|
326 | |
---|
327 | |
---|
328 | |
---|
329 | |
---|
330 | dnl AX_GET_INSTALL_NECESSARY_LIB([FTP-DIR], [DIST-FILE], [DIST-DIR], [INSTALL-DIR], [INSTALL-FILES], [CONFIG-FLAGS], [MAKE-OPTS]) |
---|
331 | AC_DEFUN([AX_GET_INSTALL_NECESSARY_LIB], [ |
---|
332 | |
---|
333 | _get_install_FTP=$1 |
---|
334 | _get_install_DISTFILE=$2 |
---|
335 | _get_install_DISTDIR=$3 |
---|
336 | _get_install_INSTALLDIR=$4 |
---|
337 | dnl $5 is left out (inegrated bellow) |
---|
338 | _get_install_CONFIGFLAGS=$6 |
---|
339 | _get_install_MAKEOPTS=$7 |
---|
340 | |
---|
341 | dnl DOWNLOADING THE FILE |
---|
342 | if test -f "${_get_install_DISTFILE}" ; then |
---|
343 | echo "${_get_install_DISTFILE} already downloaded" |
---|
344 | else |
---|
345 | echo "Getting ${_get_install_DISTFILE} from ${_get_install_FTP}/${_get_install_DISTFILE}" |
---|
346 | echo `wget ${_get_install_FTP}/${_get_install_DISTFILE}` |
---|
347 | fi |
---|
348 | |
---|
349 | dnl UNCOMPRESS STAGE |
---|
350 | echo "Uncompressing ${_get_install_DISTFILE}" |
---|
351 | echo `tar xzvf ${_get_install_DISTFILE}` |
---|
352 | |
---|
353 | dnl ENTER DIRECTORY AND EXECUTE CONFIGURE AND MAKE |
---|
354 | _get_install_PWD=`pwd` |
---|
355 | cd ${_get_install_DISTDIR} |
---|
356 | dnl configure |
---|
357 | if test -x "configure" ; then |
---|
358 | ./configure ${_get_install_CONFIGFLAGS} |
---|
359 | fi |
---|
360 | make ${_get_install_MAKEOPTS} |
---|
361 | cd ${_get_install_PWD} |
---|
362 | |
---|
363 | dnl INSTALL STAGE |
---|
364 | echo "Installing Libraries and Headers into ${_get_install_INSTALLDIR} local directory" |
---|
365 | |
---|
366 | mkdir -p ${_get_install_INSTALLDIR} |
---|
367 | for _get_install_installfile in $5 |
---|
368 | do |
---|
369 | echo "copy ${_get_install_DISTDIR}/${_get_install_installfile} to ${_get_install_INSTALLDIR}/" |
---|
370 | cp `ls -dr ${_get_install_DISTDIR}/${_get_install_installfile}` "${_get_install_INSTALLDIR}/" |
---|
371 | done |
---|
372 | |
---|
373 | #cleaning up |
---|
374 | # echo "rm -rf ${_get_install_DISTDIR}" |
---|
375 | # rm -rf ${_get_install_DISTDIR} |
---|
376 | # echo "rm ${_get_install_DISTFILE}" |
---|
377 | # rm ${_get_install_DISTFILE} |
---|
378 | ]) |
---|