2 dnl Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010,
3 dnl 2011 Free Software Foundation, Inc.
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.
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], [
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)`"
38 AC_MSG_ERROR([${with_qt4_incl}/QtCore directory doesn't contain QT 4.x headers])
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!])
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`"
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`"
72 ac_cv_path_qt4_incl="`$PKG_CONFIG --cflags-only-I QtCore QtGui`"
74 gnash_qt4_topdir=`echo "${ac_cv_path_qt4_incl}"`
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
85 if test x"$i" != x"/usr/include"; then
86 ac_cv_path_qt4_incl="-I$i"
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"
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
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"
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"
117 if test x"${ac_cv_path_qt4_incl}" = x; then
121 QT4_CFLAGS="${ac_cv_path_qt4_incl}"
122 AC_MSG_RESULT(${gnash_qt4_topdir})
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"
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"
140 AC_MSG_ERROR([${with_qt4_lib} directory doesn't contain QT 4.x libraries.])
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`"
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
156 if test x"$i" != x"/usr/lib"; then
157 ac_cv_path_qt4_lib="-L$i"
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"
171 if test x"${ac_cv_path_qt4_lib}" != x; then
172 AC_MSG_RESULT(${ac_cv_path_qt4_lib})
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}"
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])
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"
204 dnl QT_CFLAGS="${QT_CFLAGS} -D_REENTRANT -DQT_SHARED -I${gnash_qt4_topdir}/QtCore"
205 dnl QT_LIBS="$QT_LIBS -lQtCore"
207 dnl if test "$enable_qt_debug" = "no"; then
208 dnl KDE_CFLAGS="$CPPFLAGS -DQT_NO_DEBUG"
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])
218 dnl AC_COMPILE_IFELSE([
219 dnl #include <qglobal.h>
223 dnl ], [platform=X11], [])
224 dnl if test "$platform" = "unknown"; then
225 dnl AC_COMPILE_IFELSE([
226 dnl #include <qglobal.h>
228 dnl #error Not Qtopia
230 dnl ], [platform=Qtopia], [])
232 dnl if test "$platform" = "unknown"; then
233 dnl AC_COMPILE_IFELSE([
234 dnl #include <qglobal.h>
235 dnl #ifndef Q_WS_MACX
238 dnl ], [platform=OSX], [])
240 dnl if test "$platform" = "unknown"; then
241 dnl AC_COMPILE_IFELSE([
242 dnl #include <qglobal.h>
243 dnl #ifndef Q_WS_MAC9
246 dnl ], [platform=OS9], [])
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
254 dnl ], [platform=Win32], [])
256 dnl AC_MSG_RESULT([$platform])