add private function to return string version of IPV4 or IPV6 IP number. Ignore SOCK_...
[gnash.git] / macros / qt4.m4
blobc67c7277652c99f2b6d833042f81b1d55f25c991
1 dnl  
2 dnl Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010,
3 dnl 2011 Free Software Foundation, Inc.
4 dnl  
5 dnl  This program is free software; you can redistribute it and/or modify
6 dnl  it under the terms of the GNU General Public License as published by
7 dnl  the Free Software Foundation; either version 3 of the License, or
8 dnl  (at your option) any later version.
9 dnl  
10 dnl  This program is distributed in the hope that it will be useful,
11 dnl  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 dnl  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 dnl  GNU General Public License for more details.
14 dnl  You should have received a copy of the GNU General Public License
15 dnl  along with this program; if not, write to the Free Software
16 dnl  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18 AC_DEFUN([GNASH_PATH_QT4], [
19   gnash_qt4_topdir=
21   dnl Look for the header
22   AC_ARG_WITH(qt4_incl, AC_HELP_STRING([--with-qt4-incl],
23              [directory where QT 4.x headers are]),
24              with_qt4_incl=${withval})
26   AC_CACHE_VAL(ac_cv_path_qt4_incl,[
27     if test x"${with_qt4_incl}" != x; then
28       if test -f ${with_qt4_incl}/QtCore/qobject.h; then
29         qt4_include_subdirs="QtCore QtGui QtOpenGL"
31         ac_cv_path_qt4_incl="${ac_cv_path_qt4_incl} -I`(cd ${with_qt4_incl}; pwd)`"
32         for i in ${qt4_include_subdirs}; do
33           if test -d "${with_qt4_incl}/$i"; then
34             ac_cv_path_qt4_incl="${ac_cv_path_qt4_incl} -I`(cd ${with_qt4_incl}\$i; pwd)`"
35           fi
36         done
37       else
38         AC_MSG_ERROR([${with_qt4_incl}/QtCore directory doesn't contain QT 4.x headers])
39       fi
40     fi
41   ])                            dnl end of cache ac_cv_path_qt4_incl
43   dnl Only run these tests if this version was specified by the user.
45     if test x"${ac_cv_path_qt4_incl}" = x; then
46       dnl if QTDIR is set in the users environment, use that, as that's what
47       dnl most QT programmers do, as it's required by the QT build system.
48       if test x$QTDIR != x; then
49         if test -f $QTDIR/include/QtCore/qobject.h; then
50           qt_base=`basename $QTDIR`
51           dnl Only support version 4 in this file.
52           if test x"${qt_base}" != x"qt4"; then
53             AC_MSG_ERROR([Mismatched QT versions! Reset QTDIR in your environment!])
54           fi
55         fi
56       fi
57     fi
59 dnl FIXME: do we even need the version anymore ?
60 dnl     if test x"${cross_compiling} = xno; then
61 dnl       if test x"${PKG_CONFIG}" != x; x1then
62 dnl         gnash_qt_version="`${PKG_CONFIG} --modversion QtCore | cut -d '.' -f 1`"
63 dnl       fi
64 dnl     fi
66      AC_MSG_CHECKING([for QT 4.x headers])
67     if test x$cross_compiling = xno; then
68       if test x"${PKG_CONFIG}" != x -a x"${ac_cv_path_qt4_incl}" = x; then
69         if ${PKG_CONFIG} --exists QtOpenGL; then
70           ac_cv_path_qt4_incl="`$PKG_CONFIG --cflags-only-I QtCore QtGui QtOpenGL`"
71         else
72           ac_cv_path_qt4_incl="`$PKG_CONFIG --cflags-only-I QtCore QtGui`"
73         fi
74         gnash_qt4_topdir=`echo "${ac_cv_path_qt4_incl}"`
75       fi
76     fi
78     dnl QT 4.x stores it's headers in ../lib/qt4/include for example, so
79     dnl use libslist instead of incllist
80     if test x"${ac_cv_path_qt4_incl}" = x; then
81       for i in ${incllist} ${libslist}; do
82         dnl Some distributions put the QT headers directly in the directory
83         if test -f $i/Qt/qobject.h; then
84           gnash_qt4_topdir="$i"
85           if test x"$i" != x"/usr/include"; then
86             ac_cv_path_qt4_incl="-I$i"
87           fi
88           break
89         fi
90         dnl Some distributions put the QT headers in a sub directory
91         if test -f $i/qt4/Qt/qobject.h; then
92           gnash_qt4_topdir="$i/qt4"
93           ac_cv_path_qt4_incl="-I$i/qt4"
94           break
95         fi
96       done
97     fi
99     dnl this is a list of al the libraries supported by QT 4.x, but we don't need all of
100     dnl then, but we might as well get all the paths, as header files ofteninclude other
101     dnl header files.
102     all_qt4_libs="QtCore QtGui QtOpenGL QtXml QtDBus QtNetwork QtScript QtSql QtTest QtSvg QtWebKit"
103     if test x"${ac_cv_path_qt4_incl}" = x; then
104       for i in ${all_qt4_libs}; do
105         dnl Darwin is easy, everything is in the same location on all machines.
106         if test x"${darwin}" = xyes; then
107           if test -d /Library/Frameworks; then
108             ac_cv_path_qt4_incl="${ac_cv_path_qt4_incl} /Library/Frameworks/$i.framework/Headers"
109           fi
110         else
111           if test -d ${gnash_qt4_topdir}/$i; then
112             ac_cv_path_qt4_incl="${ac_cv_path_qt4_incl} -I${gnash_qt4_topdir}/$i"
113           fi
114         fi
115       done
116     fi
117     if test x"${ac_cv_path_qt4_incl}" = x; then
118       QT4_CFLAGS=""
119       AC_MSG_RESULT(no)
120     else
121       QT4_CFLAGS="${ac_cv_path_qt4_incl}"
122       AC_MSG_RESULT(${gnash_qt4_topdir})
123     fi
125 dnl   if test "$gnash_cv_lib_qt_dir" = "no"; then
126 dnl     dnl We might be on OSX...
127 dnl     if test -d /Library/Frameworks/QtCore.framework; then
128 dnl       gnash_cv_lib_qt_dir=/Library/Frameworks
129 dnl       KDE_LIBS="-L/Library/Frameworks -F/Library/Frameworks"
130 dnl     fi
131 dnl   fi
133   dnl Look for the libraries
134     AC_ARG_WITH(qt4_lib, AC_HELP_STRING([--with-qt4-lib], [directory where QT 4.x libraries are]), with_qt4_lib=${withval})
135     AC_CACHE_VAL(ac_cv_path_qt4_lib, [
136       if test x"${with_qt4_lib}" != x ; then
137         if test `ls -C1 ${with_qt4_lib}/libQtCore.${shlibext}* | wc -l` -gt 0 ; then
138          ac_cv_path_qt4_lib="-L`(cd ${with_qt4_lib}; pwd)` ${qt4support} -lQtCore -lQtGui"
139         else
140           AC_MSG_ERROR([${with_qt4_lib} directory doesn't contain QT 4.x libraries.])
141         fi
142       fi
143     ])
145     if test x$cross_compiling = xno; then
146       if test x"$PKG_CONFIG" != x -a x"${ac_cv_path_qt4_lib}" = x; then
147         $PKG_CONFIG --exists QtCore QtGui && ac_cv_path_qt4_lib="`$PKG_CONFIG --libs QtCore QtGui`"
148       fi
149     fi
151     AC_MSG_CHECKING([for QT 4.x libraries])
152     if test x"${ac_cv_path_qt4_lib}" = x; then
153       for i in $libslist; do
154         if test -f $i/libQtCore.${shlibext}; then
155           gnash_qt4_topdir=$i
156           if test x"$i" != x"/usr/lib"; then
157             ac_cv_path_qt4_lib="-L$i"
158           fi
159           break
160         fi
161       done
162       dnl redefine the list of libraries, as we don't need all of them, so why bother.
163       all_qt4_libs="QtCore QtGui"
164       for i in ${all_qt4_libs}; do
165         if test -f ${gnash_qt4_topdir}/lib$i.${shlibext}; then
166             ac_cv_path_qt4_lib="${ac_cv_path_qt4_lib} -l$i"
167         fi
168       done
169     fi
171     if test x"${ac_cv_path_qt4_lib}" != x; then
172       AC_MSG_RESULT(${ac_cv_path_qt4_lib})
173     else
174       AC_MSG_RESULT(no)
175     fi
177     dnl Both the headers and the library must be installed
178     if test x"${ac_cv_path_qt4_incl}" != x -a x"${ac_cv_path_qt4_lib}" != x; then
179       AC_DEFINE(HAVE_QT4, 1, [Have QT 4.x installed])
180       QT4_LIBS="${ac_cv_path_qt4_lib}"
181       has_qt4="yes"
182     else
183       has_qt4="no"
184       QT4_LIBS=""
185     fi
187     AC_PATH_PROGS(MOC4, [moc-qt4 moc moc4], ,[/usr/bin ${QTDIR}/bin /usr/lib/qt4/bin /usr/share/qt4/bin/ ${pathlist}])
188     AC_PATH_PROGS(UIC4, [uic-qt4 uic uic4], ,[/usr/bin ${QTDIR}/bin /usr/lib/qt4/bin /usr/share/qt4/bin/ ${pathlist}])
191     AC_SUBST([QT4_CFLAGS])
192     AC_SUBST([QT4_LIBS])
193     AC_SUBST([MOC4])
194     AC_SUBST([UIC4])
195 ])                              dnl end of defun GNASH_PATH_QT4
197 dnl dnl Find the QT 4.x libQtCore library
198 dnl AC_DEFUN([GNASH_QT4_CORE], [
199 dnl   AC_REQUIRE([GNASH_PATH_QT4])
200 dnl   if test x"$gnash_qt4_topdir" = x"/Library/Frameworks"; then
201 dnl     QT_CFLAGS="${QT_CFLAGS} -D_REENTRANT -DQT_SHARED ${gnash_qt4_topdir}/QtCore.framework/Headers"
202 dnl     QTCORE="-framework QtCore"
203 dnl   else
204 dnl     QT_CFLAGS="${QT_CFLAGS} -D_REENTRANT -DQT_SHARED -I${gnash_qt4_topdir}/QtCore"
205 dnl     QT_LIBS="$QT_LIBS -lQtCore"
206 dnl   fi
207 dnl   if test "$enable_qt_debug" = "no"; then
208 dnl     KDE_CFLAGS="$CPPFLAGS -DQT_NO_DEBUG"
209 dnl   fi
210 dnl   AC_SUBST(QTCORE)
211 dnl ])
213 dnl FIXME: I don't think we need this.
214 dnl AC_DEFUN([GNASH_QT_PLATFORM], [
215 dnl     AC_REQUIRE([GNASH_QT4_CORE])
216 dnl     AC_MSG_CHECKING([Qt platform])
217 dnl     platform=unknown
218 dnl     AC_COMPILE_IFELSE([
219 dnl             #include <qglobal.h>
220 dnl             #ifndef Q_WS_X11
221 dnl             #error Not X11
222 dnl             #endif
223 dnl     ], [platform=X11], [])
224 dnl     if test "$platform" = "unknown"; then
225 dnl             AC_COMPILE_IFELSE([
226 dnl                     #include <qglobal.h>
227 dnl                     #ifndef Q_WS_QWS
228 dnl                     #error Not Qtopia
229 dnl                     #endif
230 dnl             ], [platform=Qtopia], [])
231 dnl     fi
232 dnl     if test "$platform" = "unknown"; then
233 dnl             AC_COMPILE_IFELSE([
234 dnl                     #include <qglobal.h>
235 dnl                     #ifndef Q_WS_MACX
236 dnl                     #error Not OSX
237 dnl                     #endif
238 dnl             ], [platform=OSX], [])
239 dnl     fi
240 dnl     if test "$platform" = "unknown"; then
241 dnl             AC_COMPILE_IFELSE([
242 dnl                     #include <qglobal.h>
243 dnl                     #ifndef Q_WS_MAC9
244 dnl                     #error Not OS9
245 dnl                     #endif
246 dnl             ], [platform=OS9], [])
247 dnl     fi
248 dnl     if test "$platform" = "unknown"; then
249 dnl             AC_COMPILE_IFELSE([
250 dnl                     #include <qglobal.h>
251 dnl                     #ifndef Q_WS_WIN32
252 dnl                     #error No dirty Nazi junk
253 dnl                     #endif
254 dnl             ], [platform=Win32], [])
255 dnl     fi
256 dnl     AC_MSG_RESULT([$platform])
257 dnl ])