1
## ------------------------------------------------------------------------
2
## Find the Qt library and includes
3
## sets SS_QT_INCLUDE_DIR, SS_QT_LIBRARY_DIR, SS_QT_MOC
4
## ------------------------------------------------------------------------
1
dnl ------------------------------------------------------------------------
2
dnl Find the Qt library and includes.
3
dnl Sets SS_QT_INCLUDE_DIR, SS_QT_LIBRARY_DIR, SS_QT_MOC
4
dnl ------------------------------------------------------------------------
6
AC_DEFUN(AC_SS_FIND_QT,
6
AC_DEFUN([AC_SS_FIND_QT],
10
AC_SS_FIND_QT_GENERAL_DIR
10
dnl AC_SS_FIND_QT_GENERAL_DIR
11
11
AC_SS_FIND_QT_INCLUDE_DIR
12
12
AC_SS_FIND_QT_LIBRARY_DIR
18
AC_DEFUN(AC_SS_CHECK_QT_MT,
18
AC_DEFUN([AC_SS_CHECK_QT_MT],
21
[ --enable-mt link to multithreaded Qt],
22
SS_USE_QT_MT=$enableval,
21
[ --disable-mt link to single-threaded Qt],
22
[SS_USE_QT_MT=$enableval],
26
26
if test "x$SS_USE_QT_MT" = "xyes"; then
32
32
AC_MSG_WARN([configure with --disable-mt if you have problems])
35
CPPFLAGS="$CPPFLAGS -pthread"
36
35
USING_QT_MT=", using -mt"
41
AC_DEFUN(AC_SS_CHECK_QT_NAME,
40
AC_DEFUN([AC_SS_CHECK_QT_NAME],
44
43
AC_MSG_CHECKING([for the Qt library name])
45
AC_ARG_WITH(qt-lib-name,[ --with-qt-lib-name=NAME use NAME instead of 'qt' for the Qt library],SS_QTLIB_NAME="$withval",SS_QTLIB_NAME="qt")
44
AC_ARG_WITH(qt-lib-name,
45
[ --with-qt-lib-name=NAME use NAME instead of 'qt' for the Qt library],
46
[SS_QTLIB_NAME="$withval"],
46
49
if test "x$SS_USE_QT_MT" = "xyes"; then
47
50
SS_QTLIB_NAME="$SS_QTLIB_NAME-mt"
49
AC_MSG_RESULT("$SS_QTLIB_NAME")
52
AC_MSG_RESULT($SS_QTLIB_NAME)
53
AC_DEFUN(AC_SS_FIND_QT_GENERAL_DIR,
56
AC_DEFUN([AC_SS_FIND_QT_GENERAL_DIR],
56
59
AC_MSG_CHECKING([for the Qt base directory])
57
AC_ARG_WITH(qt-dir,[ --with-qt-dir=DIR base directory of the Qt installation],SS_QTDIR="$withval",SS_QTDIR="$QTDIR")
61
[ --with-qt-dir=DIR base directory of the Qt installation],
62
[SS_QTDIR="$withval"],
58
65
ss_qt_general_test_dirs="/usr/local /usr /usr/build /usr/X11R6 /usr/lib /usr/src /usr/local/lib /"
59
66
ss_qt_general_test_dirs="$ss_qt_general_test_dirs /opt/kde /kde /usr/kde /usr/local/kde /usr/opt/kde"
60
67
if test -n "$HOME"; then
82
AC_DEFUN(AC_SS_FIND_QT_INCLUDE_DIR,
89
AC_DEFUN([AC_SS_FIND_QT_INCLUDE_DIR],
84
AC_ARG_WITH(qt-includes,[ --with-qt-includes=DIR directory the Qt headers are in],SS_QT_INCLUDE_DIR="$withval",SS_QT_INCLUDE_DIR="NOTGIVEN")
91
AC_ARG_WITH(qt-includes,
92
[ --with-qt-includes=DIR directory the Qt headers are in],
93
[SS_QT_INCLUDE_DIR="$withval"],
94
[SS_QT_INCLUDE_DIR="NOTGIVEN"]
85
96
if test "$SS_QT_INCLUDE_DIR" = "NOTGIVEN"; then
87
97
AC_MSG_CHECKING(for the Qt header files)
89
ss_qt_include_test_dirs="$SS_QT_GENERAL_DIR/include /include /usr/include /usr/local/include /usr/qt/include /usr/local/qt/include /usr/X11R6/include /usr/lib/qt/include /usr/lib/qt /usr/include/X11"
99
ss_qt_include_test_dirs="$SS_QT_GENERAL_DIR/include /usr/include/qt3 /include /usr/include /usr/local/include /usr/qt/include /usr/local/qt/include /usr/X11R6/include /usr/lib/qt/include /usr/lib/qt /usr/include/X11"
90
100
test -n "$QTDIR" && ss_qt_include_test_dirs="$QTDIR/include $QTDIR $ss_qt_include_test_dirs"
91
101
ss_qt_include_test_dirs="$ss_qt_include_test_dirs /usr/include/qt /usr/local/include/qt /include/qt /usr/X11R6/include/qt /usr/build/qt/include"
92
102
ss_qt_include_test_dirs="$ss_qt_include_test_dirs /usr/include/qt2 /usr/local/include/qt2 /include/qt2 /usr/X11R6/include/qt2 /usr/include/X11/qt2"
95
105
AC_SS_FIND_FILE_PATH(qiconview.h,$ss_qt_include_test_dirs,SS_QT_INCLUDE_DIR)
97
107
if test "$SS_QT_INCLUDE_DIR" = "FAILED"; then
98
AC_MSG_RESULT("FAILED")
108
AC_MSG_RESULT(FAILED)
99
109
echo "################################################################################"
100
110
echo "### CONFIGURE ERROR:"
101
echo "### Cannot find Qt >= 2.2.3 header files."
112
echo "### Cannot find Qt >= 3.0.0 header files."
102
113
echo "### Make sure that Qt is correctly installed on your system,"
103
114
echo "### and that the Qt version is the one requested by this version of KVIrc."
104
115
echo "### Try to run configure again, this time passing the --with-qt-includes=DIR"
110
121
echo "### and want to report this, please include your configure script,"
111
122
echo "### the config.log file, as well as the complete configure output."
112
123
echo "################################################################################"
113
AC_MSG_ERROR(["This was a fatal one...aborting"])
124
AC_MSG_ERROR(["This was a fatal one... aborting"])
115
126
AC_MSG_RESULT(found in $SS_QT_INCLUDE_DIR)
116
127
dnl AC_SUBST(SS_QT_INCLUDE_DIR)
121
132
dnl AC_SUBST(SS_QT_INCLUDE_DIR)
123
134
if test "x$SS_USE_QT_MT" = "xyes"; then
124
SS_QT_INCLUDE_DIR="$SS_QT_INCLUDE_DIR -DQT_THREAD_SUPPORT"
135
SS_QT_INCLUDE_DIR="$SS_QT_INCLUDE_DIR"
136
SS_FLAGS_INCDIRS="$SS_FLAGS_INCDIRS -DQT_THREAD_SUPPORT"
129
AC_DEFUN(AC_SS_FIND_QT_LIBRARY_DIR,
141
AC_DEFUN([AC_SS_FIND_QT_LIBRARY_DIR],
131
AC_ARG_WITH(qt-libraries,[ --with-qt-libraries=DIR directory the Qt library is in],SS_QT_LIBRARY_DIR="$withval",SS_QT_LIBRARY_DIR="NOTGIVEN")
143
AC_ARG_WITH(qt-libraries,
144
[ --with-qt-libraries=DIR directory the Qt library is in],
145
[SS_QT_LIBRARY_DIR="$withval"],
146
[SS_QT_LIBRARY_DIR="NOTGIVEN"]
132
148
if test "$SS_QT_LIBRARY_DIR" = "NOTGIVEN"; then
133
149
AC_MSG_CHECKING(for the Qt library)
142
158
AC_SS_FIND_FILE_PATH(libqt.so.2.3 libqt.so.2.2 libqt.so.2 libqt.a libqt-mt.so libqt.so libqt.so.3 libqt.so.3.0 libqt.so.3.1 lib$SS_QTLIB_NAME.so lib$SS_QTLIB_NAME.a,$ss_qt_library_test_dirs,SS_QT_LIBRARY_DIR)
144
160
if test "$SS_QT_LIBRARY_DIR" = "FAILED"; then
145
AC_MSG_RESULT("FAILED")
161
AC_MSG_RESULT(FAILED)
146
162
echo "################################################################################"
147
163
echo "### CONFIGURE ERROR:"
148
echo "### Cannot find a Qt >= 2.2.3 library file."
165
echo "### Cannot find a Qt >= 3.0.0 library file."
149
166
echo "### Make sure that Qt is correctly installed on your system,"
150
167
echo "### and that the Qt version is the one requested by this version of KVIrc."
151
168
echo "### Try to run configure again, this time passing the --with-qt-libraries=DIR"
157
174
echo "### and want to report this, please include your configure script,"
158
175
echo "### and config.log file, as well as the complete configure output."
159
176
echo "################################################################################"
160
AC_MSG_ERROR(["This was a fatal one...aborting"])
177
AC_MSG_ERROR(["This was a fatal one... aborting"])
162
179
AC_MSG_RESULT(found in $SS_QT_LIBRARY_DIR$USING_QT_MT)
163
180
dnl AC_SUBST(SS_QT_LIBRARY_DIR)
172
## ------------------------------------------------------------------------
173
## Find the Qt meta object preprocessor
174
## sets SS_MOC to the path/filename of moc
175
## ------------------------------------------------------------------------
189
dnl ------------------------------------------------------------------------
190
dnl Find the Qt meta object preprocessor.
191
dnl Sets SS_MOC to the path/filename of moc
192
dnl ------------------------------------------------------------------------
177
AC_DEFUN(AC_SS_FIND_QT_MOC,
179
AC_ARG_WITH(qt-moc,[ --with-qt-moc=PATH filename of the Qt meta object compiler],SS_QT_MOC="$withval",SS_QT_MOC="NOTGIVEN")
180
if test "$SS_QT_MOC" = "NOTGIVEN"; then
194
AC_DEFUN([AC_SS_FIND_QT_MOC],
197
[ --with-qt-moc=PATH filename of the Qt meta object compiler],
198
[SS_QT_MOC="$withval"],
199
[SS_QT_MOC="NOTGIVEN"]
201
if test "$SS_QT_MOC" = "NOTGIVEN"; then
182
203
if test -n "$SS_QT_GENERAL_DIR"; then
183
AC_PATH_PROG(SS_QT_MOC,moc,"FAILED",$SS_QT_GENERAL_DIR/bin:$QTDIR/bin:$PATH:/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin:/usr/lib/qt/bin:/usr/local/qt/bin:/usr/X11R6/qt/bin:/usr/qt/bin:/usr/build/qt/bin)
204
AC_PATH_PROG(SS_QT_MOC,moc,"FAILED",$SS_QT_GENERAL_DIR/bin:$QTDIR/bin:$PATH:/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin:/usr/lib/qt/bin:/usr/local/qt/bin:/usr/X11R6/qt/bin:/usr/qt/bin:/usr/build/qt/bin)
185
AC_PATH_PROG(SS_QT_MOC,moc,"FAILED",$QTDIR/bin:$PATH:/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin:/usr/lib/qt/bin:/usr/local/qt/bin:/usr/X11R6/qt/bin:/usr/qt/bin:/usr/build/qt/bin)
206
AC_PATH_PROG(SS_QT_MOC,moc,"FAILED",$QTDIR/bin:$PATH:/usr/bin:/bin:/usr/local/bin:/usr/X11R6/bin:/usr/lib/qt/bin:/usr/local/qt/bin:/usr/X11R6/qt/bin:/usr/qt/bin:/usr/build/qt/bin)
188
209
if test "$SS_QT_MOC" = "FAILED"; then
189
AC_MSG_RESULT(["FAILED"])
210
AC_MSG_RESULT(FAILED)
190
211
echo "################################################################################"
191
212
echo "### CONFIGURE ERROR:"
192
echo "### The Qt meta object compiler can not be found."
214
echo "### The Qt meta object compiler cannot be found."
193
215
echo "### Make sure that qt is correctly installed on your system,"
194
216
echo "### and the qt version is the one requested by this version of kvirc."
195
217
echo "### Try to run configure again, this time passing the --with-qt-moc"
201
223
echo "### and want to report this, please include your configure script,"
202
224
echo "### and config.log file, as well as the complete configure output."
203
225
echo "################################################################################"
204
AC_MSG_ERROR(["This was a fatal one...aborting"])
226
AC_MSG_ERROR(["This was a fatal one... aborting"])
207
229
AC_MSG_RESULT(using user supplied path for moc $SS_QT_MOC)
208
230
dnl AC_SUBST(SS_QT_MOC)
213
## ------------------------------------------------------------------------
214
## Make sure we can compile Qt and X stuff
215
## ------------------------------------------------------------------------
235
dnl ------------------------------------------------------------------------
236
dnl Make sure we can compile Qt and X stuff
237
dnl ------------------------------------------------------------------------
217
AC_DEFUN(AC_SS_ENSURE_CAN_COMPILE_X_AND_QT,
239
AC_DEFUN([AC_SS_ENSURE_CAN_COMPILE_X_AND_QT],
219
AC_ARG_WITH(qt-check,[ --without-qt-check do not check whether Qt compiles],SS_CHECK_QTX_COMPILE="$withval",SS_CHECK_QTX_COMPILE="yes")
220
if test "$SS_CHECK_QTX_COMPILE" = "yes"; then
241
AC_ARG_WITH(qt-check,
242
[ --without-qt-check do not check whether Qt compiles],
243
[SS_CHECK_QTX_COMPILE="$withval"],
244
[SS_CHECK_QTX_COMPILE="yes"]
246
if test "$SS_CHECK_QTX_COMPILE" = "yes"; then
221
247
AC_MSG_CHECKING(if we can compile an X-Qt application)
222
248
AC_LANG_CPLUSPLUS
223
249
ss_save_CPPFLAGS="$CPPFLAGS"
225
251
ss_save_LDFLAGS="$LDFLAGS"
226
252
ss_save_LIBS="$LIBS"
227
253
CPPFLAGS="-I$SS_QT_INCLUDE_DIR $CPPFLAGS $X_CFLAGS"
228
if test -n "$SS_X_INCLUDE_DIR"; then
229
CPPFLAGS="-I$SS_X_INCLUDE_DIR $CPPFLAGS"
231
254
if test -n "$SS_OTHER_INCDIRS"; then
232
255
CPPFLAGS="-I$SS_OTHER_INCDIRS $CPPFLAGS"
234
CXXFLAGS="-O2 -Wall -g $CXXFLAGS"
235
LIBS="-L$SS_X_LIBRARY_DIR -L$SS_QT_LIBRARY_DIR $X_EXTRA_LIBS $X_LIBS $LIBS -l$SS_QTLIB_NAME -lXext -lX11"
257
CXXFLAGS="-O -Wall -g $CXXFLAGS"
258
LIBS="-L$SS_QT_LIBRARY_DIR $X_EXTRA_LIBS $X_LIBS $LIBS -l$SS_QTLIB_NAME -lXext -lX11"
236
259
if test -n "$SS_OTHER_LIBDIRS"; then
237
260
LIBS="-L$SS_OTHER_LIBDIRS $LIBS"
239
262
LDFLAGS="-s $LDFLAGS"
240
AC_TRY_LINK([#include <qwindowsstyle.h>],
241
[QWindowsStyle s; s.polish((QWidget *)0);],
242
SS_QTX_LINKED_OK="TRUE",SS_QTX_LINKED_OK="FALSE")
266
#if (QT_VERSION < 300)
267
#error "Bad Qt version: need at least 3.0.0"
271
[SS_QTX_LINKED_OK="TRUE"],
272
[SS_QTX_LINKED_OK="FALSE"]
243
274
if test "$SS_QTX_LINKED_OK" = "FALSE"; then
244
AC_MSG_RESULT("FAILED");
275
AC_MSG_RESULT(FAILED);
245
276
echo "################################################################################"
246
277
echo "### CONFIGURE ERROR:"
247
279
echo "### Failed to compile the Qt library test program."
248
280
echo "### This may be a bad sign :)"
249
281
echo "### First of all, make sure that Qt is correctly installed on your system,"
275
307
echo "### and want to report this, please include your configure script,"
276
308
echo "### and config.log file, as well as the complete configure output."
277
309
echo "################################################################################"
278
AC_MSG_ERROR(["This was a fatal one...aborting"])
310
AC_MSG_ERROR(["This was a fatal one... aborting"])
280
AC_MSG_RESULT([success$USING_QT_MT])
312
AC_MSG_RESULT(success$USING_QT_MT)
282
314
AC_MSG_CHECKING([Qt version])
283
AC_TRY_LINK([#include <qmemarray.h>],
284
[QMemArray s; s.sort();],
285
SS_QT_VERSION="3",SS_QT_VERSION="2")
320
if (QT_VERSION < 300)
328
[AC_MSG_RESULT(cross compiling. We hope so)]
286
330
if test "x$SS_QT_VERSION" = "x3"; then
287
AC_MSG_RESULT([using Qt version 3.x])
331
AC_MSG_RESULT(using Qt version 3.x)
289
AC_MSG_RESULT([using Qt version 2.x])
333
AC_MSG_RESULT(using Qt version 2.x)
292
336
AC_MSG_CHECKING([for JPEG support in Qt])
293
AC_TRY_LINK([#include <qjpegio.h>],
295
SS_QT_JPEG="yes",SS_QT_JPEG="no")
337
if test "x$SS_QT_VERSION" = "x3"; then
341
[#include <qjpegio.h>],
296
347
if test "x$SS_QT_JPEG" = "xyes"; then
297
AC_MSG_RESULT([yes, disabling internal JPEG support])
348
AC_MSG_RESULT(yes, disabling internal JPEG support)
299
AC_MSG_RESULT([no, using internal JPEG support instead])
302
CXXFLAGS="$CXXFLAGS -DQT_XFT"
303
AC_MSG_CHECKING([for Xft anti-aliasing support in Qt])
304
AC_TRY_COMPILE([#include <qt_x11.h>],
305
[int x = qt_use_xft();],
309
AC_MSG_RESULT($SS_QT_XFT)
310
# if test "x$SS_QT_XFT" = "xyes"; then
311
# ss_save_CXXFLAGS="$ss_save_CXXFLAGS -DQT_XFT"
350
AC_MSG_RESULT(no, using internal JPEG support instead)
355
AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
356
if test "x$FREETYPE_CONFIG" != "xno" ; then
357
SS_FREETYPE_CFLAGS=`freetype-config --cflags`
358
SS_FREETYPE_LIBS=`freetype-config --libs`
314
361
LIBS="$ss_save_LIBS"
315
362
LDFLAGS="$ss_save_LDFLAGS"