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