2 dnl Copyright (C) 2005, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
4 dnl This program is free software; you can redistribute it and/or modify
5 dnl it under the terms of the GNU General Public License as published by
6 dnl the Free Software Foundation; either version 3 of the License, or
7 dnl (at your option) any later version.
9 dnl This program is distributed in the hope that it will be useful,
10 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
11 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 dnl GNU General Public License for more details.
13 dnl You should have received a copy of the GNU General Public License
14 dnl along with this program; if not, write to the Free Software
15 dnl Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17 AC_DEFUN([GNASH_PATH_QT4], [
20 dnl Look for the header
21 AC_ARG_WITH(qt4_incl, AC_HELP_STRING([--with-qt4-incl],
22 [directory where QT 4.x headers are]),
23 with_qt4_incl=${withval})
25 AC_CACHE_VAL(ac_cv_path_qt4_incl,[
26 if test x"${with_qt4_incl}" != x; then
27 if test -f ${with_qt4_incl}/QtCore/qobject.h; then
28 qt4_include_subdirs="QtCore QtGui QtOpenGL"
30 ac_cv_path_qt4_incl="${ac_cv_path_qt4_incl} -I`(cd ${with_qt4_incl}; pwd)`"
31 for i in ${qt4_include_subdirs}; do
32 if test -d "${with_qt4_incl}/$i"; then
33 ac_cv_path_qt4_incl="${ac_cv_path_qt4_incl} -I`(cd ${with_qt4_incl}\$i; pwd)`"
37 AC_MSG_ERROR([${with_qt4_incl}/QtCore directory doesn't contain QT 4.x headers])
40 ]) dnl end of cache ac_cv_path_qt4_incl
42 dnl Only run these tests if this version was specified by the user.
44 if test x"${ac_cv_path_qt4_incl}" = x; then
45 dnl if QTDIR is set in the users environment, use that, as that's what
46 dnl most QT programmers do, as it's required by the QT build system.
47 if test x$QTDIR != x; then
48 if test -f $QTDIR/include/QtCore/qobject.h; then
49 qt_base=`basename $QTDIR`
50 dnl Only support version 4 in this file.
51 if test x"${qt_base}" != x"qt4"; then
52 AC_MSG_ERROR([Mismatched QT versions! Reset QTDIR in your environment!])
58 dnl FIXME: do we even need the version anymore ?
59 dnl if test x"${cross_compiling} = xno; then
60 dnl if test x"${PKG_CONFIG}" != x; x1then
61 dnl gnash_qt_version="`${PKG_CONFIG} --modversion QtCore | cut -d '.' -f 1`"
65 AC_MSG_CHECKING([for QT 4.x headers])
66 if test x$cross_compiling = xno; then
67 if test x"${PKG_CONFIG}" != x -a x"${ac_cv_path_qt4_incl}" = x; then
68 ${PKG_CONFIG} --exists QtOpenGL QtCore QtGui && ac_cv_path_qt4_incl="`$PKG_CONFIG --cflags-only-I QtOpenGL QtCore QtGui`"
69 gnash_qt4_topdir=`echo "${ac_cv_path_qt4_incl}"`
73 dnl QT 4.x stores it's headers in ../lib/qt4/include for example, so
74 dnl use libslist instead of incllist
75 if test x"${ac_cv_path_qt4_incl}" = x; then
76 for i in ${incllist} ${libslist}; do
77 dnl Some distributions put the QT headers directly in the directory
78 if test -f $i/Qt/qobject.h; then
80 if test x"$i" != x"/usr/include"; then
81 ac_cv_path_qt4_incl="-I$i"
85 dnl Some distributions put the QT headers in a sub directory
86 if test -f $i/qt4/Qt/qobject.h; then
87 gnash_qt4_topdir="$i/qt4"
88 ac_cv_path_qt4_incl="-I$i/qt4"
94 dnl this is a list of al the libraries supported by QT 4.x, but we don't need all of
95 dnl then, but we might as well get all the paths, as header files ofteninclude other
97 all_qt4_libs="QtCore QtGui QtOpenGL QtXml QtDBus QtNetwork QtScript QtSql QtTest QtSvg QtWebKit"
98 if test x"${ac_cv_path_qt4_incl}" = x; then
99 for i in ${all_qt4_libs}; do
100 dnl Darwin is easy, everything is in the same location on all machines.
101 if test x"${darwin}" = xyes; then
102 if test -d /Library/Frameworks; then
103 ac_cv_path_qt4_incl="${ac_cv_path_qt4_incl} /Library/Frameworks/$i.framework/Headers"
106 if test -d ${gnash_qt4_topdir}/$i; then
107 ac_cv_path_qt4_incl="${ac_cv_path_qt4_incl} -I${gnash_qt4_topdir}/$i"
112 if test x"${ac_cv_path_qt4_incl}" = x; then
116 QT4_CFLAGS="${ac_cv_path_qt4_incl}"
117 AC_MSG_RESULT(${gnash_qt4_topdir})
120 dnl if test "$gnash_cv_lib_qt_dir" = "no"; then
121 dnl dnl We might be on OSX...
122 dnl if test -d /Library/Frameworks/QtCore.framework; then
123 dnl gnash_cv_lib_qt_dir=/Library/Frameworks
124 dnl KDE_LIBS="-L/Library/Frameworks -F/Library/Frameworks"
128 dnl Look for the libraries
129 AC_ARG_WITH(qt4_lib, AC_HELP_STRING([--with-qt4-lib], [directory where QT 4.x libraries are]), with_qt4_lib=${withval})
130 AC_CACHE_VAL(ac_cv_path_qt4_lib, [
131 if test x"${with_qt4_lib}" != x ; then
132 if test `ls -C1 ${with_qt4_lib}/libQtCore.${shlibext}* | wc -l` -gt 0 ; then
133 ac_cv_path_qt4_lib="-L`(cd ${with_qt4_lib}; pwd)` ${qt4support} -lQtCore -lQtGui"
135 AC_MSG_ERROR([${with_qt4_lib} directory doesn't contain QT 4.x libraries.])
140 if test x$cross_compiling = xno; then
141 if test x"$PKG_CONFIG" != x -a x"${ac_cv_path_qt4_lib}" = x; then
142 $PKG_CONFIG --exists QtCore QtGui && ac_cv_path_qt4_lib="`$PKG_CONFIG --libs QtCore QtGui`"
146 AC_MSG_CHECKING([for QT 4.x libraries])
147 if test x"${ac_cv_path_qt4_lib}" = x; then
148 for i in $libslist; do
149 if test -f $i/libQtCore.${shlibext}; then
151 if test x"$i" != x"/usr/lib"; then
152 ac_cv_path_qt4_lib="-L$i"
157 dnl redefine the list of libraries, as we don't need all of them, so why bother.
158 all_qt4_libs="QtCore QtGui"
159 for i in ${all_qt4_libs}; do
160 if test -f ${gnash_qt4_topdir}/lib$i.${shlibext}; then
161 ac_cv_path_qt4_lib="${ac_cv_path_qt4_lib} -l$i"
166 if test x"${ac_cv_path_qt4_lib}" != x; then
167 AC_MSG_RESULT(${ac_cv_path_qt4_lib})
168 QT4_LIBS="${ac_cv_path_qt4_lib}"
169 AC_DEFINE(HAVE_QT4, 1, [Have QT 4.x installed])
177 AC_PATH_PROGS(MOC4, [moc-qt4 moc moc4], ,[/usr/bin ${QTDIR}/bin /usr/lib/qt4/bin /usr/share/qt4/bin/ ${pathlist}])
178 AC_PATH_PROGS(UIC4, [uic-qt4 uic uic4], ,[/usr/bin ${QTDIR}/bin /usr/lib/qt4/bin /usr/share/qt4/bin/ ${pathlist}])
181 AC_SUBST([QT4_CFLAGS])
185 ]) dnl end of defun GNASH_PATH_QT4
187 dnl dnl Find the QT 4.x libQtCore library
188 dnl AC_DEFUN([GNASH_QT4_CORE], [
189 dnl AC_REQUIRE([GNASH_PATH_QT4])
190 dnl if test x"$gnash_qt4_topdir" = x"/Library/Frameworks"; then
191 dnl QT_CFLAGS="${QT_CFLAGS} -D_REENTRANT -DQT_SHARED ${gnash_qt4_topdir}/QtCore.framework/Headers"
192 dnl QTCORE="-framework QtCore"
194 dnl QT_CFLAGS="${QT_CFLAGS} -D_REENTRANT -DQT_SHARED -I${gnash_qt4_topdir}/QtCore"
195 dnl QT_LIBS="$QT_LIBS -lQtCore"
197 dnl if test "$enable_qt_debug" = "no"; then
198 dnl KDE_CFLAGS="$CPPFLAGS -DQT_NO_DEBUG"
203 dnl FIXME: I don't think we need this.
204 dnl AC_DEFUN([GNASH_QT_PLATFORM], [
205 dnl AC_REQUIRE([GNASH_QT4_CORE])
206 dnl AC_MSG_CHECKING([Qt platform])
208 dnl AC_COMPILE_IFELSE([
209 dnl #include <qglobal.h>
213 dnl ], [platform=X11], [])
214 dnl if test "$platform" = "unknown"; then
215 dnl AC_COMPILE_IFELSE([
216 dnl #include <qglobal.h>
218 dnl #error Not Qtopia
220 dnl ], [platform=Qtopia], [])
222 dnl if test "$platform" = "unknown"; then
223 dnl AC_COMPILE_IFELSE([
224 dnl #include <qglobal.h>
225 dnl #ifndef Q_WS_MACX
228 dnl ], [platform=OSX], [])
230 dnl if test "$platform" = "unknown"; then
231 dnl AC_COMPILE_IFELSE([
232 dnl #include <qglobal.h>
233 dnl #ifndef Q_WS_MAC9
236 dnl ], [platform=OS9], [])
238 dnl if test "$platform" = "unknown"; then
239 dnl AC_COMPILE_IFELSE([
240 dnl #include <qglobal.h>
241 dnl #ifndef Q_WS_WIN32
242 dnl #error No dirty Nazi junk
244 dnl ], [platform=Win32], [])
246 dnl AC_MSG_RESULT([$platform])