Commit | Line | Data |
---|---|---|
a3da1d95 GE |
1 | ## -*- autoconf -*- |
2 | ||
3 | dnl This file is part of the KDE libraries/packages | |
4 | dnl Copyright (C) 1997 Janos Farkas (chexum@shadow.banki.hu) | |
5 | dnl (C) 1997,98,99 Stephan Kulow (coolo@kde.org) | |
6 | ||
7 | dnl This file is free software; you can redistribute it and/or | |
8 | dnl modify it under the terms of the GNU Library General Public | |
9 | dnl License as published by the Free Software Foundation; either | |
10 | dnl version 2 of the License, or (at your option) any later version. | |
11 | ||
12 | dnl This library is distributed in the hope that it will be useful, | |
13 | dnl but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 | dnl Library General Public License for more details. | |
16 | ||
17 | dnl You should have received a copy of the GNU Library General Public License | |
18 | dnl along with this library; see the file COPYING.LIB. If not, write to | |
19 | dnl the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
20 | dnl Boston, MA 02111-1307, USA. | |
21 | ||
22 | dnl IMPORTANT NOTE: | |
23 | dnl Please do not modify this file unless you expect your modifications to be | |
24 | dnl carried into every other module in the repository. | |
25 | dnl | |
26 | dnl Single-module modifications are best placed in configure.in for kdelibs | |
27 | dnl and kdebase or configure.in.in if present. | |
28 | ||
29 | dnl ------------------------------------------------------------------------ | |
30 | dnl Forward compatibility macros (make autoconf 2.13 look like 2.50), | |
31 | dnl thanks to Raja R Harinath. | |
32 | dnl ------------------------------------------------------------------------ | |
33 | dnl | |
34 | ifdef([_AC_PATH_X_XMKMF],[], | |
35 | [AC_DEFUN([_AC_PATH_X_XMKMF],[AC_PATH_X_XMKMF])]) | |
36 | ifdef([AC_OUTPUT_SUBDIRS],[], | |
37 | [AC_DEFUN([AC_OUTPUT_SUBDIRS],[subdirs=$1; _AC_OUTPUT_SUBDIRS])]) | |
38 | ||
39 | # KDE_PATH_X_DIRECT | |
40 | dnl Internal subroutine of AC_PATH_X. | |
41 | dnl Set ac_x_includes and/or ac_x_libraries. | |
42 | AC_DEFUN(KDE_PATH_X_DIRECT, | |
43 | [ | |
44 | AC_REQUIRE([KDE_CHECK_LIB64]) | |
45 | ||
46 | if test "$ac_x_includes" = NO; then | |
47 | # Guess where to find include files, by looking for this one X11 .h file. | |
48 | test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h | |
49 | ||
50 | # First, try using that file with no special directory specified. | |
51 | AC_TRY_CPP([#include <$x_direct_test_include>], | |
52 | [# We can compile using X headers with no special include directory. | |
53 | ac_x_includes=], | |
54 | [# Look for the header file in a standard set of common directories. | |
55 | # Check X11 before X11Rn because it is often a symlink to the current release. | |
56 | for ac_dir in \ | |
57 | /usr/X11/include \ | |
58 | /usr/X11R6/include \ | |
59 | /usr/X11R5/include \ | |
60 | /usr/X11R4/include \ | |
61 | \ | |
62 | /usr/include/X11 \ | |
63 | /usr/include/X11R6 \ | |
64 | /usr/include/X11R5 \ | |
65 | /usr/include/X11R4 \ | |
66 | \ | |
67 | /usr/local/X11/include \ | |
68 | /usr/local/X11R6/include \ | |
69 | /usr/local/X11R5/include \ | |
70 | /usr/local/X11R4/include \ | |
71 | \ | |
72 | /usr/local/include/X11 \ | |
73 | /usr/local/include/X11R6 \ | |
74 | /usr/local/include/X11R5 \ | |
75 | /usr/local/include/X11R4 \ | |
76 | \ | |
77 | /usr/X386/include \ | |
78 | /usr/x386/include \ | |
79 | /usr/XFree86/include/X11 \ | |
80 | \ | |
81 | /usr/include \ | |
82 | /usr/local/include \ | |
83 | /usr/unsupported/include \ | |
84 | /usr/athena/include \ | |
85 | /usr/local/x11r5/include \ | |
86 | /usr/lpp/Xamples/include \ | |
87 | \ | |
88 | /usr/openwin/include \ | |
89 | /usr/openwin/share/include \ | |
90 | ; \ | |
91 | do | |
92 | if test -r "$ac_dir/$x_direct_test_include"; then | |
93 | ac_x_includes=$ac_dir | |
94 | break | |
95 | fi | |
96 | done]) | |
97 | fi # $ac_x_includes = NO | |
98 | ||
99 | if test "$ac_x_libraries" = NO; then | |
100 | # Check for the libraries. | |
101 | ||
102 | test -z "$x_direct_test_library" && x_direct_test_library=Xt | |
103 | test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc | |
104 | ||
105 | # See if we find them without any special options. | |
106 | # Don't add to $LIBS permanently. | |
107 | ac_save_LIBS="$LIBS" | |
108 | LIBS="-l$x_direct_test_library $LIBS" | |
109 | AC_TRY_LINK(, [${x_direct_test_function}()], | |
110 | [LIBS="$ac_save_LIBS" | |
111 | # We can link X programs with no special library path. | |
112 | ac_x_libraries=], | |
113 | [LIBS="$ac_save_LIBS" | |
114 | # First see if replacing the include by lib works. | |
115 | # Check X11 before X11Rn because it is often a symlink to the current release. | |
116 | for ac_dir in `echo "$ac_x_includes" | sed s/include/lib${kdelibsuff}/` \ | |
117 | /usr/X11/lib${kdelibsuff} \ | |
118 | /usr/X11R6/lib${kdelibsuff} \ | |
119 | /usr/X11R5/lib${kdelibsuff} \ | |
120 | /usr/X11R4/lib${kdelibsuff} \ | |
121 | \ | |
122 | /usr/lib${kdelibsuff}/X11 \ | |
123 | /usr/lib${kdelibsuff}/X11R6 \ | |
124 | /usr/lib${kdelibsuff}/X11R5 \ | |
125 | /usr/lib${kdelibsuff}/X11R4 \ | |
126 | \ | |
127 | /usr/local/X11/lib${kdelibsuff} \ | |
128 | /usr/local/X11R6/lib${kdelibsuff} \ | |
129 | /usr/local/X11R5/lib${kdelibsuff} \ | |
130 | /usr/local/X11R4/lib${kdelibsuff} \ | |
131 | \ | |
132 | /usr/local/lib${kdelibsuff}/X11 \ | |
133 | /usr/local/lib${kdelibsuff}/X11R6 \ | |
134 | /usr/local/lib${kdelibsuff}/X11R5 \ | |
135 | /usr/local/lib${kdelibsuff}/X11R4 \ | |
136 | \ | |
137 | /usr/X386/lib${kdelibsuff} \ | |
138 | /usr/x386/lib${kdelibsuff} \ | |
139 | /usr/XFree86/lib${kdelibsuff}/X11 \ | |
140 | \ | |
141 | /usr/lib${kdelibsuff} \ | |
142 | /usr/local/lib${kdelibsuff} \ | |
143 | /usr/unsupported/lib${kdelibsuff} \ | |
144 | /usr/athena/lib${kdelibsuff} \ | |
145 | /usr/local/x11r5/lib${kdelibsuff} \ | |
146 | /usr/lpp/Xamples/lib${kdelibsuff} \ | |
147 | /lib/usr/lib${kdelibsuff}/X11 \ | |
148 | \ | |
149 | /usr/openwin/lib${kdelibsuff} \ | |
150 | /usr/openwin/share/lib${kdelibsuff} \ | |
151 | ; \ | |
152 | do | |
153 | dnl Don't even attempt the hair of trying to link an X program! | |
154 | for ac_extension in a so sl; do | |
155 | if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then | |
156 | ac_x_libraries=$ac_dir | |
157 | break 2 | |
158 | fi | |
159 | done | |
160 | done]) | |
161 | fi # $ac_x_libraries = NO | |
162 | ]) | |
163 | ||
164 | ||
165 | dnl ------------------------------------------------------------------------ | |
166 | dnl Find a file (or one of more files in a list of dirs) | |
167 | dnl ------------------------------------------------------------------------ | |
168 | dnl | |
169 | AC_DEFUN(AC_FIND_FILE, | |
170 | [ | |
171 | $3=NO | |
172 | for i in $2; | |
173 | do | |
174 | for j in $1; | |
175 | do | |
176 | echo "configure: __oline__: $i/$j" >&AC_FD_CC | |
177 | if test -r "$i/$j"; then | |
178 | echo "taking that" >&AC_FD_CC | |
179 | $3=$i | |
180 | break 2 | |
181 | fi | |
182 | done | |
183 | done | |
184 | ]) | |
185 | ||
186 | dnl KDE_FIND_PATH(programm-name, variable-name, list of directories, | |
187 | dnl if-not-found, test-parameter) | |
188 | AC_DEFUN(KDE_FIND_PATH, | |
189 | [ | |
190 | AC_MSG_CHECKING([for $1]) | |
191 | if test -n "$$2"; then | |
192 | kde_cv_path="$$2"; | |
193 | else | |
194 | kde_cache=`echo $1 | sed 'y%./+-%__p_%'` | |
195 | ||
196 | AC_CACHE_VAL(kde_cv_path_$kde_cache, | |
197 | [ | |
198 | kde_cv_path="NONE" | |
199 | dirs="$3" | |
200 | kde_save_IFS=$IFS | |
201 | IFS=':' | |
202 | for dir in $PATH; do | |
203 | dirs="$dirs $dir" | |
204 | done | |
205 | IFS=$kde_save_IFS | |
206 | ||
207 | for dir in $dirs; do | |
208 | if test -x "$dir/$1"; then | |
209 | if test -n "$5" | |
210 | then | |
211 | evalstr="$dir/$1 $5 2>&1 " | |
212 | if eval $evalstr; then | |
213 | kde_cv_path="$dir/$1" | |
214 | break | |
215 | fi | |
216 | else | |
217 | kde_cv_path="$dir/$1" | |
218 | break | |
219 | fi | |
220 | fi | |
221 | done | |
222 | ||
223 | eval "kde_cv_path_$kde_cache=$kde_cv_path" | |
224 | ||
225 | ]) | |
226 | ||
227 | eval "kde_cv_path=\"`echo '$kde_cv_path_'$kde_cache`\"" | |
228 | ||
229 | fi | |
230 | ||
231 | if test -z "$kde_cv_path" || test "$kde_cv_path" = NONE; then | |
232 | AC_MSG_RESULT(not found) | |
233 | $4 | |
234 | else | |
235 | AC_MSG_RESULT($kde_cv_path) | |
236 | $2=$kde_cv_path | |
237 | ||
238 | fi | |
239 | ]) | |
240 | ||
241 | AC_DEFUN(KDE_MOC_ERROR_MESSAGE, | |
242 | [ | |
243 | AC_MSG_ERROR([No Qt meta object compiler (moc) found! | |
244 | Please check whether you installed Qt correctly. | |
245 | You need to have a running moc binary. | |
246 | configure tried to run $ac_cv_path_moc and the test didn't | |
247 | succeed. If configure shouldn't have tried this one, set | |
248 | the environment variable MOC to the right one before running | |
249 | configure. | |
250 | ]) | |
251 | ]) | |
252 | ||
253 | AC_DEFUN(KDE_UIC_ERROR_MESSAGE, | |
254 | [ | |
255 | AC_MSG_WARN([No Qt ui compiler (uic) found! | |
256 | Please check whether you installed Qt correctly. | |
257 | You need to have a running uic binary. | |
258 | configure tried to run $ac_cv_path_uic and the test didn't | |
259 | succeed. If configure shouldn't have tried this one, set | |
260 | the environment variable UIC to the right one before running | |
261 | configure. | |
262 | ]) | |
263 | ]) | |
264 | ||
265 | ||
266 | AC_DEFUN(KDE_CHECK_UIC_FLAG, | |
267 | [ | |
268 | AC_MSG_CHECKING([whether uic supports -$1 ]) | |
269 | kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` | |
270 | AC_CACHE_VAL(kde_cv_prog_uic_$kde_cache, | |
271 | [ | |
272 | cat >conftest.ui <<EOT | |
273 | <!DOCTYPE UI><UI version="3" stdsetdef="1"></UI> | |
274 | EOT | |
275 | ac_uic_testrun="$UIC_PATH -$1 $2 conftest.ui >/dev/null" | |
276 | if AC_TRY_EVAL(ac_uic_testrun); then | |
277 | eval "kde_cv_prog_uic_$kde_cache=yes" | |
278 | else | |
279 | eval "kde_cv_prog_uic_$kde_cache=no" | |
280 | fi | |
281 | rm -f conftest* | |
282 | ]) | |
283 | ||
284 | if eval "test \"`echo '$kde_cv_prog_uic_'$kde_cache`\" = yes"; then | |
285 | AC_MSG_RESULT([yes]) | |
286 | : | |
287 | $3 | |
288 | else | |
289 | AC_MSG_RESULT([no]) | |
290 | : | |
291 | $4 | |
292 | fi | |
293 | ]) | |
294 | ||
295 | ||
296 | dnl ------------------------------------------------------------------------ | |
297 | dnl Find the meta object compiler and the ui compiler in the PATH, | |
298 | dnl in $QTDIR/bin, and some more usual places | |
299 | dnl ------------------------------------------------------------------------ | |
300 | dnl | |
301 | AC_DEFUN(AC_PATH_QT_MOC_UIC, | |
302 | [ | |
303 | qt_bindirs="" | |
304 | for dir in $kde_qt_dirs; do | |
305 | qt_bindirs="$qt_bindirs $dir/bin $dir/src/moc" | |
306 | done | |
307 | qt_bindirs="$qt_bindirs /usr/bin /usr/X11R6/bin /usr/local/qt/bin" | |
308 | if test ! "$ac_qt_bindir" = "NO"; then | |
309 | qt_bindirs="$ac_qt_bindir $qt_bindirs" | |
310 | fi | |
311 | ||
312 | KDE_FIND_PATH(moc, MOC, [$qt_bindirs], [KDE_MOC_ERROR_MESSAGE]) | |
313 | if test -z "$UIC_NOT_NEEDED"; then | |
314 | KDE_FIND_PATH(uic, UIC_PATH, [$qt_bindirs], [UIC_PATH=""]) | |
315 | if test -z "$UIC_PATH" ; then | |
316 | KDE_UIC_ERROR_MESSAGE | |
317 | exit 1 | |
318 | elif test $kde_qtver = 3; then | |
319 | KDE_CHECK_UIC_FLAG(L,[/nonexistant],ac_uic_supports_libpath=yes,ac_uic_supports_libpath=no) | |
320 | KDE_CHECK_UIC_FLAG(nounload,,ac_uic_supports_nounload=yes,ac_uic_supports_nounload=no) | |
321 | ||
322 | UIC=$UIC_PATH | |
323 | if test x$ac_uic_supports_libpath = xyes; then | |
324 | UIC="$UIC -L \$(kde_widgetdir)" | |
325 | fi | |
326 | if test x$ac_uic_supports_nounload = xyes; then | |
327 | UIC="$UIC -nounload" | |
328 | fi | |
329 | fi | |
330 | else | |
331 | UIC="echo uic not available: " | |
332 | fi | |
333 | ||
334 | AC_SUBST(MOC) | |
335 | AC_SUBST(UIC) | |
336 | ||
337 | UIC_TR="i18n" | |
338 | if test $kde_qtver = 3; then | |
339 | UIC_TR="tr2i18n" | |
340 | fi | |
341 | ||
342 | AC_SUBST(UIC_TR) | |
343 | ]) | |
344 | ||
345 | AC_DEFUN(KDE_1_CHECK_PATHS, | |
346 | [ | |
347 | KDE_1_CHECK_PATH_HEADERS | |
348 | ||
349 | KDE_TEST_RPATH= | |
350 | ||
351 | if test -n "$USE_RPATH"; then | |
352 | ||
353 | if test -n "$kde_libraries"; then | |
354 | KDE_TEST_RPATH="-R $kde_libraries" | |
355 | fi | |
356 | ||
357 | if test -n "$qt_libraries"; then | |
358 | KDE_TEST_RPATH="$KDE_TEST_RPATH -R $qt_libraries" | |
359 | fi | |
360 | ||
361 | if test -n "$x_libraries"; then | |
362 | KDE_TEST_RPATH="$KDE_TEST_RPATH -R $x_libraries" | |
363 | fi | |
364 | ||
365 | KDE_TEST_RPATH="$KDE_TEST_RPATH $KDE_EXTRA_RPATH" | |
366 | fi | |
367 | ||
368 | AC_MSG_CHECKING([for KDE libraries installed]) | |
369 | ac_link='$LIBTOOL_SHELL --silent --mode=link ${CXX-g++} -o conftest $CXXFLAGS $all_includes $CPPFLAGS $LDFLAGS $all_libraries conftest.$ac_ext $LIBS -lkdecore $LIBQT $KDE_TEST_RPATH 1>&5' | |
370 | ||
371 | if AC_TRY_EVAL(ac_link) && test -s conftest; then | |
372 | AC_MSG_RESULT(yes) | |
373 | else | |
374 | AC_MSG_ERROR([your system fails at linking a small KDE application! | |
375 | Check, if your compiler is installed correctly and if you have used the | |
376 | same compiler to compile Qt and kdelibs as you did use now. | |
377 | For more details about this problem, look at the end of config.log.]) | |
378 | fi | |
379 | ||
380 | if eval `KDEDIR= ./conftest 2>&5`; then | |
381 | kde_result=done | |
382 | else | |
383 | kde_result=problems | |
384 | fi | |
385 | ||
386 | KDEDIR= ./conftest 2> /dev/null >&5 # make an echo for config.log | |
387 | kde_have_all_paths=yes | |
388 | ||
389 | KDE_SET_PATHS($kde_result) | |
390 | ||
391 | ]) | |
392 | ||
393 | AC_DEFUN(KDE_SET_PATHS, | |
394 | [ | |
395 | kde_cv_all_paths="kde_have_all_paths=\"yes\" \ | |
396 | kde_htmldir=\"$kde_htmldir\" \ | |
397 | kde_appsdir=\"$kde_appsdir\" \ | |
398 | kde_icondir=\"$kde_icondir\" \ | |
399 | kde_sounddir=\"$kde_sounddir\" \ | |
400 | kde_datadir=\"$kde_datadir\" \ | |
401 | kde_locale=\"$kde_locale\" \ | |
402 | kde_cgidir=\"$kde_cgidir\" \ | |
403 | kde_confdir=\"$kde_confdir\" \ | |
404 | kde_mimedir=\"$kde_mimedir\" \ | |
405 | kde_toolbardir=\"$kde_toolbardir\" \ | |
406 | kde_wallpaperdir=\"$kde_wallpaperdir\" \ | |
407 | kde_templatesdir=\"$kde_templatesdir\" \ | |
408 | kde_bindir=\"$kde_bindir\" \ | |
409 | kde_servicesdir=\"$kde_servicesdir\" \ | |
410 | kde_servicetypesdir=\"$kde_servicetypesdir\" \ | |
411 | kde_moduledir=\"$kde_moduledir\" \ | |
412 | kde_styledir=\"$kde_styledir\" \ | |
413 | kde_widgetdir=\"$kde_widgetdir\" \ | |
414 | kde_result=$1" | |
415 | ]) | |
416 | ||
417 | AC_DEFUN(KDE_SET_DEFAULT_PATHS, | |
418 | [ | |
419 | if test "$1" = "default"; then | |
420 | ||
421 | if test -z "$kde_htmldir"; then | |
422 | kde_htmldir='\${prefix}/share/doc/HTML' | |
423 | fi | |
424 | if test -z "$kde_appsdir"; then | |
425 | kde_appsdir='\${prefix}/share/applnk' | |
426 | fi | |
427 | if test -z "$kde_icondir"; then | |
428 | kde_icondir='\${prefix}/share/icons' | |
429 | fi | |
430 | if test -z "$kde_sounddir"; then | |
431 | kde_sounddir='\${prefix}/share/sounds' | |
432 | fi | |
433 | if test -z "$kde_datadir"; then | |
434 | kde_datadir='\${prefix}/share/apps' | |
435 | fi | |
436 | if test -z "$kde_locale"; then | |
437 | kde_locale='\${prefix}/share/locale' | |
438 | fi | |
439 | if test -z "$kde_cgidir"; then | |
440 | kde_cgidir='\${exec_prefix}/cgi-bin' | |
441 | fi | |
442 | if test -z "$kde_confdir"; then | |
443 | kde_confdir='\${prefix}/share/config' | |
444 | fi | |
445 | if test -z "$kde_mimedir"; then | |
446 | kde_mimedir='\${prefix}/share/mimelnk' | |
447 | fi | |
448 | if test -z "$kde_toolbardir"; then | |
449 | kde_toolbardir='\${prefix}/share/toolbar' | |
450 | fi | |
451 | if test -z "$kde_wallpaperdir"; then | |
452 | kde_wallpaperdir='\${prefix}/share/wallpapers' | |
453 | fi | |
454 | if test -z "$kde_templatesdir"; then | |
455 | kde_templatesdir='\${prefix}/share/templates' | |
456 | fi | |
457 | if test -z "$kde_bindir"; then | |
458 | kde_bindir='\${exec_prefix}/bin' | |
459 | fi | |
460 | if test -z "$kde_servicesdir"; then | |
461 | kde_servicesdir='\${prefix}/share/services' | |
462 | fi | |
463 | if test -z "$kde_servicetypesdir"; then | |
464 | kde_servicetypesdir='\${prefix}/share/servicetypes' | |
465 | fi | |
466 | if test -z "$kde_moduledir"; then | |
467 | if test "$kde_qtver" = "2"; then | |
468 | kde_moduledir='\${libdir}/kde2' | |
469 | else | |
470 | kde_moduledir='\${libdir}/kde3' | |
471 | fi | |
472 | fi | |
473 | if test -z "$kde_styledir"; then | |
474 | kde_styledir='\${libdir}/kde3/plugins/styles' | |
475 | fi | |
476 | if test -z "$kde_widgetdir"; then | |
477 | kde_widgetdir='\${libdir}/kde3/plugins/designer' | |
478 | fi | |
479 | ||
480 | KDE_SET_PATHS(defaults) | |
481 | ||
482 | else | |
483 | ||
484 | if test $kde_qtver = 1; then | |
485 | AC_MSG_RESULT([compiling]) | |
486 | KDE_1_CHECK_PATHS | |
487 | else | |
488 | AC_MSG_ERROR([path checking not yet supported for KDE 2]) | |
489 | fi | |
490 | ||
491 | fi | |
492 | ]) | |
493 | ||
494 | AC_DEFUN(KDE_CHECK_PATHS_FOR_COMPLETENESS, | |
495 | [ if test -z "$kde_htmldir" || test -z "$kde_appsdir" || | |
496 | test -z "$kde_icondir" || test -z "$kde_sounddir" || | |
497 | test -z "$kde_datadir" || test -z "$kde_locale" || | |
498 | test -z "$kde_cgidir" || test -z "$kde_confdir" || | |
499 | test -z "$kde_mimedir" || test -z "$kde_toolbardir" || | |
500 | test -z "$kde_wallpaperdir" || test -z "$kde_templatesdir" || | |
501 | test -z "$kde_bindir" || test -z "$kde_servicesdir" || | |
502 | test -z "$kde_servicetypesdir" || test -z "$kde_moduledir" || | |
503 | test -z "$kde_styledir" || test -z "kde_widgetdir" | |
504 | test "x$kde_have_all_paths" != "xyes"; then | |
505 | kde_have_all_paths=no | |
506 | fi | |
507 | ]) | |
508 | ||
509 | AC_DEFUN(KDE_MISSING_PROG_ERROR, | |
510 | [ | |
511 | AC_MSG_ERROR([The important program $1 was not found! | |
512 | Please check whether you installed KDE correctly. | |
513 | ]) | |
514 | ]) | |
515 | ||
516 | AC_DEFUN(KDE_MISSING_ARTS_ERROR, | |
517 | [ | |
518 | AC_MSG_ERROR([The important program $1 was not found! | |
519 | Please check whether you installed aRts correctly. | |
520 | ]) | |
521 | ]) | |
522 | ||
523 | AC_DEFUN(KDE_SUBST_PROGRAMS, | |
524 | [ | |
525 | ||
526 | kde_default_bindirs="/usr/bin /usr/local/bin /opt/local/bin /usr/X11R6/bin /opt/kde/bin /opt/kde3/bin /usr/kde/bin /usr/local/kde/bin" | |
527 | test -n "$KDEDIR" && kde_default_bindirs="$KDEDIR/bin $kde_default_bindirs" | |
528 | if test -n "$KDEDIRS"; then | |
529 | kde_save_IFS=$IFS | |
530 | IFS=: | |
531 | for dir in $KDEDIRS; do | |
532 | kde_default_bindirs="$dir/bin $kde_default_bindirs " | |
533 | done | |
534 | IFS=$kde_save_IFS | |
535 | fi | |
536 | kde_default_bindirs="$exec_prefix/bin $prefix/bin $kde_default_bindirs" | |
537 | KDE_FIND_PATH(dcopidl, DCOPIDL, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl)]) | |
538 | KDE_FIND_PATH(dcopidl2cpp, DCOPIDL2CPP, [$kde_default_bindirs], [KDE_MISSING_PROG_ERROR(dcopidl2cpp)]) | |
539 | KDE_FIND_PATH(mcopidl, MCOPIDL, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(mcopidl)]) | |
540 | KDE_FIND_PATH(artsc-config, ARTSCCONFIG, [$kde_default_bindirs], [KDE_MISSING_ARTS_ERROR(artsc-config)]) | |
541 | KDE_FIND_PATH(kde-config, KDECONFIG, [$kde_default_bindirs]) | |
542 | KDE_FIND_PATH(meinproc, MEINPROC, [$kde_default_bindirs]) | |
543 | ||
544 | if test -n "$MEINPROC" && test ! "$MEINPROC" = "compiled"; then | |
545 | kde_sharedirs="/usr/share/kde /usr/local/share /usr/share /opt/kde3/share /opt/kde/share $prefix/share" | |
546 | test -n "$KDEDIR" && kde_sharedirs="$KDEDIR/share $kde_sharedirs" | |
547 | AC_FIND_FILE(apps/ksgmltools2/customization/kde-chunk.xsl, $kde_sharedirs, KDE_XSL_STYLESHEET) | |
548 | if test "$KDE_XSL_STYLESHEET" = "NO"; then | |
549 | KDE_XSL_STYLESHEET="" | |
550 | else | |
551 | KDE_XSL_STYLESHEET="$KDE_XSL_STYLESHEET/apps/ksgmltools2/customization/kde-chunk.xsl" | |
552 | fi | |
553 | fi | |
554 | ||
555 | DCOP_DEPENDENCIES='$(DCOPIDL)' | |
556 | AC_SUBST(DCOPIDL) | |
557 | AC_SUBST(DCOPIDL2CPP) | |
558 | AC_SUBST(DCOP_DEPENDENCIES) | |
559 | AC_SUBST(MCOPIDL) | |
560 | AC_SUBST(ARTSCCONFIG) | |
561 | AC_SUBST(KDECONFIG) | |
562 | AC_SUBST(MEINPROC) | |
563 | AC_SUBST(KDE_XSL_STYLESHEET) | |
564 | ||
565 | if test -x "$KDECONFIG"; then # it can be "compiled" | |
566 | kde_libs_prefix=`$KDECONFIG --prefix` | |
567 | if test -z "$kde_libs_prefix" || test ! -x "$kde_libs_prefix"; then | |
568 | AC_MSG_ERROR([$KDECONFIG --prefix outputed the non existant prefix '$kde_libs_prefix' for kdelibs. | |
569 | This means it has been moved since you installed it. | |
570 | This won't work. Please recompile kdelibs for the new prefix. | |
571 | ]) | |
572 | fi | |
573 | kde_libs_htmldir=`$KDECONFIG --install html --expandvars` | |
574 | else | |
575 | kde_libs_prefix='$(prefix)' | |
576 | kde_libs_htmldir='$(kde_htmldir)' | |
577 | fi | |
578 | AC_SUBST(kde_libs_prefix) | |
579 | AC_SUBST(kde_libs_htmldir) | |
580 | ])dnl | |
581 | ||
582 | AC_DEFUN(AC_CREATE_KFSSTND, | |
583 | [ | |
584 | AC_REQUIRE([AC_CHECK_RPATH]) | |
585 | ||
586 | AC_MSG_CHECKING([for KDE paths]) | |
587 | kde_result="" | |
588 | kde_cached_paths=yes | |
589 | AC_CACHE_VAL(kde_cv_all_paths, | |
590 | [ | |
591 | KDE_SET_DEFAULT_PATHS($1) | |
592 | kde_cached_paths=no | |
593 | ]) | |
594 | eval "$kde_cv_all_paths" | |
595 | KDE_CHECK_PATHS_FOR_COMPLETENESS | |
596 | if test "$kde_have_all_paths" = "no" && test "$kde_cached_paths" = "yes"; then | |
597 | # wrong values were cached, may be, we can set better ones | |
598 | kde_result= | |
599 | kde_htmldir= kde_appsdir= kde_icondir= kde_sounddir= | |
600 | kde_datadir= kde_locale= kde_cgidir= kde_confdir= | |
601 | kde_mimedir= kde_toolbardir= kde_wallpaperdir= kde_templatesdir= | |
602 | kde_bindir= kde_servicesdir= kde_servicetypesdir= kde_moduledir= | |
603 | kde_have_all_paths= | |
604 | kde_styledir= | |
605 | kde_widgetdir= | |
606 | KDE_SET_DEFAULT_PATHS($1) | |
607 | eval "$kde_cv_all_paths" | |
608 | KDE_CHECK_PATHS_FOR_COMPLETENESS | |
609 | kde_result="$kde_result (cache overridden)" | |
610 | fi | |
611 | if test "$kde_have_all_paths" = "no"; then | |
612 | AC_MSG_ERROR([configure could not run a little KDE program to test the environment. | |
613 | Since it had compiled and linked before, it must be a strange problem on your system. | |
614 | Look at config.log for details. If you are not able to fix this, look at | |
615 | http://www.kde.org/faq/installation.html or any www.kde.org mirror. | |
616 | (If you're using an egcs version on Linux, you may update binutils!) | |
617 | ]) | |
618 | else | |
619 | rm -f conftest* | |
620 | AC_MSG_RESULT($kde_result) | |
621 | fi | |
622 | ||
623 | bindir=$kde_bindir | |
624 | ||
625 | KDE_SUBST_PROGRAMS | |
626 | ||
627 | ]) | |
628 | ||
629 | AC_DEFUN(AC_SUBST_KFSSTND, | |
630 | [ | |
631 | AC_SUBST(kde_htmldir) | |
632 | AC_SUBST(kde_appsdir) | |
633 | AC_SUBST(kde_icondir) | |
634 | AC_SUBST(kde_sounddir) | |
635 | AC_SUBST(kde_datadir) | |
636 | AC_SUBST(kde_locale) | |
637 | AC_SUBST(kde_confdir) | |
638 | AC_SUBST(kde_mimedir) | |
639 | AC_SUBST(kde_wallpaperdir) | |
640 | AC_SUBST(kde_bindir) | |
641 | dnl for KDE 2 | |
642 | AC_SUBST(kde_templatesdir) | |
643 | AC_SUBST(kde_servicesdir) | |
644 | AC_SUBST(kde_servicetypesdir) | |
645 | AC_SUBST(kde_moduledir) | |
646 | AC_SUBST(kde_styledir) | |
647 | AC_SUBST(kde_widgetdir) | |
648 | if test "$kde_qtver" = 1; then | |
649 | kde_minidir="$kde_icondir/mini" | |
650 | else | |
651 | # for KDE 1 - this breaks KDE2 apps using minidir, but | |
652 | # that's the plan ;-/ | |
653 | kde_minidir="/dev/null" | |
654 | fi | |
655 | dnl AC_SUBST(kde_minidir) | |
656 | dnl AC_SUBST(kde_cgidir) | |
657 | dnl AC_SUBST(kde_toolbardir) | |
658 | ]) | |
659 | ||
660 | AC_DEFUN(KDE_MISC_TESTS, | |
661 | [ | |
662 | AC_LANG_C | |
663 | dnl Checks for libraries. | |
664 | AC_CHECK_LIB(util, main, [LIBUTIL="-lutil"]) dnl for *BSD | |
665 | AC_SUBST(LIBUTIL) | |
666 | AC_CHECK_LIB(compat, main, [LIBCOMPAT="-lcompat"]) dnl for *BSD | |
667 | AC_SUBST(LIBCOMPAT) | |
668 | kde_have_crypt= | |
669 | AC_CHECK_LIB(crypt, crypt, [LIBCRYPT="-lcrypt"; kde_have_crypt=yes], | |
670 | AC_CHECK_LIB(c, crypt, [kde_have_crypt=yes], [ | |
671 | AC_MSG_WARN([you have no crypt in either libcrypt or libc. | |
672 | You should install libcrypt from another source or configure with PAM | |
673 | support]) | |
674 | kde_have_crypt=no | |
675 | ])) | |
676 | AC_SUBST(LIBCRYPT) | |
677 | if test $kde_have_crypt = yes; then | |
678 | AC_DEFINE_UNQUOTED(HAVE_CRYPT, 1, [Defines if your system has the crypt function]) | |
679 | fi | |
680 | AC_CHECK_SOCKLEN_T | |
681 | AC_LANG_C | |
682 | AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) | |
683 | if test $ac_cv_lib_dnet_dnet_ntoa = no; then | |
684 | AC_CHECK_LIB(dnet_stub, dnet_ntoa, | |
685 | [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) | |
686 | fi | |
687 | AC_CHECK_FUNC(inet_ntoa) | |
688 | if test $ac_cv_func_inet_ntoa = no; then | |
689 | AC_CHECK_LIB(nsl, inet_ntoa, X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl") | |
690 | fi | |
691 | AC_CHECK_FUNC(connect) | |
692 | if test $ac_cv_func_connect = no; then | |
693 | AC_CHECK_LIB(socket, connect, X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS", , | |
694 | $X_EXTRA_LIBS) | |
695 | fi | |
696 | ||
697 | AC_CHECK_FUNC(remove) | |
698 | if test $ac_cv_func_remove = no; then | |
699 | AC_CHECK_LIB(posix, remove, X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix") | |
700 | fi | |
701 | ||
702 | # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. | |
703 | AC_CHECK_FUNC(shmat, , | |
704 | AC_CHECK_LIB(ipc, shmat, X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc")) | |
705 | ||
706 | # darwin needs this to initialize the environment | |
707 | AC_CHECK_HEADERS(crt_externs.h) | |
708 | AC_CHECK_FUNC(_NSGetEnviron, [AC_DEFINE(HAVE_NSGETENVIRON, 1, [Define if your system needs _NSGetEnviron to set up the environment])]) | |
709 | ||
710 | # more headers that need to be explicitly included on darwin | |
711 | AC_CHECK_HEADERS(sys/types.h stdint.h) | |
712 | ||
713 | # darwin requires a poll emulation library | |
714 | AC_CHECK_LIB(poll, poll, LIB_POLL="-lpoll") | |
715 | ||
716 | # CoreAudio framework | |
717 | AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [ | |
718 | AC_DEFINE(HAVE_COREAUDIO, 1, [Define if you have the CoreAudio API]) | |
719 | FRAMEWORK_COREAUDIO="-framework CoreAudio" | |
720 | ]) | |
721 | ||
722 | AC_CHECK_RES_INIT | |
723 | AC_SUBST(LIB_POLL) | |
724 | AC_SUBST(FRAMEWORK_COREAUDIO) | |
725 | LIBSOCKET="$X_EXTRA_LIBS" | |
726 | AC_SUBST(LIBSOCKET) | |
727 | AC_SUBST(X_EXTRA_LIBS) | |
728 | AC_CHECK_LIB(ucb, killpg, [LIBUCB="-lucb"]) dnl for Solaris2.4 | |
729 | AC_SUBST(LIBUCB) | |
730 | ||
731 | case $host in dnl this *is* LynxOS specific | |
732 | *-*-lynxos* ) | |
733 | AC_MSG_CHECKING([LynxOS header file wrappers]) | |
734 | [CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"] | |
735 | AC_MSG_RESULT(disabled) | |
736 | AC_CHECK_LIB(bsd, gethostbyname, [LIBSOCKET="-lbsd"]) dnl for LynxOS | |
737 | ;; | |
738 | esac | |
739 | ||
740 | KDE_CHECK_TYPES | |
741 | KDE_CHECK_LIBDL | |
742 | ||
743 | AH_VERBATIM(_AIX_STRINGS_H_BZERO, | |
744 | [ | |
745 | /* | |
746 | * AIX defines FD_SET in terms of bzero, but fails to include <strings.h> | |
747 | * that defines bzero. | |
748 | */ | |
749 | ||
750 | #if defined(_AIX) | |
751 | #include <strings.h> | |
752 | #endif | |
753 | ]) | |
754 | ||
755 | AC_CHECK_FUNCS([vsnprintf snprintf]) | |
756 | ||
757 | AH_VERBATIM(_TRU64,[ | |
758 | /* | |
759 | * On HP-UX, the declaration of vsnprintf() is needed every time ! | |
760 | */ | |
761 | ||
762 | #if !defined(HAVE_VSNPRINTF) || defined(hpux) | |
763 | #if __STDC__ | |
764 | #include <stdarg.h> | |
765 | #include <stdlib.h> | |
766 | #else | |
767 | #include <varargs.h> | |
768 | #endif | |
769 | #ifdef __cplusplus | |
770 | extern "C" | |
771 | #endif | |
772 | int vsnprintf(char *str, size_t n, char const *fmt, va_list ap); | |
773 | #ifdef __cplusplus | |
774 | extern "C" | |
775 | #endif | |
776 | int snprintf(char *str, size_t n, char const *fmt, ...); | |
777 | #endif | |
778 | ]) | |
779 | ||
780 | ]) | |
781 | ||
782 | dnl ------------------------------------------------------------------------ | |
783 | dnl Find the header files and libraries for X-Windows. Extended the | |
784 | dnl macro AC_PATH_X | |
785 | dnl ------------------------------------------------------------------------ | |
786 | dnl | |
787 | AC_DEFUN(K_PATH_X, | |
788 | [ | |
789 | AC_REQUIRE([KDE_MISC_TESTS])dnl | |
790 | AC_REQUIRE([KDE_CHECK_LIB64]) | |
791 | ||
792 | AC_ARG_ENABLE( | |
793 | embedded, | |
794 | [ --enable-embedded link to Qt-embedded, don't use X], | |
795 | kde_use_qt_emb=$enableval, | |
796 | kde_use_qt_emb=no | |
797 | ) | |
798 | ||
799 | AC_ARG_ENABLE( | |
800 | qtopia, | |
801 | [ --enable-qtopia link to Qt-embedded, link to the Qtopia Environment], | |
802 | kde_use_qt_emb_palm=$enableval, | |
803 | kde_use_qt_emb_palm=no | |
804 | ) | |
805 | ||
806 | if test "$kde_use_qt_emb" = "no"; then | |
807 | ||
808 | AC_MSG_CHECKING(for X) | |
809 | AC_LANG_SAVE | |
810 | AC_LANG_C | |
811 | AC_CACHE_VAL(kde_cv_have_x, | |
812 | [# One or both of the vars are not set, and there is no cached value. | |
813 | if test "{$x_includes+set}" = set || test "$x_includes" = NONE; then | |
814 | kde_x_includes=NO | |
815 | else | |
816 | kde_x_includes=$x_includes | |
817 | fi | |
818 | if test "{$x_libraries+set}" = set || test "$x_libraries" = NONE; then | |
819 | kde_x_libraries=NO | |
820 | else | |
821 | kde_x_libraries=$x_libraries | |
822 | fi | |
823 | ||
824 | # below we use the standard autoconf calls | |
825 | ac_x_libraries=$kde_x_libraries | |
826 | ac_x_includes=$kde_x_includes | |
827 | ||
828 | KDE_PATH_X_DIRECT | |
829 | dnl AC_PATH_X_XMKMF picks /usr/lib as the path for the X libraries. | |
830 | dnl Unfortunately, if compiling with the N32 ABI, this is not the correct | |
831 | dnl location. The correct location is /usr/lib32 or an undefined value | |
832 | dnl (the linker is smart enough to pick the correct default library). | |
833 | dnl Things work just fine if you use just AC_PATH_X_DIRECT. | |
834 | dnl Solaris has a similar problem. AC_PATH_X_XMKMF forces x_includes to | |
835 | dnl /usr/openwin/include, which doesn't work. /usr/include does work, so | |
836 | dnl x_includes should be left alone. | |
837 | case "$host" in | |
838 | mips-sgi-irix6*) | |
839 | ;; | |
840 | *-*-solaris*) | |
841 | ;; | |
842 | *) | |
843 | _AC_PATH_X_XMKMF | |
844 | if test -z "$ac_x_includes"; then | |
845 | ac_x_includes="." | |
846 | fi | |
847 | if test -z "$ac_x_libraries"; then | |
848 | ac_x_libraries="/usr/lib${kdelibsuff}" | |
849 | fi | |
850 | esac | |
851 | #from now on we use our own again | |
852 | ||
853 | # when the user already gave --x-includes, we ignore | |
854 | # what the standard autoconf macros told us. | |
855 | if test "$kde_x_includes" = NO; then | |
856 | kde_x_includes=$ac_x_includes | |
857 | fi | |
858 | ||
859 | # for --x-libraries too | |
860 | if test "$kde_x_libraries" = NO; then | |
861 | kde_x_libraries=$ac_x_libraries | |
862 | fi | |
863 | ||
864 | if test "$kde_x_includes" = NO; then | |
865 | AC_MSG_ERROR([Can't find X includes. Please check your installation and add the correct paths!]) | |
866 | fi | |
867 | ||
868 | if test "$kde_x_libraries" = NO; then | |
869 | AC_MSG_ERROR([Can't find X libraries. Please check your installation and add the correct paths!]) | |
870 | fi | |
871 | ||
872 | # Record where we found X for the cache. | |
873 | kde_cv_have_x="have_x=yes \ | |
874 | kde_x_includes=$kde_x_includes kde_x_libraries=$kde_x_libraries" | |
875 | ])dnl | |
876 | ||
877 | eval "$kde_cv_have_x" | |
878 | ||
879 | if test "$have_x" != yes; then | |
880 | AC_MSG_RESULT($have_x) | |
881 | no_x=yes | |
882 | else | |
883 | AC_MSG_RESULT([libraries $kde_x_libraries, headers $kde_x_includes]) | |
884 | fi | |
885 | ||
886 | if test -z "$kde_x_includes" || test "x$kde_x_includes" = xNONE; then | |
887 | X_INCLUDES="" | |
888 | x_includes="."; dnl better than nothing :- | |
889 | else | |
890 | x_includes=$kde_x_includes | |
891 | X_INCLUDES="-I$x_includes" | |
892 | fi | |
893 | ||
894 | if test -z "$kde_x_libraries" || test "x$kde_x_libraries" = xNONE; then | |
895 | X_LDFLAGS="" | |
896 | x_libraries="/usr/lib"; dnl better than nothing :- | |
897 | else | |
898 | x_libraries=$kde_x_libraries | |
899 | X_LDFLAGS="-L$x_libraries" | |
900 | fi | |
901 | all_includes="$X_INCLUDES" | |
902 | all_libraries="$X_LDFLAGS" | |
903 | ||
904 | AC_SUBST(X_INCLUDES) | |
905 | AC_SUBST(X_LDFLAGS) | |
906 | AC_SUBST(x_libraries) | |
907 | AC_SUBST(x_includes) | |
908 | ||
909 | # Check for libraries that X11R6 Xt/Xaw programs need. | |
910 | ac_save_LDFLAGS="$LDFLAGS" | |
911 | LDFLAGS="$LDFLAGS $X_LDFLAGS" | |
912 | # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to | |
913 | # check for ICE first), but we must link in the order -lSM -lICE or | |
914 | # we get undefined symbols. So assume we have SM if we have ICE. | |
915 | # These have to be linked with before -lX11, unlike the other | |
916 | # libraries we check for below, so use a different variable. | |
917 | # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. | |
918 | AC_CHECK_LIB(ICE, IceConnectionNumber, | |
919 | [LIBSM="-lSM -lICE"], , $X_EXTRA_LIBS) | |
920 | AC_SUBST(LIBSM) | |
921 | LDFLAGS="$ac_save_LDFLAGS" | |
922 | ||
923 | AC_SUBST(X_PRE_LIBS) | |
924 | ||
925 | LIB_X11='-lX11 $(LIBSOCKET)' | |
926 | AC_SUBST(LIB_X11) | |
927 | ||
928 | AC_MSG_CHECKING(for libXext) | |
929 | AC_CACHE_VAL(kde_cv_have_libXext, | |
930 | [ | |
931 | kde_ldflags_safe="$LDFLAGS" | |
932 | kde_libs_safe="$LIBS" | |
933 | ||
934 | LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" | |
935 | LIBS="-lXext -lX11 $LIBSOCKET" | |
936 | ||
937 | AC_TRY_LINK([ | |
938 | #include <stdio.h> | |
939 | #ifdef STDC_HEADERS | |
940 | # include <stdlib.h> | |
941 | #endif | |
942 | ], | |
943 | [ | |
944 | printf("hello Xext\n"); | |
945 | ], | |
946 | kde_cv_have_libXext=yes, | |
947 | kde_cv_have_libXext=no | |
948 | ) | |
949 | ||
950 | LDFLAGS=$kde_ldflags_safe | |
951 | LIBS=$kde_libs_safe | |
952 | ]) | |
953 | ||
954 | AC_MSG_RESULT($kde_cv_have_libXext) | |
955 | ||
956 | if test "$kde_cv_have_libXext" = "no"; then | |
957 | AC_MSG_ERROR([We need a working libXext to proceed. Since configure | |
958 | can't find it itself, we stop here assuming that make wouldn't find | |
959 | them either.]) | |
960 | fi | |
961 | ||
962 | AC_MSG_CHECKING(for Xinerama) | |
963 | ||
964 | AC_ARG_WITH(xinerama, | |
965 | [ --with-xinerama enable support for Xinerama ], | |
966 | [ | |
967 | no_xinerama=no | |
968 | ], [ | |
969 | no_xinerama=yes | |
970 | ] | |
971 | ) | |
972 | ||
973 | kde_save_LDFLAGS="$LDFLAGS" | |
974 | kde_save_CFLAGS="$CFLAGS" | |
975 | kde_save_LIBS="$LIBS" | |
976 | LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS" | |
977 | CFLAGS="$CFLAGS -I$x_includes" | |
978 | LIBS="-lXinerama -lXext" | |
979 | ||
980 | if test "x$no_xinerama" = "xno"; then | |
981 | ||
982 | AC_CACHE_VAL(ac_cv_have_xinerama, | |
983 | [ | |
984 | AC_TRY_LINK([#include <X11/Xlib.h> | |
985 | #include <X11/extensions/Xinerama.h>], | |
986 | [XineramaIsActive(NULL);], | |
987 | [ac_cv_have_xinerama="yes"], | |
988 | [ac_cv_have_xinerama="no"]) | |
989 | ]) | |
990 | else | |
991 | ac_cv_have_xinerama=no; | |
992 | fi | |
993 | ||
994 | AC_MSG_RESULT($ac_cv_have_xinerama) | |
995 | ||
996 | LIBXINERAMA="" | |
997 | ||
998 | if test "$ac_cv_have_xinerama" = "yes"; then | |
999 | AC_DEFINE(HAVE_XINERAMA, 1, [Define if you want Xinerama support]) | |
1000 | LIBXINERAMA="-lXinerama" | |
1001 | fi | |
1002 | ||
1003 | AC_SUBST(LIBXINERAMA) | |
1004 | ||
1005 | LDFLAGS="$kde_save_LDFLAGS" | |
1006 | CFLAGS="$kde_save_CFLAGS" | |
1007 | LIBS="$kde_save_LIBS" | |
1008 | ||
1009 | LIB_XEXT="-lXext" | |
1010 | QTE_NORTTI="" | |
1011 | ||
1012 | else | |
1013 | dnl We're using QT Embedded | |
1014 | CPPFLAGS=-DQWS | |
1015 | CXXFLAGS="$CXXFLAGS -fno-rtti" | |
1016 | QTE_NORTTI="-fno-rtti -DQWS" | |
1017 | X_PRE_LIBS="" | |
1018 | LIB_X11="" | |
1019 | LIB_XEXT="" | |
1020 | LIBSM="" | |
1021 | X_INCLUDES="" | |
1022 | X_LDFLAGS="" | |
1023 | x_includes="" | |
1024 | x_libraries="" | |
1025 | AC_SUBST(X_PRE_LIBS) | |
1026 | AC_SUBST(LIB_X11) | |
1027 | AC_SUBST(LIBSM) | |
1028 | AC_SUBST(X_INCLUDES) | |
1029 | AC_SUBST(X_LDFLAGS) | |
1030 | AC_SUBST(x_includes) | |
1031 | AC_SUBST(x_libraries) | |
1032 | fi | |
1033 | AC_SUBST(QTE_NORTTI) | |
1034 | AC_SUBST(LIB_XEXT) | |
1035 | ||
1036 | ||
1037 | AC_LANG_RESTORE | |
1038 | ||
1039 | ]) | |
1040 | ||
1041 | AC_DEFUN(KDE_PRINT_QT_PROGRAM, | |
1042 | [ | |
1043 | AC_REQUIRE([KDE_USE_QT]) | |
1044 | cat > conftest.$ac_ext <<EOF | |
1045 | #include "confdefs.h" | |
1046 | #include <qglobal.h> | |
1047 | #include <qapplication.h> | |
1048 | EOF | |
1049 | if test "$kde_qtver" = "2"; then | |
1050 | cat >> conftest.$ac_ext <<EOF | |
1051 | #include <qevent.h> | |
1052 | #include <qstring.h> | |
1053 | #include <qstyle.h> | |
1054 | EOF | |
1055 | ||
1056 | if test $kde_qtsubver -gt 0; then | |
1057 | cat >> conftest.$ac_ext <<EOF | |
1058 | #if QT_VERSION < 210 | |
1059 | #error 1 | |
1060 | #endif | |
1061 | EOF | |
1062 | fi | |
1063 | fi | |
1064 | ||
1065 | if test "$kde_qtver" = "3"; then | |
1066 | cat >> conftest.$ac_ext <<EOF | |
1067 | #include <qcursor.h> | |
1068 | #include <qstylefactory.h> | |
1069 | #include <private/qucomextra_p.h> | |
1070 | EOF | |
1071 | fi | |
1072 | ||
1073 | echo "#if ! ($kde_qt_verstring)" >> conftest.$ac_ext | |
1074 | cat >> conftest.$ac_ext <<EOF | |
1075 | #error 1 | |
1076 | #endif | |
1077 | ||
1078 | int main() { | |
1079 | EOF | |
1080 | if test "$kde_qtver" = "2"; then | |
1081 | cat >> conftest.$ac_ext <<EOF | |
1082 | QStringList *t = new QStringList(); | |
1083 | Q_UNUSED(t); | |
1084 | EOF | |
1085 | if test $kde_qtsubver -gt 0; then | |
1086 | cat >> conftest.$ac_ext <<EOF | |
1087 | QString s; | |
1088 | s.setLatin1("Elvis is alive", 14); | |
1089 | EOF | |
1090 | fi | |
1091 | fi | |
1092 | if test "$kde_qtver" = "3"; then | |
1093 | cat >> conftest.$ac_ext <<EOF | |
1094 | (void)QStyleFactory::create(QString::null); | |
1095 | QCursor c(Qt::WhatsThisCursor); | |
1096 | EOF | |
1097 | fi | |
1098 | cat >> conftest.$ac_ext <<EOF | |
1099 | return 0; | |
1100 | } | |
1101 | EOF | |
1102 | ]) | |
1103 | ||
1104 | AC_DEFUN(KDE_USE_QT, | |
1105 | [ | |
1106 | if test -z "$1"; then | |
1107 | # Current default Qt version: 3.1 | |
1108 | kde_qtver=3 | |
1109 | kde_qtsubver=1 | |
1110 | else | |
1111 | kde_qtsubver=`echo "$1" | sed -e 's#[0-9][0-9]*\.\([0-9][0-9]*\).*#\1#'` | |
1112 | # following is the check if subversion isnt found in passed argument | |
1113 | if test "$kde_qtsubver" = "$1"; then | |
1114 | kde_qtsubver=1 | |
1115 | fi | |
1116 | kde_qtver=`echo "$1" | sed -e 's#^\([0-9][0-9]*\)\..*#\1#'` | |
1117 | if test "$kde_qtver" = "1"; then | |
1118 | kde_qtsubver=42 | |
1119 | fi | |
1120 | fi | |
1121 | ||
1122 | if test -z "$2"; then | |
1123 | if test "$kde_qtver" = "2"; then | |
1124 | if test $kde_qtsubver -gt 0; then | |
1125 | kde_qt_minversion=">= Qt 2.2.2" | |
1126 | else | |
1127 | kde_qt_minversion=">= Qt 2.0.2" | |
1128 | fi | |
1129 | fi | |
1130 | if test "$kde_qtver" = "3"; then | |
1131 | if test $kde_qtsubver -gt 0; then | |
1132 | kde_qt_minversion=">= Qt 3.1 (20021021)" | |
1133 | else | |
1134 | kde_qt_minversion=">= Qt 3.0" | |
1135 | fi | |
1136 | fi | |
1137 | if test "$kde_qtver" = "1"; then | |
1138 | kde_qt_minversion=">= 1.42 and < 2.0" | |
1139 | fi | |
1140 | else | |
1141 | kde_qt_minversion=$2 | |
1142 | fi | |
1143 | ||
1144 | if test -z "$3"; then | |
1145 | if test $kde_qtver = 3; then | |
1146 | if test $kde_qtsubver -gt 0; then | |
1147 | kde_qt_verstring="QT_VERSION >= 0x030100" | |
1148 | else | |
1149 | kde_qt_verstring="QT_VERSION >= 300" | |
1150 | fi | |
1151 | fi | |
1152 | if test $kde_qtver = 2; then | |
1153 | if test $kde_qtsubver -gt 0; then | |
1154 | kde_qt_verstring="QT_VERSION >= 222" | |
1155 | else | |
1156 | kde_qt_verstring="QT_VERSION >= 200" | |
1157 | fi | |
1158 | fi | |
1159 | if test $kde_qtver = 1; then | |
1160 | kde_qt_verstring="QT_VERSION >= 142 && QT_VERSION < 200" | |
1161 | fi | |
1162 | else | |
1163 | kde_qt_verstring=$3 | |
1164 | fi | |
1165 | ||
1166 | if test $kde_qtver = 3; then | |
1167 | kde_qt_dirs="$QTDIR /usr/lib/qt3 /usr/lib/qt" | |
1168 | fi | |
1169 | if test $kde_qtver = 2; then | |
1170 | kde_qt_dirs="$QTDIR /usr/lib/qt2 /usr/lib/qt" | |
1171 | fi | |
1172 | if test $kde_qtver = 1; then | |
1173 | kde_qt_dirs="$QTDIR /usr/lib/qt" | |
1174 | fi | |
1175 | ]) | |
1176 | ||
1177 | AC_DEFUN(KDE_CHECK_QT_DIRECT, | |
1178 | [ | |
1179 | AC_REQUIRE([KDE_USE_QT]) | |
1180 | AC_MSG_CHECKING([if Qt compiles without flags]) | |
1181 | AC_CACHE_VAL(kde_cv_qt_direct, | |
1182 | [ | |
1183 | AC_LANG_SAVE | |
1184 | AC_LANG_CPLUSPLUS | |
1185 | ac_LD_LIBRARY_PATH_safe=$LD_LIBRARY_PATH | |
1186 | ac_LIBRARY_PATH="$LIBRARY_PATH" | |
1187 | ac_cxxflags_safe="$CXXFLAGS" | |
1188 | ac_ldflags_safe="$LDFLAGS" | |
1189 | ac_libs_safe="$LIBS" | |
1190 | ||
1191 | CXXFLAGS="$CXXFLAGS -I$qt_includes" | |
1192 | LDFLAGS="$LDFLAGS $X_LDFLAGS" | |
1193 | if test "x$kde_use_qt_emb" != "xyes"; then | |
1194 | LIBS="$LIBQT -lXext -lX11 $LIBSOCKET" | |
1195 | else | |
1196 | LIBS="$LIBQT $LIBSOCKET" | |
1197 | fi | |
1198 | LD_LIBRARY_PATH= | |
1199 | export LD_LIBRARY_PATH | |
1200 | LIBRARY_PATH= | |
1201 | export LIBRARY_PATH | |
1202 | ||
1203 | KDE_PRINT_QT_PROGRAM | |
1204 | ||
1205 | if AC_TRY_EVAL(ac_link) && test -s conftest; then | |
1206 | kde_cv_qt_direct="yes" | |
1207 | else | |
1208 | kde_cv_qt_direct="no" | |
1209 | echo "configure: failed program was:" >&AC_FD_CC | |
1210 | cat conftest.$ac_ext >&AC_FD_CC | |
1211 | fi | |
1212 | ||
1213 | rm -f conftest* | |
1214 | CXXFLAGS="$ac_cxxflags_safe" | |
1215 | LDFLAGS="$ac_ldflags_safe" | |
1216 | LIBS="$ac_libs_safe" | |
1217 | ||
1218 | LD_LIBRARY_PATH="$ac_LD_LIBRARY_PATH_safe" | |
1219 | export LD_LIBRARY_PATH | |
1220 | LIBRARY_PATH="$ac_LIBRARY_PATH" | |
1221 | export LIBRARY_PATH | |
1222 | AC_LANG_RESTORE | |
1223 | ]) | |
1224 | ||
1225 | if test "$kde_cv_qt_direct" = "yes"; then | |
1226 | AC_MSG_RESULT(yes) | |
1227 | $1 | |
1228 | else | |
1229 | AC_MSG_RESULT(no) | |
1230 | $2 | |
1231 | fi | |
1232 | ]) | |
1233 | ||
1234 | dnl ------------------------------------------------------------------------ | |
1235 | dnl Try to find the Qt headers and libraries. | |
1236 | dnl $(QT_LDFLAGS) will be -Lqtliblocation (if needed) | |
1237 | dnl and $(QT_INCLUDES) will be -Iqthdrlocation (if needed) | |
1238 | dnl ------------------------------------------------------------------------ | |
1239 | dnl | |
1240 | AC_DEFUN(AC_PATH_QT_1_3, | |
1241 | [ | |
1242 | AC_REQUIRE([K_PATH_X]) | |
1243 | AC_REQUIRE([KDE_USE_QT]) | |
1244 | AC_REQUIRE([KDE_CHECK_LIB64]) | |
1245 | ||
1246 | dnl ------------------------------------------------------------------------ | |
1247 | dnl Add configure flag to enable linking to MT version of Qt library. | |
1248 | dnl ------------------------------------------------------------------------ | |
1249 | ||
1250 | AC_ARG_ENABLE( | |
1251 | mt, | |
1252 | [ --disable-mt link to non-threaded Qt (deprecated)], | |
1253 | kde_use_qt_mt=$enableval, | |
1254 | [ | |
1255 | if test $kde_qtver = 3; then | |
1256 | kde_use_qt_mt=yes | |
1257 | else | |
1258 | kde_use_qt_mt=no | |
1259 | fi | |
1260 | ] | |
1261 | ) | |
1262 | ||
1263 | USING_QT_MT="" | |
1264 | ||
1265 | dnl ------------------------------------------------------------------------ | |
1266 | dnl If we not get --disable-qt-mt then adjust some vars for the host. | |
1267 | dnl ------------------------------------------------------------------------ | |
1268 | ||
1269 | KDE_MT_LDFLAGS= | |
1270 | KDE_MT_LIBS= | |
1271 | if test "x$kde_use_qt_mt" = "xyes"; then | |
1272 | KDE_CHECK_THREADING | |
1273 | if test "x$kde_use_threading" = "xyes"; then | |
1274 | CPPFLAGS="$USE_THREADS -DQT_THREAD_SUPPORT $CPPFLAGS" | |
1275 | KDE_MT_LDFLAGS="$USE_THREADS" | |
1276 | KDE_MT_LIBS="$LIBPTHREAD" | |
1277 | else | |
1278 | kde_use_qt_mt=no | |
1279 | fi | |
1280 | fi | |
1281 | AC_SUBST(KDE_MT_LDFLAGS) | |
1282 | AC_SUBST(KDE_MT_LIBS) | |
1283 | ||
1284 | kde_qt_was_given=yes | |
1285 | ||
1286 | dnl ------------------------------------------------------------------------ | |
1287 | dnl If we haven't been told how to link to Qt, we work it out for ourselves. | |
1288 | dnl ------------------------------------------------------------------------ | |
1289 | if test -z "$LIBQT_GLOB"; then | |
1290 | if test "x$kde_use_qt_emb" = "xyes"; then | |
1291 | LIBQT_GLOB="libqte.*" | |
1292 | else | |
1293 | LIBQT_GLOB="libqt.*" | |
1294 | fi | |
1295 | fi | |
1296 | ||
1297 | if test -z "$LIBQT"; then | |
1298 | dnl ------------------------------------------------------------ | |
1299 | dnl If we got --enable-embedded then adjust the Qt library name. | |
1300 | dnl ------------------------------------------------------------ | |
1301 | if test "x$kde_use_qt_emb" = "xyes"; then | |
1302 | qtlib="qte" | |
1303 | else | |
1304 | qtlib="qt" | |
1305 | fi | |
1306 | ||
1307 | kde_int_qt="-l$qtlib" | |
1308 | else | |
1309 | kde_int_qt="$LIBQT" | |
1310 | kde_lib_qt_set=yes | |
1311 | fi | |
1312 | ||
1313 | if test -z "$LIBQPE"; then | |
1314 | dnl ------------------------------------------------------------ | |
1315 | dnl If we got --enable-palmtop then add -lqpe to the link line | |
1316 | dnl ------------------------------------------------------------ | |
1317 | if test "x$kde_use_qt_emb" = "xyes"; then | |
1318 | if test "x$kde_use_qt_emb_palm" = "xyes"; then | |
1319 | LIB_QPE="-lqpe" | |
1320 | else | |
1321 | LIB_QPE="" | |
1322 | fi | |
1323 | else | |
1324 | LIB_QPE="" | |
1325 | fi | |
1326 | fi | |
1327 | ||
1328 | dnl ------------------------------------------------------------------------ | |
1329 | dnl If we got --enable-qt-mt then adjust the Qt library name for the host. | |
1330 | dnl ------------------------------------------------------------------------ | |
1331 | ||
1332 | if test "x$kde_use_qt_mt" = "xyes"; then | |
1333 | if test -z "$LIBQT"; then | |
1334 | LIBQT="-l$qtlib-mt" | |
1335 | kde_int_qt="-l$qtlib-mt" | |
1336 | else | |
1337 | LIBQT="$qtlib-mt" | |
1338 | kde_int_qt="$qtlib-mt" | |
1339 | fi | |
1340 | LIBQT_GLOB="lib$qtlib-mt.*" | |
1341 | USING_QT_MT="using -mt" | |
1342 | else | |
1343 | LIBQT="-l$qtlib" | |
1344 | fi | |
1345 | ||
1346 | if test $kde_qtver != 1; then | |
1347 | ||
1348 | AC_REQUIRE([AC_FIND_PNG]) | |
1349 | AC_REQUIRE([AC_FIND_JPEG]) | |
1350 | LIBQT="$LIBQT $LIBPNG $LIBJPEG" | |
1351 | fi | |
1352 | ||
1353 | if test $kde_qtver = 3; then | |
1354 | AC_REQUIRE([KDE_CHECK_LIBDL]) | |
1355 | LIBQT="$LIBQT $LIBDL" | |
1356 | fi | |
1357 | ||
1358 | AC_MSG_CHECKING([for Qt]) | |
1359 | ||
1360 | if test "x$kde_use_qt_emb" != "xyes"; then | |
1361 | LIBQT="$LIBQT $X_PRE_LIBS -lXext -lX11 $LIBSM $LIBSOCKET" | |
1362 | fi | |
1363 | ac_qt_includes=NO ac_qt_libraries=NO ac_qt_bindir=NO | |
1364 | qt_libraries="" | |
1365 | qt_includes="" | |
1366 | AC_ARG_WITH(qt-dir, | |
1367 | [ --with-qt-dir=DIR where the root of Qt is installed ], | |
1368 | [ ac_qt_includes="$withval"/include | |
1369 | ac_qt_libraries="$withval"/lib${kdelibsuff} | |
1370 | ac_qt_bindir="$withval"/bin | |
1371 | ]) | |
1372 | ||
1373 | AC_ARG_WITH(qt-includes, | |
1374 | [ --with-qt-includes=DIR where the Qt includes are. ], | |
1375 | [ | |
1376 | ac_qt_includes="$withval" | |
1377 | ]) | |
1378 | ||
1379 | kde_qt_libs_given=no | |
1380 | ||
1381 | AC_ARG_WITH(qt-libraries, | |
1382 | [ --with-qt-libraries=DIR where the Qt library is installed.], | |
1383 | [ ac_qt_libraries="$withval" | |
1384 | kde_qt_libs_given=yes | |
1385 | ]) | |
1386 | ||
1387 | AC_CACHE_VAL(ac_cv_have_qt, | |
1388 | [#try to guess Qt locations | |
1389 | ||
1390 | qt_incdirs="" | |
1391 | for dir in $kde_qt_dirs; do | |
1392 | qt_incdirs="$qt_incdirs $dir/include $dir" | |
1393 | done | |
1394 | qt_incdirs="$QTINC $qt_incdirs /usr/local/qt/include /usr/include/qt /usr/include /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/X11R6/include/qt2 $x_includes" | |
1395 | if test ! "$ac_qt_includes" = "NO"; then | |
1396 | qt_incdirs="$ac_qt_includes $qt_incdirs" | |
1397 | fi | |
1398 | ||
1399 | if test "$kde_qtver" != "1"; then | |
1400 | kde_qt_header=qstyle.h | |
1401 | else | |
1402 | kde_qt_header=qglobal.h | |
1403 | fi | |
1404 | ||
1405 | AC_FIND_FILE($kde_qt_header, $qt_incdirs, qt_incdir) | |
1406 | ac_qt_includes="$qt_incdir" | |
1407 | ||
1408 | qt_libdirs="" | |
1409 | for dir in $kde_qt_dirs; do | |
1410 | qt_libdirs="$qt_libdirs $dir/lib${kdelibsuff} $dir" | |
1411 | done | |
1412 | qt_libdirs="$QTLIB $qt_libdirs /usr/X11R6/lib /usr/lib /usr/local/qt/lib $x_libraries" | |
1413 | if test ! "$ac_qt_libraries" = "NO"; then | |
1414 | qt_libdir=$ac_qt_libraries | |
1415 | else | |
1416 | qt_libdirs="$ac_qt_libraries $qt_libdirs" | |
1417 | # if the Qt was given, the chance is too big that libqt.* doesn't exist | |
1418 | qt_libdir=NONE | |
1419 | for dir in $qt_libdirs; do | |
1420 | try="ls -1 $dir/${LIBQT_GLOB}" | |
1421 | if test -n "`$try 2> /dev/null`"; then qt_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi | |
1422 | done | |
1423 | fi | |
1424 | ||
1425 | ac_qt_libraries="$qt_libdir" | |
1426 | ||
1427 | AC_LANG_SAVE | |
1428 | AC_LANG_CPLUSPLUS | |
1429 | ||
1430 | ac_cxxflags_safe="$CXXFLAGS" | |
1431 | ac_ldflags_safe="$LDFLAGS" | |
1432 | ac_libs_safe="$LIBS" | |
1433 | ||
1434 | CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" | |
1435 | LDFLAGS="$LDFLAGS -L$qt_libdir $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" | |
1436 | LIBS="$LIBS $LIBQT $KDE_MT_LIBS" | |
1437 | ||
1438 | KDE_PRINT_QT_PROGRAM | |
1439 | ||
1440 | if AC_TRY_EVAL(ac_link) && test -s conftest; then | |
1441 | rm -f conftest* | |
1442 | else | |
1443 | echo "configure: failed program was:" >&AC_FD_CC | |
1444 | cat conftest.$ac_ext >&AC_FD_CC | |
1445 | ac_qt_libraries="NO" | |
1446 | fi | |
1447 | rm -f conftest* | |
1448 | CXXFLAGS="$ac_cxxflags_safe" | |
1449 | LDFLAGS="$ac_ldflags_safe" | |
1450 | LIBS="$ac_libs_safe" | |
1451 | ||
1452 | AC_LANG_RESTORE | |
1453 | if test "$ac_qt_includes" = NO || test "$ac_qt_libraries" = NO; then | |
1454 | ac_cv_have_qt="have_qt=no" | |
1455 | ac_qt_notfound="" | |
1456 | missing_qt_mt="" | |
1457 | if test "$ac_qt_includes" = NO; then | |
1458 | if test "$ac_qt_libraries" = NO; then | |
1459 | ac_qt_notfound="(headers and libraries)"; | |
1460 | else | |
1461 | ac_qt_notfound="(headers)"; | |
1462 | fi | |
1463 | else | |
1464 | if test "x$kde_use_qt_mt" = "xyes"; then | |
1465 | missing_qt_mt=" | |
1466 | Make sure that you have compiled Qt with thread support!" | |
1467 | ac_qt_notfound="(library $qtlib-mt)"; | |
1468 | else | |
1469 | ac_qt_notfound="(library $qtlib)"; | |
1470 | fi | |
1471 | fi | |
1472 | ||
1473 | AC_MSG_ERROR([Qt ($kde_qt_minversion) $ac_qt_notfound not found. Please check your installation! | |
1474 | For more details about this problem, look at the end of config.log.$missing_qt_mt]) | |
1475 | else | |
1476 | have_qt="yes" | |
1477 | fi | |
1478 | ]) | |
1479 | ||
1480 | eval "$ac_cv_have_qt" | |
1481 | ||
1482 | if test "$have_qt" != yes; then | |
1483 | AC_MSG_RESULT([$have_qt]); | |
1484 | else | |
1485 | ac_cv_have_qt="have_qt=yes \ | |
1486 | ac_qt_includes=$ac_qt_includes ac_qt_libraries=$ac_qt_libraries" | |
1487 | AC_MSG_RESULT([libraries $ac_qt_libraries, headers $ac_qt_includes $USING_QT_MT]) | |
1488 | ||
1489 | qt_libraries="$ac_qt_libraries" | |
1490 | qt_includes="$ac_qt_includes" | |
1491 | fi | |
1492 | ||
1493 | if test ! "$kde_qt_libs_given" = "yes"; then | |
1494 | KDE_CHECK_QT_DIRECT(qt_libraries= ,[]) | |
1495 | fi | |
1496 | ||
1497 | AC_SUBST(qt_libraries) | |
1498 | AC_SUBST(qt_includes) | |
1499 | ||
1500 | if test "$qt_includes" = "$x_includes" || test -z "$qt_includes"; then | |
1501 | QT_INCLUDES="" | |
1502 | else | |
1503 | QT_INCLUDES="-I$qt_includes" | |
1504 | all_includes="$QT_INCLUDES $all_includes" | |
1505 | fi | |
1506 | ||
1507 | if test "$qt_libraries" = "$x_libraries" || test -z "$qt_libraries"; then | |
1508 | QT_LDFLAGS="" | |
1509 | else | |
1510 | QT_LDFLAGS="-L$qt_libraries" | |
1511 | all_libraries="$all_libraries $QT_LDFLAGS" | |
1512 | fi | |
1513 | test -z "$KDE_MT_LDFLAGS" || all_libraries="$all_libraries $KDE_MT_LDFLAGS" | |
1514 | ||
1515 | AC_SUBST(QT_INCLUDES) | |
1516 | AC_SUBST(QT_LDFLAGS) | |
1517 | AC_PATH_QT_MOC_UIC | |
1518 | ||
1519 | KDE_CHECK_QT_JPEG | |
1520 | ||
1521 | if test "x$kde_use_qt_emb" != "xyes"; then | |
1522 | LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG) -lXext $(LIB_X11) $(LIBSM)' | |
1523 | else | |
1524 | LIB_QT="$kde_int_qt $LIBJPEG_QT "'$(LIBPNG)' | |
1525 | fi | |
1526 | test -z "$KDE_MT_LIBS" || LIB_QT="$LIB_QT $KDE_MT_LIBS" | |
1527 | ||
1528 | AC_SUBST(LIB_QT) | |
1529 | AC_SUBST(LIB_QPE) | |
1530 | ||
1531 | AC_SUBST(kde_qtver) | |
1532 | ]) | |
1533 | ||
1534 | AC_DEFUN(AC_PATH_QT, | |
1535 | [ | |
1536 | AC_PATH_QT_1_3 | |
1537 | ]) | |
1538 | ||
1539 | AC_DEFUN(KDE_CHECK_UIC_PLUGINS, | |
1540 | [ | |
1541 | AC_REQUIRE([AC_PATH_QT_MOC_UIC]) | |
1542 | ||
1543 | if test x$ac_uic_supports_libpath = xyes; then | |
1544 | ||
1545 | AC_MSG_CHECKING([if UIC has KDE plugins available]) | |
1546 | AC_CACHE_VAL(kde_cv_uic_plugins, | |
1547 | [ | |
1548 | cat > actest.ui << EOF | |
1549 | <!DOCTYPE UI><UI version="3.0" stdsetdef="1"> | |
1550 | <class>NewConnectionDialog</class> | |
1551 | <widget class="QDialog"> | |
1552 | <widget class="KLineEdit"> | |
1553 | <property name="name"> | |
1554 | <cstring>testInput</cstring> | |
1555 | </property> | |
1556 | </widget> | |
1557 | </widget> | |
1558 | </UI> | |
1559 | EOF | |
1560 | ||
1561 | ||
1562 | ||
1563 | kde_cv_uic_plugins=no | |
1564 | kde_line="$UIC_PATH -L $kde_widgetdir" | |
1565 | if test x$ac_uic_supports_nounload = xyes; then | |
1566 | kde_line="$kde_line -nounload" | |
1567 | fi | |
1568 | kde_line="$kde_line -impl actest.h actest.ui > actest.cpp" | |
1569 | if AC_TRY_EVAL(kde_line); then | |
1570 | if test -f actest.cpp && grep klineedit actest.cpp > /dev/null; then | |
1571 | kde_cv_uic_plugins=yes | |
1572 | fi | |
1573 | fi | |
1574 | rm -f actest.ui actest.cpp | |
1575 | ]) | |
1576 | ||
1577 | if test "$kde_cv_uic_plugins" = yes; then | |
1578 | AC_MSG_RESULT([yes]) | |
1579 | else | |
1580 | AC_MSG_ERROR([not found - you need to install kdelibs first.]) | |
1581 | fi | |
1582 | fi | |
1583 | ]) | |
1584 | ||
1585 | AC_DEFUN(KDE_CHECK_FINAL, | |
1586 | [ | |
1587 | AC_ARG_ENABLE(final, [ --enable-final build size optimized apps (experimental - needs lots of memory)], | |
1588 | kde_use_final=$enableval, kde_use_final=no) | |
1589 | ||
1590 | KDE_COMPILER_REPO | |
1591 | if test "x$kde_use_final" = "xyes"; then | |
1592 | KDE_USE_FINAL_TRUE="" | |
1593 | KDE_USE_FINAL_FALSE="#" | |
1594 | else | |
1595 | KDE_USE_FINAL_TRUE="#" | |
1596 | KDE_USE_FINAL_FALSE="" | |
1597 | fi | |
1598 | AC_SUBST(KDE_USE_FINAL_TRUE) | |
1599 | AC_SUBST(KDE_USE_FINAL_FALSE) | |
1600 | ||
1601 | AC_ARG_ENABLE(closure, [ --disable-closure don't delay template instantiation], | |
1602 | kde_use_closure=$enableval, kde_use_closure=yes) | |
1603 | ||
1604 | if test "x$kde_use_closure" = "xyes"; then | |
1605 | KDE_USE_CLOSURE_TRUE="" | |
1606 | KDE_USE_CLOSURE_FALSE="#" | |
1607 | # CXXFLAGS="$CXXFLAGS $REPO" | |
1608 | else | |
1609 | KDE_USE_CLOSURE_TRUE="#" | |
1610 | KDE_USE_CLOSURE_FALSE="" | |
1611 | fi | |
1612 | AC_SUBST(KDE_USE_CLOSURE_TRUE) | |
1613 | AC_SUBST(KDE_USE_CLOSURE_FALSE) | |
1614 | ]) | |
1615 | ||
1616 | dnl ------------------------------------------------------------------------ | |
1617 | dnl Now, the same with KDE | |
1618 | dnl $(KDE_LDFLAGS) will be the kdeliblocation (if needed) | |
1619 | dnl and $(kde_includes) will be the kdehdrlocation (if needed) | |
1620 | dnl ------------------------------------------------------------------------ | |
1621 | dnl | |
1622 | AC_DEFUN(AC_BASE_PATH_KDE, | |
1623 | [ | |
1624 | AC_PREREQ([2.13]) | |
1625 | AC_REQUIRE([AC_PATH_QT])dnl | |
1626 | AC_REQUIRE([KDE_CHECK_LIB64]) | |
1627 | ||
1628 | AC_CHECK_RPATH | |
1629 | AC_MSG_CHECKING([for KDE]) | |
1630 | ||
1631 | if test "${prefix}" != NONE; then | |
1632 | kde_includes=${prefix}/include | |
1633 | ac_kde_includes=$prefix/include | |
1634 | ||
1635 | if test "${exec_prefix}" != NONE; then | |
1636 | kde_libraries=${libdir} | |
1637 | ac_kde_libraries=$libdir | |
1638 | if test "$ac_kde_libraries" = '${exec_prefix}/lib'${kdelibsuff}; then | |
1639 | ac_kde_libraries=$exec_prefix/lib${kdelibsuff} | |
1640 | fi | |
1641 | else | |
1642 | kde_libraries=${prefix}/lib${kdelibsuff} | |
1643 | ac_kde_libraries=$prefix/lib${kdelibsuff} | |
1644 | fi | |
1645 | else | |
1646 | ac_kde_includes= | |
1647 | ac_kde_libraries= | |
1648 | kde_libraries="" | |
1649 | kde_includes="" | |
1650 | fi | |
1651 | ||
1652 | AC_CACHE_VAL(ac_cv_have_kde, | |
1653 | [#try to guess kde locations | |
1654 | ||
1655 | if test "$kde_qtver" = 1; then | |
1656 | kde_check_header="ksock.h" | |
1657 | kde_check_lib="libkdecore.la" | |
1658 | else | |
1659 | kde_check_header="ksharedptr.h" | |
1660 | kde_check_lib="libkio.la" | |
1661 | fi | |
1662 | ||
1663 | if test -z "$1"; then | |
1664 | ||
1665 | kde_incdirs="/usr/lib/kde/include /usr/local/kde/include /usr/local/include /usr/kde/include /usr/include/kde /usr/include /opt/kde3/include /opt/kde/include $x_includes $qt_includes" | |
1666 | test -n "$KDEDIR" && kde_incdirs="$KDEDIR/include $KDEDIR/include/kde $KDEDIR $kde_incdirs" | |
1667 | kde_incdirs="$ac_kde_includes $kde_incdirs" | |
1668 | AC_FIND_FILE($kde_check_header, $kde_incdirs, kde_incdir) | |
1669 | ac_kde_includes="$kde_incdir" | |
1670 | ||
1671 | if test -n "$ac_kde_includes" && test ! -r "$ac_kde_includes/$kde_check_header"; then | |
1672 | AC_MSG_ERROR([ | |
1673 | in the prefix, you've chosen, are no KDE headers installed. This will fail. | |
1674 | So, check this please and use another prefix!]) | |
1675 | fi | |
1676 | ||
1677 | kde_libdirs="/usr/lib/kde/lib${kdelibsuff} /usr/local/kde/lib${kdelibsuff} /usr/kde/lib${kdelibsuff} /usr/lib${kdelibsuff}/kde /usr/lib${kdelibsuff}/kde3 /usr/lib${kdelibsuff} /usr/X11R6/lib${kdelibsuff} /usr/local/lib${kdelibsuff} /opt/kde3/lib${kdelibsuff} /opt/kde/lib${kdelibsuff} /usr/X11R6/kde/lib${kdelibsuff}" | |
1678 | test -n "$KDEDIR" && kde_libdirs="$KDEDIR/lib${kdelibsuff} $KDEDIR $kde_libdirs" | |
1679 | kde_libdirs="$ac_kde_libraries $libdir $kde_libdirs" | |
1680 | AC_FIND_FILE($kde_check_lib, $kde_libdirs, kde_libdir) | |
1681 | ac_kde_libraries="$kde_libdir" | |
1682 | ||
1683 | kde_widgetdir=NO | |
1684 | dnl this might be somewhere else | |
1685 | AC_FIND_FILE("kde3/plugins/designer/kdewidgets.la", $kde_libdirs, kde_widgetdir) | |
1686 | ||
1687 | if test -n "$ac_kde_libraries" && test ! -r "$ac_kde_libraries/$kde_check_lib"; then | |
1688 | AC_MSG_ERROR([ | |
1689 | in the prefix, you've chosen, are no KDE libraries installed. This will fail. | |
1690 | So, check this please and use another prefix!]) | |
1691 | fi | |
1692 | ||
1693 | if test -n "$kde_widgetdir" && test ! -r "$kde_widgetdir/kde3/plugins/designer/kdewidgets.la"; then | |
1694 | AC_MSG_ERROR([ | |
1695 | I can't find the designer plugins. These are required and should have been installed | |
1696 | by kdelibs]) | |
1697 | fi | |
1698 | ||
1699 | if test -n "$kde_widgetdir"; then | |
1700 | kde_widgetdir="$kde_widgetdir/kde3/plugins/designer" | |
1701 | fi | |
1702 | ||
1703 | ||
1704 | if test "$ac_kde_includes" = NO || test "$ac_kde_libraries" = NO || test "$kde_widgetdir" = NO; then | |
1705 | ac_cv_have_kde="have_kde=no" | |
1706 | else | |
1707 | ac_cv_have_kde="have_kde=yes \ | |
1708 | ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" | |
1709 | fi | |
1710 | ||
1711 | else dnl test -z $1 | |
1712 | ||
1713 | ac_cv_have_kde="have_kde=no" | |
1714 | ||
1715 | fi | |
1716 | ])dnl | |
1717 | ||
1718 | eval "$ac_cv_have_kde" | |
1719 | ||
1720 | if test "$have_kde" != "yes"; then | |
1721 | if test "${prefix}" = NONE; then | |
1722 | ac_kde_prefix="$ac_default_prefix" | |
1723 | else | |
1724 | ac_kde_prefix="$prefix" | |
1725 | fi | |
1726 | if test "$exec_prefix" = NONE; then | |
1727 | ac_kde_exec_prefix="$ac_kde_prefix" | |
1728 | AC_MSG_RESULT([will be installed in $ac_kde_prefix]) | |
1729 | else | |
1730 | ac_kde_exec_prefix="$exec_prefix" | |
1731 | AC_MSG_RESULT([will be installed in $ac_kde_prefix and $ac_kde_exec_prefix]) | |
1732 | fi | |
1733 | ||
1734 | kde_libraries="${libdir}" | |
1735 | kde_includes=${ac_kde_prefix}/include | |
1736 | ||
1737 | else | |
1738 | ac_cv_have_kde="have_kde=yes \ | |
1739 | ac_kde_includes=$ac_kde_includes ac_kde_libraries=$ac_kde_libraries" | |
1740 | AC_MSG_RESULT([libraries $ac_kde_libraries, headers $ac_kde_includes]) | |
1741 | ||
1742 | kde_libraries="$ac_kde_libraries" | |
1743 | kde_includes="$ac_kde_includes" | |
1744 | fi | |
1745 | AC_SUBST(kde_libraries) | |
1746 | AC_SUBST(kde_includes) | |
1747 | ||
1748 | if test "$kde_includes" = "$x_includes" || test "$kde_includes" = "$qt_includes" || test "$kde_includes" = "/usr/include"; then | |
1749 | KDE_INCLUDES="" | |
1750 | else | |
1751 | KDE_INCLUDES="-I$kde_includes" | |
1752 | all_includes="$KDE_INCLUDES $all_includes" | |
1753 | fi | |
1754 | ||
1755 | KDE_LDFLAGS="-L$kde_libraries" | |
1756 | if test ! "$kde_libraries" = "$x_libraries" && test ! "$kde_libraries" = "$qt_libraries" ; then | |
1757 | all_libraries="$all_libraries $KDE_LDFLAGS" | |
1758 | fi | |
1759 | ||
1760 | AC_SUBST(KDE_LDFLAGS) | |
1761 | AC_SUBST(KDE_INCLUDES) | |
1762 | ||
1763 | AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) | |
1764 | ||
1765 | all_libraries="$all_libraries $USER_LDFLAGS" | |
1766 | all_includes="$all_includes $USER_INCLUDES" | |
1767 | AC_SUBST(all_includes) | |
1768 | AC_SUBST(all_libraries) | |
1769 | ||
1770 | if test -z "$1"; then | |
1771 | KDE_CHECK_UIC_PLUGINS | |
1772 | fi | |
1773 | ||
1774 | ac_kde_libraries="$kde_libdir" | |
1775 | ||
1776 | AC_SUBST(AUTODIRS) | |
1777 | ||
1778 | ||
1779 | ]) | |
1780 | ||
1781 | AC_DEFUN(KDE_CHECK_EXTRA_LIBS, | |
1782 | [ | |
1783 | AC_MSG_CHECKING(for extra includes) | |
1784 | AC_ARG_WITH(extra-includes, [ --with-extra-includes=DIR | |
1785 | adds non standard include paths], | |
1786 | kde_use_extra_includes="$withval", | |
1787 | kde_use_extra_includes=NONE | |
1788 | ) | |
1789 | kde_extra_includes= | |
1790 | if test -n "$kde_use_extra_includes" && \ | |
1791 | test "$kde_use_extra_includes" != "NONE"; then | |
1792 | ||
1793 | ac_save_ifs=$IFS | |
1794 | IFS=':' | |
1795 | for dir in $kde_use_extra_includes; do | |
1796 | kde_extra_includes="$kde_extra_includes $dir" | |
1797 | USER_INCLUDES="$USER_INCLUDES -I$dir" | |
1798 | done | |
1799 | IFS=$ac_save_ifs | |
1800 | kde_use_extra_includes="added" | |
1801 | else | |
1802 | kde_use_extra_includes="no" | |
1803 | fi | |
1804 | AC_SUBST(USER_INCLUDES) | |
1805 | ||
1806 | AC_MSG_RESULT($kde_use_extra_includes) | |
1807 | ||
1808 | kde_extra_libs= | |
1809 | AC_MSG_CHECKING(for extra libs) | |
1810 | AC_ARG_WITH(extra-libs, [ --with-extra-libs=DIR adds non standard library paths], | |
1811 | kde_use_extra_libs=$withval, | |
1812 | kde_use_extra_libs=NONE | |
1813 | ) | |
1814 | if test -n "$kde_use_extra_libs" && \ | |
1815 | test "$kde_use_extra_libs" != "NONE"; then | |
1816 | ||
1817 | ac_save_ifs=$IFS | |
1818 | IFS=':' | |
1819 | for dir in $kde_use_extra_libs; do | |
1820 | kde_extra_libs="$kde_extra_libs $dir" | |
1821 | KDE_EXTRA_RPATH="$KDE_EXTRA_RPATH -R $dir" | |
1822 | USER_LDFLAGS="$USER_LDFLAGS -L$dir" | |
1823 | done | |
1824 | IFS=$ac_save_ifs | |
1825 | kde_use_extra_libs="added" | |
1826 | else | |
1827 | kde_use_extra_libs="no" | |
1828 | fi | |
1829 | ||
1830 | AC_SUBST(USER_LDFLAGS) | |
1831 | ||
1832 | AC_MSG_RESULT($kde_use_extra_libs) | |
1833 | ||
1834 | ]) | |
1835 | ||
1836 | AC_DEFUN(KDE_1_CHECK_PATH_HEADERS, | |
1837 | [ | |
1838 | AC_MSG_CHECKING([for KDE headers installed]) | |
1839 | AC_LANG_SAVE | |
1840 | AC_LANG_CPLUSPLUS | |
1841 | cat > conftest.$ac_ext <<EOF | |
1842 | #ifdef STDC_HEADERS | |
1843 | # include <stdlib.h> | |
1844 | #endif | |
1845 | #include <stdio.h> | |
1846 | #include "confdefs.h" | |
1847 | #include <kapp.h> | |
1848 | ||
1849 | int main() { | |
1850 | printf("kde_htmldir=\\"%s\\"\n", KApplication::kde_htmldir().data()); | |
1851 | printf("kde_appsdir=\\"%s\\"\n", KApplication::kde_appsdir().data()); | |
1852 | printf("kde_icondir=\\"%s\\"\n", KApplication::kde_icondir().data()); | |
1853 | printf("kde_sounddir=\\"%s\\"\n", KApplication::kde_sounddir().data()); | |
1854 | printf("kde_datadir=\\"%s\\"\n", KApplication::kde_datadir().data()); | |
1855 | printf("kde_locale=\\"%s\\"\n", KApplication::kde_localedir().data()); | |
1856 | printf("kde_cgidir=\\"%s\\"\n", KApplication::kde_cgidir().data()); | |
1857 | printf("kde_confdir=\\"%s\\"\n", KApplication::kde_configdir().data()); | |
1858 | printf("kde_mimedir=\\"%s\\"\n", KApplication::kde_mimedir().data()); | |
1859 | printf("kde_toolbardir=\\"%s\\"\n", KApplication::kde_toolbardir().data()); | |
1860 | printf("kde_wallpaperdir=\\"%s\\"\n", | |
1861 | KApplication::kde_wallpaperdir().data()); | |
1862 | printf("kde_bindir=\\"%s\\"\n", KApplication::kde_bindir().data()); | |
1863 | printf("kde_partsdir=\\"%s\\"\n", KApplication::kde_partsdir().data()); | |
1864 | printf("kde_servicesdir=\\"/tmp/dummy\\"\n"); | |
1865 | printf("kde_servicetypesdir=\\"/tmp/dummy\\"\n"); | |
1866 | printf("kde_moduledir=\\"/tmp/dummy\\"\n"); | |
1867 | printf("kde_styledir=\\"/tmp/dummy\\"\n"); | |
1868 | printf("kde_widgetdir=\\"/tmp/dummy\\"\n"); | |
1869 | return 0; | |
1870 | } | |
1871 | EOF | |
1872 | ||
1873 | ac_compile='${CXX-g++} -c $CXXFLAGS $all_includes $CPPFLAGS conftest.$ac_ext' | |
1874 | if AC_TRY_EVAL(ac_compile); then | |
1875 | AC_MSG_RESULT(yes) | |
1876 | else | |
1877 | AC_MSG_ERROR([your system is not able to compile a small KDE application! | |
1878 | Check, if you installed the KDE header files correctly. | |
1879 | For more details about this problem, look at the end of config.log.]) | |
1880 | fi | |
1881 | ||
1882 | AC_LANG_RESTORE | |
1883 | ]) | |
1884 | ||
1885 | AC_DEFUN(KDE_CHECK_KDEQTADDON, | |
1886 | [ | |
1887 | AC_MSG_CHECKING(for kde-qt-addon) | |
1888 | AC_CACHE_VAL(kde_cv_have_kdeqtaddon, | |
1889 | [ | |
1890 | kde_ldflags_safe="$LDFLAGS" | |
1891 | kde_libs_safe="$LIBS" | |
1892 | kde_cxxflags_safe="$CXXFLAGS" | |
1893 | ||
1894 | LIBS="-lkde-qt-addon $LIBQT $LIBS" | |
1895 | CXXFLAGS="$CXXFLAGS -I$prefix/include -I$prefix/include/kde $all_includes" | |
1896 | LDFLAGS="$LDFLAGS $all_libraries $USER_LDFLAGS" | |
1897 | ||
1898 | AC_TRY_LINK([ | |
1899 | #include <qdom.h> | |
1900 | ], | |
1901 | [ | |
1902 | QDomDocument doc; | |
1903 | ], | |
1904 | kde_cv_have_kdeqtaddon=yes, | |
1905 | kde_cv_have_kdeqtaddon=no | |
1906 | ) | |
1907 | ||
1908 | LDFLAGS=$kde_ldflags_safe | |
1909 | LIBS=$kde_libs_safe | |
1910 | CXXFLAGS=$kde_cxxflags_safe | |
1911 | ]) | |
1912 | ||
1913 | AC_MSG_RESULT($kde_cv_have_kdeqtaddon) | |
1914 | ||
1915 | if test "$kde_cv_have_kdeqtaddon" = "no"; then | |
1916 | AC_MSG_ERROR([Can't find libkde-qt-addon. You need to install it first. | |
1917 | It is a separate package (and CVS module) named kde-qt-addon.]) | |
1918 | fi | |
1919 | ]) | |
1920 | ||
1921 | AC_DEFUN(KDE_CHECK_KIMGIO, | |
1922 | [ | |
1923 | AC_REQUIRE([AC_BASE_PATH_KDE]) | |
1924 | AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) | |
1925 | AC_REQUIRE([AC_FIND_TIFF]) | |
1926 | AC_REQUIRE([AC_FIND_JPEG]) | |
1927 | AC_REQUIRE([AC_FIND_PNG]) | |
1928 | AC_REQUIRE([KDE_CREATE_LIBS_ALIASES]) | |
1929 | ||
1930 | if test "$1" = "existance"; then | |
1931 | AC_LANG_SAVE | |
1932 | AC_LANG_CPLUSPLUS | |
1933 | kde_save_LIBS="$LIBS" | |
1934 | LIBS="$LIBS $all_libraries $LIBJPEG $LIBTIFF $LIBPNG $LIBQT -lm" | |
1935 | AC_CHECK_LIB(kimgio, kimgioRegister, [ | |
1936 | LIBKIMGIO_EXISTS=yes],LIBKIMGIO_EXISTS=no) | |
1937 | LIBS="$kde_save_LIBS" | |
1938 | AC_LANG_RESTORE | |
1939 | else | |
1940 | LIBKIMGIO_EXISTS=yes | |
1941 | fi | |
1942 | ||
1943 | if test "$LIBKIMGIO_EXISTS" = "yes"; then | |
1944 | LIB_KIMGIO='-lkimgio' | |
1945 | else | |
1946 | LIB_KIMGIO='' | |
1947 | fi | |
1948 | AC_SUBST(LIB_KIMGIO) | |
1949 | ]) | |
1950 | ||
1951 | AC_DEFUN(KDE_CREATE_LIBS_ALIASES, | |
1952 | [ | |
1953 | AC_REQUIRE([KDE_MISC_TESTS]) | |
1954 | AC_REQUIRE([KDE_CHECK_LIBDL]) | |
1955 | AC_REQUIRE([K_PATH_X]) | |
1956 | ||
1957 | if test $kde_qtver = 3; then | |
1958 | AC_SUBST(LIB_KDECORE, "-lkdecore") | |
1959 | AC_SUBST(LIB_KDEUI, "-lkdeui") | |
1960 | AC_SUBST(LIB_KIO, "-lkio") | |
1961 | AC_SUBST(LIB_SMB, "-lsmb") | |
1962 | AC_SUBST(LIB_KAB, "-lkab") | |
1963 | AC_SUBST(LIB_KABC, "-lkabc") | |
1964 | AC_SUBST(LIB_KHTML, "-lkhtml") | |
1965 | AC_SUBST(LIB_KSPELL, "-lkspell") | |
1966 | AC_SUBST(LIB_KPARTS, "-lkparts") | |
1967 | AC_SUBST(LIB_KDEPRINT, "-lkdeprint") | |
1968 | # these are for backward compatibility | |
1969 | AC_SUBST(LIB_KSYCOCA, "-lkio") | |
1970 | AC_SUBST(LIB_KFILE, "-lkio") | |
1971 | elif test $kde_qtver = 2; then | |
1972 | AC_SUBST(LIB_KDECORE, "-lkdecore") | |
1973 | AC_SUBST(LIB_KDEUI, "-lkdeui") | |
1974 | AC_SUBST(LIB_KIO, "-lkio") | |
1975 | AC_SUBST(LIB_KSYCOCA, "-lksycoca") | |
1976 | AC_SUBST(LIB_SMB, "-lsmb") | |
1977 | AC_SUBST(LIB_KFILE, "-lkfile") | |
1978 | AC_SUBST(LIB_KAB, "-lkab") | |
1979 | AC_SUBST(LIB_KHTML, "-lkhtml") | |
1980 | AC_SUBST(LIB_KSPELL, "-lkspell") | |
1981 | AC_SUBST(LIB_KPARTS, "-lkparts") | |
1982 | AC_SUBST(LIB_KDEPRINT, "-lkdeprint") | |
1983 | else | |
1984 | AC_SUBST(LIB_KDECORE, "-lkdecore -lXext $(LIB_QT)") | |
1985 | AC_SUBST(LIB_KDEUI, "-lkdeui $(LIB_KDECORE)") | |
1986 | AC_SUBST(LIB_KFM, "-lkfm $(LIB_KDECORE)") | |
1987 | AC_SUBST(LIB_KFILE, "-lkfile $(LIB_KFM) $(LIB_KDEUI)") | |
1988 | AC_SUBST(LIB_KAB, "-lkab $(LIB_KIMGIO) $(LIB_KDECORE)") | |
1989 | fi | |
1990 | ]) | |
1991 | ||
1992 | AC_DEFUN(AC_PATH_KDE, | |
1993 | [ | |
1994 | AC_BASE_PATH_KDE | |
1995 | AC_ARG_ENABLE(path-check, [ --disable-path-check don't try to find out, where to install], | |
1996 | [ | |
1997 | if test "$enableval" = "no"; | |
1998 | then ac_use_path_checking="default" | |
1999 | else ac_use_path_checking="" | |
2000 | fi | |
2001 | ], | |
2002 | [ | |
2003 | if test "$kde_qtver" = 1; | |
2004 | then ac_use_path_checking="" | |
2005 | else ac_use_path_checking="default" | |
2006 | fi | |
2007 | ] | |
2008 | ) | |
2009 | ||
2010 | AC_CREATE_KFSSTND($ac_use_path_checking) | |
2011 | ||
2012 | AC_SUBST_KFSSTND | |
2013 | KDE_CREATE_LIBS_ALIASES | |
2014 | ]) | |
2015 | ||
2016 | dnl KDE_CHECK_FUNC_EXT(<func>, [headers], [sample-use], [C prototype], [autoheader define], [call if found]) | |
2017 | AC_DEFUN(KDE_CHECK_FUNC_EXT, | |
2018 | [ | |
2019 | AC_MSG_CHECKING(for $1) | |
2020 | AC_CACHE_VAL(kde_cv_func_$1, | |
2021 | [ | |
2022 | AC_LANG_SAVE | |
2023 | AC_LANG_CPLUSPLUS | |
2024 | save_CXXFLAGS="$CXXFLAGS" | |
2025 | kde_safe_LIBS="$LIBS" | |
2026 | LIBS="$LIBS $X_EXTRA_LIBS" | |
2027 | if test "$GXX" = "yes"; then | |
2028 | CXXFLAGS="$CXXFLAGS -pedantic-errors" | |
2029 | fi | |
2030 | AC_TRY_COMPILE([ | |
2031 | $2 | |
2032 | ], | |
2033 | [ | |
2034 | $3 | |
2035 | ], | |
2036 | kde_cv_func_$1=yes, | |
2037 | kde_cv_func_$1=no) | |
2038 | CXXFLAGS="$save_CXXFLAGS" | |
2039 | LIBS=$kde_safe_LIBS | |
2040 | AC_LANG_RESTORE | |
2041 | ]) | |
2042 | ||
2043 | AC_MSG_RESULT($kde_cv_func_$1) | |
2044 | ||
2045 | AC_MSG_CHECKING([if $1 needs custom prototype]) | |
2046 | AC_CACHE_VAL(kde_cv_proto_$1, | |
2047 | [ | |
2048 | if test "x$kde_cv_func_$1" = xyes; then | |
2049 | kde_cv_proto_$1=no | |
2050 | else | |
2051 | case "$1" in | |
2052 | setenv|unsetenv|usleep|getdomainname|random|srandom|seteuid|mkstemps|mkstemp|revoke|vsnprintf|strlcpy|strlcat) | |
2053 | kde_cv_proto_$1="yes - in libkdefakes" | |
2054 | ;; | |
2055 | *) | |
2056 | kde_cv_proto_$1=unknown | |
2057 | ;; | |
2058 | esac | |
2059 | fi | |
2060 | ||
2061 | if test "x$kde_cv_proto_$1" = xunknown; then | |
2062 | ||
2063 | AC_LANG_SAVE | |
2064 | AC_LANG_CPLUSPLUS | |
2065 | kde_safe_libs=$LIBS | |
2066 | LIBS="$LIBS $X_EXTRA_LIBS" | |
2067 | AC_TRY_LINK([ | |
2068 | $2 | |
2069 | ||
2070 | extern "C" $4; | |
2071 | ], | |
2072 | [ | |
2073 | $3 | |
2074 | ], | |
2075 | [ kde_cv_func_$1=yes | |
2076 | kde_cv_proto_$1=yes ], | |
2077 | [kde_cv_proto_$1="$1 unavailable"] | |
2078 | ) | |
2079 | LIBS=$kde_safe_libs | |
2080 | AC_LANG_RESTORE | |
2081 | fi | |
2082 | ]) | |
2083 | AC_MSG_RESULT($kde_cv_proto_$1) | |
2084 | ||
2085 | if test "x$kde_cv_func_$1" = xyes; then | |
2086 | AC_DEFINE(HAVE_$5, 1, [Define if you have $1]) | |
2087 | $6 | |
2088 | fi | |
2089 | if test "x$kde_cv_proto_$1" = xno; then | |
2090 | AC_DEFINE(HAVE_$5_PROTO, 1, | |
2091 | [Define if you have the $1 prototype]) | |
2092 | fi | |
2093 | ||
2094 | AH_VERBATIM([_HAVE_$5_PROTO], | |
2095 | [ | |
2096 | #if !defined(HAVE_$5_PROTO) | |
2097 | #ifdef __cplusplus | |
2098 | extern "C" | |
2099 | #endif | |
2100 | $4; | |
2101 | #endif | |
2102 | ]) | |
2103 | ]) | |
2104 | ||
2105 | AC_DEFUN(AC_CHECK_SETENV, | |
2106 | [ | |
2107 | KDE_CHECK_FUNC_EXT(setenv, [ | |
2108 | #include <stdlib.h> | |
2109 | ], | |
2110 | [setenv("VAR", "VALUE", 1);], | |
2111 | [int setenv (const char *, const char *, int)], | |
2112 | [SETENV]) | |
2113 | ]) | |
2114 | ||
2115 | AC_DEFUN(AC_CHECK_UNSETENV, | |
2116 | [ | |
2117 | KDE_CHECK_FUNC_EXT(unsetenv, [ | |
2118 | #include <stdlib.h> | |
2119 | ], | |
2120 | [unsetenv("VAR");], | |
2121 | [void unsetenv (const char *)], | |
2122 | [UNSETENV]) | |
2123 | ]) | |
2124 | ||
2125 | AC_DEFUN(AC_CHECK_GETDOMAINNAME, | |
2126 | [ | |
2127 | KDE_CHECK_FUNC_EXT(getdomainname, [ | |
2128 | #include <stdlib.h> | |
2129 | #include <unistd.h> | |
2130 | ], | |
2131 | [ | |
2132 | char buffer[200]; | |
2133 | getdomainname(buffer, 200); | |
2134 | ], | |
2135 | [int getdomainname (char *, unsigned int)], | |
2136 | [GETDOMAINNAME]) | |
2137 | ]) | |
2138 | ||
2139 | AC_DEFUN(AC_CHECK_GETHOSTNAME, | |
2140 | [ | |
2141 | KDE_CHECK_FUNC_EXT(gethostname, [ | |
2142 | #include <stdlib.h> | |
2143 | #include <unistd.h> | |
2144 | ], | |
2145 | [ | |
2146 | char buffer[200]; | |
2147 | gethostname(buffer, 200); | |
2148 | ], | |
2149 | [int gethostname (char *, unsigned int)], | |
2150 | [GETHOSTNAME]) | |
2151 | ]) | |
2152 | ||
2153 | AC_DEFUN(AC_CHECK_USLEEP, | |
2154 | [ | |
2155 | KDE_CHECK_FUNC_EXT(usleep, [ | |
2156 | #include <unistd.h> | |
2157 | ], | |
2158 | [ | |
2159 | usleep(200); | |
2160 | ], | |
2161 | [int usleep (unsigned int)], | |
2162 | [USLEEP]) | |
2163 | ]) | |
2164 | ||
2165 | ||
2166 | AC_DEFUN(AC_CHECK_RANDOM, | |
2167 | [ | |
2168 | KDE_CHECK_FUNC_EXT(random, [ | |
2169 | #include <stdlib.h> | |
2170 | ], | |
2171 | [ | |
2172 | random(); | |
2173 | ], | |
2174 | [long int random(void)], | |
2175 | [RANDOM]) | |
2176 | ||
2177 | KDE_CHECK_FUNC_EXT(srandom, [ | |
2178 | #include <stdlib.h> | |
2179 | ], | |
2180 | [ | |
2181 | srandom(27); | |
2182 | ], | |
2183 | [void srandom(unsigned int)], | |
2184 | [SRANDOM]) | |
2185 | ||
2186 | ]) | |
2187 | ||
2188 | AC_DEFUN(AC_CHECK_INITGROUPS, | |
2189 | [ | |
2190 | KDE_CHECK_FUNC_EXT(initgroups, [ | |
2191 | #include <sys/types.h> | |
2192 | #include <unistd.h> | |
2193 | #include <grp.h> | |
2194 | ], | |
2195 | [ | |
2196 | char buffer[200]; | |
2197 | initgroups(buffer, 27); | |
2198 | ], | |
2199 | [int initgroups(const char *, gid_t)], | |
2200 | [INITGROUPS]) | |
2201 | ]) | |
2202 | ||
2203 | AC_DEFUN(AC_CHECK_MKSTEMP, | |
2204 | [ | |
2205 | KDE_CHECK_FUNC_EXT(mkstemp, [ | |
2206 | #include <stdlib.h> | |
2207 | ], | |
2208 | [ | |
2209 | mkstemp("/tmp/aaaXXXXXX"); | |
2210 | ], | |
2211 | [int mkstemp(char *)], | |
2212 | [MKSTEMP]) | |
2213 | ]) | |
2214 | ||
2215 | AC_DEFUN(AC_CHECK_MKSTEMPS, | |
2216 | [ | |
2217 | KDE_CHECK_FUNC_EXT(mkstemps, [ | |
2218 | #include <stdlib.h> | |
2219 | #include <unistd.h> | |
2220 | ], | |
2221 | [ | |
2222 | mkstemps("/tmp/aaaXXXXXX", 6); | |
2223 | ], | |
2224 | [int mkstemps(char *, int)], | |
2225 | [MKSTEMPS]) | |
2226 | ]) | |
2227 | ||
2228 | AC_DEFUN(AC_CHECK_RES_INIT, | |
2229 | [ | |
2230 | AC_MSG_CHECKING([if res_init needs -lresolv]) | |
2231 | kde_libs_safe="$LIBS" | |
2232 | LIBS="$LIBS $X_EXTRA_LIBS -lresolv" | |
2233 | AC_TRY_LINK( | |
2234 | [ | |
2235 | #include <sys/types.h> | |
2236 | #include <netinet/in.h> | |
2237 | #include <arpa/nameser.h> | |
2238 | #include <resolv.h> | |
2239 | ], | |
2240 | [ | |
2241 | res_init(); | |
2242 | ], | |
2243 | [ | |
2244 | LIBRESOLV="-lresolv" | |
2245 | AC_MSG_RESULT(yes) | |
2246 | AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) | |
2247 | ], | |
2248 | [ AC_MSG_RESULT(no) ] | |
2249 | ) | |
2250 | LIBS=$kde_libs_safe | |
2251 | AC_SUBST(LIBRESOLV) | |
2252 | ||
2253 | AC_MSG_CHECKING([if res_init is available]) | |
2254 | AC_TRY_COMPILE( | |
2255 | [ | |
2256 | #include <sys/types.h> | |
2257 | #include <netinet/in.h> | |
2258 | #include <arpa/nameser.h> | |
2259 | #include <resolv.h> | |
2260 | ], | |
2261 | [ | |
2262 | res_init(); | |
2263 | ], | |
2264 | [ | |
2265 | AC_MSG_RESULT(yes) | |
2266 | AC_DEFINE(HAVE_RES_INIT, 1, [Define if you have the res_init function]) | |
2267 | ], | |
2268 | [ AC_MSG_RESULT(no) ] | |
2269 | ) | |
2270 | ]) | |
2271 | ||
2272 | AC_DEFUN(AC_CHECK_STRLCPY, | |
2273 | [ | |
2274 | KDE_CHECK_FUNC_EXT(strlcpy, [ | |
2275 | #include <string.h> | |
2276 | ], | |
2277 | [ char buf[20]; | |
2278 | strlcpy(buf, "KDE function test", sizeof(buf)); | |
2279 | ], | |
2280 | [unsigned long strlcpy(char*, const char*, unsigned long)], | |
2281 | [STRLCPY]) | |
2282 | ]) | |
2283 | ||
2284 | AC_DEFUN(AC_CHECK_STRLCAT, | |
2285 | [ | |
2286 | KDE_CHECK_FUNC_EXT(strlcat, [ | |
2287 | #include <string.h> | |
2288 | ], | |
2289 | [ char buf[20]; | |
2290 | buf[0]='\0'; | |
2291 | strlcat(buf, "KDE function test", sizeof(buf)); | |
2292 | ], | |
2293 | [unsigned long strlcat(char*, const char*, unsigned long)], | |
2294 | [STRLCAT]) | |
2295 | ]) | |
2296 | ||
2297 | AC_DEFUN(AC_FIND_GIF, | |
2298 | [AC_MSG_CHECKING([for giflib]) | |
2299 | AC_CACHE_VAL(ac_cv_lib_gif, | |
2300 | [ac_save_LIBS="$LIBS" | |
2301 | if test "x$kde_use_qt_emb" != "xyes"; then | |
2302 | LIBS="$all_libraries -lgif -lX11 $LIBSOCKET" | |
2303 | else | |
2304 | LIBS="$all_libraries -lgif" | |
2305 | fi | |
2306 | AC_TRY_LINK(dnl | |
2307 | [ | |
2308 | #ifdef __cplusplus | |
2309 | extern "C" { | |
2310 | #endif | |
2311 | int GifLastError(void); | |
2312 | #ifdef __cplusplus | |
2313 | } | |
2314 | #endif | |
2315 | /* We use char because int might match the return type of a gcc2 | |
2316 | builtin and then its argument prototype would still apply. */ | |
2317 | ], | |
2318 | [return GifLastError();], | |
2319 | eval "ac_cv_lib_gif=yes", | |
2320 | eval "ac_cv_lib_gif=no") | |
2321 | LIBS="$ac_save_LIBS" | |
2322 | ])dnl | |
2323 | if eval "test \"`echo $ac_cv_lib_gif`\" = yes"; then | |
2324 | AC_MSG_RESULT(yes) | |
2325 | AC_DEFINE_UNQUOTED(HAVE_LIBGIF, 1, [Define if you have libgif]) | |
2326 | else | |
2327 | AC_MSG_ERROR(You need giflib30. Please install the kdesupport package) | |
2328 | fi | |
2329 | ]) | |
2330 | ||
2331 | AC_DEFUN(KDE_FIND_JPEG_HELPER, | |
2332 | [ | |
2333 | AC_MSG_CHECKING([for libjpeg$2]) | |
2334 | AC_CACHE_VAL(ac_cv_lib_jpeg_$1, | |
2335 | [ | |
2336 | AC_LANG_C | |
2337 | ac_save_LIBS="$LIBS" | |
2338 | LIBS="$all_libraries $USER_LDFLAGS -ljpeg$2 -lm" | |
2339 | ac_save_CFLAGS="$CFLAGS" | |
2340 | CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" | |
2341 | AC_TRY_LINK( | |
2342 | [/* Override any gcc2 internal prototype to avoid an error. */ | |
2343 | struct jpeg_decompress_struct; | |
2344 | typedef struct jpeg_decompress_struct * j_decompress_ptr; | |
2345 | typedef int size_t; | |
2346 | #ifdef __cplusplus | |
2347 | extern "C" { | |
2348 | #endif | |
2349 | void jpeg_CreateDecompress(j_decompress_ptr cinfo, | |
2350 | int version, size_t structsize); | |
2351 | #ifdef __cplusplus | |
2352 | } | |
2353 | #endif | |
2354 | /* We use char because int might match the return type of a gcc2 | |
2355 | builtin and then its argument prototype would still apply. */ | |
2356 | ], | |
2357 | [jpeg_CreateDecompress(0L, 0, 0);], | |
2358 | eval "ac_cv_lib_jpeg_$1=-ljpeg$2", | |
2359 | eval "ac_cv_lib_jpeg_$1=no") | |
2360 | LIBS="$ac_save_LIBS" | |
2361 | CFLAGS="$ac_save_CFLAGS" | |
2362 | ]) | |
2363 | ||
2364 | if eval "test ! \"`echo $ac_cv_lib_jpeg_$1`\" = no"; then | |
2365 | LIBJPEG="$ac_cv_lib_jpeg_$1" | |
2366 | AC_MSG_RESULT($ac_cv_lib_jpeg_$1) | |
2367 | else | |
2368 | AC_MSG_RESULT(no) | |
2369 | $3 | |
2370 | fi | |
2371 | ||
2372 | ]) | |
2373 | ||
2374 | AC_DEFUN(AC_FIND_JPEG, | |
2375 | [ | |
2376 | dnl first look for libraries | |
2377 | KDE_FIND_JPEG_HELPER(6b, 6b, | |
2378 | KDE_FIND_JPEG_HELPER(normal, [], | |
2379 | [ | |
2380 | LIBJPEG= | |
2381 | ] | |
2382 | ) | |
2383 | ) | |
2384 | ||
2385 | dnl then search the headers (can't use simply AC_TRY_xxx, as jpeglib.h | |
2386 | dnl requires system dependent includes loaded before it) | |
2387 | jpeg_incdirs="$includedir /usr/include /usr/local/include $kde_extra_includes" | |
2388 | AC_FIND_FILE(jpeglib.h, $jpeg_incdirs, jpeg_incdir) | |
2389 | test "x$jpeg_incdir" = xNO && jpeg_incdir= | |
2390 | ||
2391 | dnl if headers _and_ libraries are missing, this is no error, and we | |
2392 | dnl continue with a warning (the user will get no jpeg support in khtml) | |
2393 | dnl if only one is missing, it means a configuration error, but we still | |
2394 | dnl only warn | |
2395 | if test -n "$jpeg_incdir" && test -n "$LIBJPEG" ; then | |
2396 | AC_DEFINE_UNQUOTED(HAVE_LIBJPEG, 1, [Define if you have libjpeg]) | |
2397 | else | |
2398 | if test -n "$jpeg_incdir" || test -n "$LIBJPEG" ; then | |
2399 | AC_MSG_WARN([ | |
2400 | There is an installation error in jpeg support. You seem to have only one | |
2401 | of either the headers _or_ the libraries installed. You may need to either | |
2402 | provide correct --with-extra-... options, or the development package of | |
2403 | libjpeg6b. You can get a source package of libjpeg from http://www.ijg.org/ | |
2404 | Disabling JPEG support. | |
2405 | ]) | |
2406 | else | |
2407 | AC_MSG_WARN([libjpeg not found. disable JPEG support.]) | |
2408 | fi | |
2409 | jpeg_incdir= | |
2410 | LIBJPEG= | |
2411 | fi | |
2412 | ||
2413 | AC_SUBST(LIBJPEG) | |
2414 | AH_VERBATIM(_AC_CHECK_JPEG, | |
2415 | [/* | |
2416 | * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system | |
2417 | * headers and I'm too lazy to write a configure test as long as only | |
2418 | * unixware is related | |
2419 | */ | |
2420 | #ifdef _UNIXWARE | |
2421 | #define HAVE_BOOLEAN | |
2422 | #endif | |
2423 | ]) | |
2424 | ]) | |
2425 | ||
2426 | AC_DEFUN(KDE_CHECK_QT_JPEG, | |
2427 | [ | |
2428 | AC_MSG_CHECKING([if Qt needs $LIBJPEG]) | |
2429 | AC_CACHE_VAL(kde_cv_qt_jpeg, | |
2430 | [ | |
2431 | AC_LANG_SAVE | |
2432 | AC_LANG_CPLUSPLUS | |
2433 | ac_save_LIBS="$LIBS" | |
2434 | LIBS="$all_libraries $USER_LDFLAGS $LIBQT" | |
2435 | LIBS=`echo $LIBS | sed "s/$LIBJPEG//"` | |
2436 | ac_save_CXXFLAGS="$CXXFLAGS" | |
2437 | CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" | |
2438 | AC_TRY_LINK( | |
2439 | [#include <qapplication.h>], | |
2440 | [ | |
2441 | int argc; | |
2442 | char** argv; | |
2443 | QApplication app(argc, argv);], | |
2444 | eval "kde_cv_qt_jpeg=no", | |
2445 | eval "kde_cv_qt_jpeg=yes") | |
2446 | LIBS="$ac_save_LIBS" | |
2447 | CXXFLAGS="$ac_save_CXXFLAGS" | |
2448 | AC_LANG_RESTORE | |
2449 | ]) | |
2450 | ||
2451 | if eval "test ! \"`echo $kde_cv_qt_jpeg`\" = no"; then | |
2452 | AC_MSG_RESULT(yes) | |
2453 | LIBJPEG_QT='$(LIBJPEG)' | |
2454 | else | |
2455 | AC_MSG_RESULT(no) | |
2456 | LIBJPEG_QT= | |
2457 | fi | |
2458 | ||
2459 | ]) | |
2460 | ||
2461 | AC_DEFUN(AC_FIND_ZLIB, | |
2462 | [ | |
2463 | AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) | |
2464 | AC_MSG_CHECKING([for libz]) | |
2465 | AC_CACHE_VAL(ac_cv_lib_z, | |
2466 | [ | |
2467 | AC_LANG_C | |
2468 | kde_save_LIBS="$LIBS" | |
2469 | LIBS="$all_libraries $USER_LDFLAGS -lz $LIBSOCKET" | |
2470 | kde_save_CFLAGS="$CFLAGS" | |
2471 | CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" | |
2472 | AC_TRY_LINK(dnl | |
2473 | [ | |
2474 | #include<zlib.h> | |
2475 | ], | |
2476 | [return (zlibVersion() == ZLIB_VERSION); ], | |
2477 | eval "ac_cv_lib_z='-lz'", | |
2478 | eval "ac_cv_lib_z=no") | |
2479 | LIBS="$kde_save_LIBS" | |
2480 | CFLAGS="$kde_save_CFLAGS" | |
2481 | ])dnl | |
2482 | if test ! "$ac_cv_lib_z" = no; then | |
2483 | AC_DEFINE_UNQUOTED(HAVE_LIBZ, 1, [Define if you have libz]) | |
2484 | LIBZ="$ac_cv_lib_z" | |
2485 | AC_SUBST(LIBZ) | |
2486 | AC_MSG_RESULT($ac_cv_lib_z) | |
2487 | else | |
2488 | AC_MSG_ERROR(not found. Check your installation and look into config.log) | |
2489 | LIBZ="" | |
2490 | AC_SUBST(LIBZ) | |
2491 | fi | |
2492 | ]) | |
2493 | ||
2494 | AC_DEFUN(KDE_TRY_TIFFLIB, | |
2495 | [ | |
2496 | AC_MSG_CHECKING([for libtiff $1]) | |
2497 | ||
2498 | AC_CACHE_VAL(kde_cv_libtiff_$1, | |
2499 | [ | |
2500 | AC_LANG_SAVE | |
2501 | AC_LANG_CPLUSPLUS | |
2502 | kde_save_LIBS="$LIBS" | |
2503 | if test "x$kde_use_qt_emb" != "xyes"; then | |
2504 | LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lX11 $LIBSOCKET -lm" | |
2505 | else | |
2506 | LIBS="$all_libraries $USER_LDFLAGS -l$1 $LIBJPEG $LIBZ -lm" | |
2507 | fi | |
2508 | kde_save_CXXFLAGS="$CXXFLAGS" | |
2509 | CXXFLAGS="$CXXFLAGS $all_includes $USER_INCLUDES" | |
2510 | ||
2511 | AC_TRY_LINK(dnl | |
2512 | [ | |
2513 | #include<tiffio.h> | |
2514 | ], | |
2515 | [return (TIFFOpen( "", "r") == 0); ], | |
2516 | [ | |
2517 | kde_cv_libtiff_$1="-l$1 $LIBJPEG $LIBZ" | |
2518 | ], [ | |
2519 | kde_cv_libtiff_$1=no | |
2520 | ]) | |
2521 | ||
2522 | LIBS="$kde_save_LIBS" | |
2523 | CXXFLAGS="$kde_save_CXXFLAGS" | |
2524 | AC_LANG_RESTORE | |
2525 | ]) | |
2526 | ||
2527 | if test "$kde_cv_libtiff_$1" = "no"; then | |
2528 | AC_MSG_RESULT(no) | |
2529 | LIBTIFF="" | |
2530 | $3 | |
2531 | else | |
2532 | LIBTIFF="$kde_cv_libtiff_$1" | |
2533 | AC_MSG_RESULT(yes) | |
2534 | AC_DEFINE_UNQUOTED(HAVE_LIBTIFF, 1, [Define if you have libtiff]) | |
2535 | $2 | |
2536 | fi | |
2537 | ||
2538 | ]) | |
2539 | ||
2540 | AC_DEFUN(AC_FIND_TIFF, | |
2541 | [ | |
2542 | AC_REQUIRE([K_PATH_X]) | |
2543 | AC_REQUIRE([AC_FIND_ZLIB]) | |
2544 | AC_REQUIRE([AC_FIND_JPEG]) | |
2545 | AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) | |
2546 | ||
2547 | KDE_TRY_TIFFLIB(tiff, [], | |
2548 | KDE_TRY_TIFFLIB(tiff34)) | |
2549 | ||
2550 | AC_SUBST(LIBTIFF) | |
2551 | ]) | |
2552 | ||
2553 | ||
2554 | AC_DEFUN(AC_FIND_PNG, | |
2555 | [ | |
2556 | AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) | |
2557 | AC_REQUIRE([AC_FIND_ZLIB]) | |
2558 | AC_MSG_CHECKING([for libpng]) | |
2559 | AC_CACHE_VAL(ac_cv_lib_png, | |
2560 | [ | |
2561 | kde_save_LIBS="$LIBS" | |
2562 | if test "x$kde_use_qt_emb" != "xyes"; then | |
2563 | LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm -lX11 $LIBSOCKET" | |
2564 | else | |
2565 | LIBS="$LIBS $all_libraries $USER_LDFLAGS -lpng $LIBZ -lm" | |
2566 | fi | |
2567 | kde_save_CFLAGS="$CFLAGS" | |
2568 | CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" | |
2569 | AC_LANG_C | |
2570 | AC_TRY_LINK(dnl | |
2571 | [ | |
2572 | #include<png.h> | |
2573 | ], | |
2574 | [ | |
2575 | png_structp png_ptr = png_create_read_struct( /* image ptr */ | |
2576 | PNG_LIBPNG_VER_STRING, 0, 0, 0 ); | |
2577 | return( png_ptr != 0 ); | |
2578 | ], | |
2579 | eval "ac_cv_lib_png='-lpng $LIBZ -lm'", | |
2580 | eval "ac_cv_lib_png=no" | |
2581 | ) | |
2582 | LIBS="$kde_save_LIBS" | |
2583 | CFLAGS="$kde_save_CFLAGS" | |
2584 | ])dnl | |
2585 | if eval "test ! \"`echo $ac_cv_lib_png`\" = no"; then | |
2586 | AC_DEFINE_UNQUOTED(HAVE_LIBPNG, 1, [Define if you have libpng]) | |
2587 | LIBPNG="$ac_cv_lib_png" | |
2588 | AC_SUBST(LIBPNG) | |
2589 | AC_MSG_RESULT($ac_cv_lib_png) | |
2590 | else | |
2591 | AC_MSG_RESULT(no) | |
2592 | LIBPNG="" | |
2593 | AC_SUBST(LIBPNG) | |
2594 | fi | |
2595 | ]) | |
2596 | ||
2597 | AC_DEFUN(AC_CHECK_BOOL, | |
2598 | [ | |
2599 | AC_DEFINE_UNQUOTED(HAVE_BOOL, 1, [You _must_ have bool]) | |
2600 | ]) | |
2601 | ||
2602 | AC_DEFUN(AC_CHECK_GNU_EXTENSIONS, | |
2603 | [ | |
2604 | AC_MSG_CHECKING(if you need GNU extensions) | |
2605 | AC_CACHE_VAL(ac_cv_gnu_extensions, | |
2606 | [ | |
2607 | cat > conftest.c << EOF | |
2608 | #include <features.h> | |
2609 | ||
2610 | #ifdef __GNU_LIBRARY__ | |
2611 | yes | |
2612 | #endif | |
2613 | EOF | |
2614 | ||
2615 | if (eval "$ac_cpp conftest.c") 2>&5 | | |
2616 | egrep "yes" >/dev/null 2>&1; then | |
2617 | rm -rf conftest* | |
2618 | ac_cv_gnu_extensions=yes | |
2619 | else | |
2620 | ac_cv_gnu_extensions=no | |
2621 | fi | |
2622 | ]) | |
2623 | ||
2624 | AC_MSG_RESULT($ac_cv_gnu_extensions) | |
2625 | if test "$ac_cv_gnu_extensions" = "yes"; then | |
2626 | AC_DEFINE_UNQUOTED(_GNU_SOURCE, 1, [Define if you need to use the GNU extensions]) | |
2627 | fi | |
2628 | ]) | |
2629 | ||
2630 | AC_DEFUN(KDE_CHECK_COMPILER_FLAG, | |
2631 | [ | |
2632 | AC_MSG_CHECKING(whether $CXX supports -$1) | |
2633 | kde_cache=`echo $1 | sed 'y% .=/+-%____p_%'` | |
2634 | AC_CACHE_VAL(kde_cv_prog_cxx_$kde_cache, | |
2635 | [ | |
2636 | AC_LANG_SAVE | |
2637 | AC_LANG_CPLUSPLUS | |
2638 | save_CXXFLAGS="$CXXFLAGS" | |
2639 | CXXFLAGS="$CXXFLAGS -$1" | |
2640 | AC_TRY_LINK([],[ return 0; ], [eval "kde_cv_prog_cxx_$kde_cache=yes"], []) | |
2641 | CXXFLAGS="$save_CXXFLAGS" | |
2642 | AC_LANG_RESTORE | |
2643 | ]) | |
2644 | if eval "test \"`echo '$kde_cv_prog_cxx_'$kde_cache`\" = yes"; then | |
2645 | AC_MSG_RESULT(yes) | |
2646 | : | |
2647 | $2 | |
2648 | else | |
2649 | AC_MSG_RESULT(no) | |
2650 | : | |
2651 | $3 | |
2652 | fi | |
2653 | ]) | |
2654 | ||
2655 | dnl AC_REMOVE_FORBIDDEN removes forbidden arguments from variables | |
2656 | dnl use: AC_REMOVE_FORBIDDEN(CC, [-forbid -bad-option whatever]) | |
2657 | dnl it's all white-space separated | |
2658 | AC_DEFUN(AC_REMOVE_FORBIDDEN, | |
2659 | [ __val=$$1 | |
2660 | __forbid=" $2 " | |
2661 | if test -n "$__val"; then | |
2662 | __new="" | |
2663 | ac_save_IFS=$IFS | |
2664 | IFS=" " | |
2665 | for i in $__val; do | |
2666 | case "$__forbid" in | |
2667 | *" $i "*) AC_MSG_WARN([found forbidden $i in $1, removing it]) ;; | |
2668 | *) # Careful to not add spaces, where there were none, because otherwise | |
2669 | # libtool gets confused, if we change e.g. CXX | |
2670 | if test -z "$__new" ; then __new=$i ; else __new="$__new $i" ; fi ;; | |
2671 | esac | |
2672 | done | |
2673 | IFS=$ac_save_IFS | |
2674 | $1=$__new | |
2675 | fi | |
2676 | ]) | |
2677 | ||
2678 | dnl AC_VALIDIFY_CXXFLAGS checks for forbidden flags the user may have given | |
2679 | AC_DEFUN(AC_VALIDIFY_CXXFLAGS, | |
2680 | [dnl | |
2681 | if test "x$kde_use_qt_emb" != "xyes"; then | |
2682 | AC_REMOVE_FORBIDDEN(CXX, [-fno-rtti -rpath]) | |
2683 | AC_REMOVE_FORBIDDEN(CXXFLAGS, [-fno-rtti -rpath]) | |
2684 | else | |
2685 | AC_REMOVE_FORBIDDEN(CXX, [-rpath]) | |
2686 | AC_REMOVE_FORBIDDEN(CXXFLAGS, [-rpath]) | |
2687 | fi | |
2688 | ]) | |
2689 | ||
2690 | AC_DEFUN(AC_CHECK_COMPILERS, | |
2691 | [ | |
2692 | AC_ARG_ENABLE(debug,[ --enable-debug[=ARG] enables debug symbols (yes|no|full) [default=no]], | |
2693 | [ | |
2694 | case $enableval in | |
2695 | yes) | |
2696 | kde_use_debug_code="yes" | |
2697 | kde_use_debug_define=no | |
2698 | ;; | |
2699 | full) | |
2700 | kde_use_debug_code="full" | |
2701 | kde_use_debug_define=no | |
2702 | ;; | |
2703 | *) | |
2704 | kde_use_debug_code="no" | |
2705 | kde_use_debug_define=yes | |
2706 | ;; | |
2707 | esac | |
2708 | ], | |
2709 | [kde_use_debug_code="no" | |
2710 | kde_use_debug_define=no | |
2711 | ]) | |
2712 | ||
2713 | dnl Just for configure --help | |
2714 | AC_ARG_ENABLE(dummyoption,[ --disable-debug disables debug output and debug symbols [default=no]],[],[]) | |
2715 | ||
2716 | AC_ARG_ENABLE(strict,[ --enable-strict compiles with strict compiler options (may not work!)], | |
2717 | [ | |
2718 | if test $enableval = "no"; then | |
2719 | kde_use_strict_options="no" | |
2720 | else | |
2721 | kde_use_strict_options="yes" | |
2722 | fi | |
2723 | ], [kde_use_strict_options="no"]) | |
2724 | ||
2725 | AC_ARG_ENABLE(warnings,[ --disable-warnings disables compilation with -Wall and similiar], | |
2726 | [ | |
2727 | if test $enableval = "no"; then | |
2728 | kde_use_warnings="no" | |
2729 | else | |
2730 | kde_use_warnings="yes" | |
2731 | fi | |
2732 | ], [kde_use_warnings="yes"]) | |
2733 | ||
2734 | dnl enable warnings for debug build | |
2735 | if test "$kde_use_debug_code" != "no"; then | |
2736 | kde_use_warnings=yes | |
2737 | fi | |
2738 | ||
2739 | AC_ARG_ENABLE(profile,[ --enable-profile creates profiling infos [default=no]], | |
2740 | [kde_use_profiling=$enableval], | |
2741 | [kde_use_profiling="no"] | |
2742 | ) | |
2743 | ||
2744 | dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS | |
2745 | CFLAGS=" $CFLAGS" | |
2746 | ||
2747 | AC_PROG_CC | |
2748 | ||
2749 | AC_PROG_CPP | |
2750 | ||
2751 | if test "$GCC" = "yes"; then | |
2752 | if test "$kde_use_debug_code" != "no"; then | |
2753 | if test $kde_use_debug_code = "full"; then | |
2754 | CFLAGS="-g3 $CFLAGS" | |
2755 | else | |
2756 | CFLAGS="-g -O2 $CFLAGS" | |
2757 | fi | |
2758 | else | |
2759 | CFLAGS="-O2 $CFLAGS" | |
2760 | fi | |
2761 | fi | |
2762 | ||
2763 | if test "$kde_use_debug_define" = "yes"; then | |
2764 | CFLAGS="-DNDEBUG $CFLAGS" | |
2765 | fi | |
2766 | ||
2767 | ||
2768 | case "$host" in | |
2769 | *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";; | |
2770 | *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";; | |
2771 | esac | |
2772 | ||
2773 | if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then | |
2774 | LDFLAGS="" | |
2775 | fi | |
2776 | ||
2777 | CXXFLAGS=" $CXXFLAGS" | |
2778 | ||
2779 | AC_PROG_CXX | |
2780 | ||
2781 | if test "$GXX" = "yes" || test "$CXX" = "KCC"; then | |
2782 | if test "$kde_use_debug_code" != "no"; then | |
2783 | if test "$CXX" = "KCC"; then | |
2784 | CXXFLAGS="+K0 -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS" | |
2785 | else | |
2786 | if test "$kde_use_debug_code" = "full"; then | |
2787 | CXXFLAGS="-g3 $CXXFLAGS" | |
2788 | else | |
2789 | CXXFLAGS="-g -O2 $CXXFLAGS" | |
2790 | fi | |
2791 | fi | |
2792 | KDE_CHECK_COMPILER_FLAG(fno-builtin,[CXXFLAGS="-fno-builtin $CXXFLAGS"]) | |
2793 | ||
2794 | dnl convenience compiler flags | |
2795 | KDE_CHECK_COMPILER_FLAG(Woverloaded-virtual, [WOVERLOADED_VIRTUAL="-Woverloaded-virtual"], [WOVERLOADED_VRITUAL=""]) | |
2796 | AC_SUBST(WOVERLOADED_VIRTUAL) | |
2797 | else | |
2798 | if test "$CXX" = "KCC"; then | |
2799 | CXXFLAGS="+K3 $CXXFLAGS" | |
2800 | else | |
2801 | CXXFLAGS="-O2 $CXXFLAGS" | |
2802 | fi | |
2803 | fi | |
2804 | fi | |
2805 | ||
2806 | if test "$kde_use_debug_define" = "yes"; then | |
2807 | CXXFLAGS="-DNDEBUG -DNO_DEBUG $CXXFLAGS" | |
2808 | fi | |
2809 | ||
2810 | if test "$kde_use_profiling" = "yes"; then | |
2811 | KDE_CHECK_COMPILER_FLAG(pg, | |
2812 | [ | |
2813 | CFLAGS="-pg $CFLAGS" | |
2814 | CXXFLAGS="-pg $CXXFLAGS" | |
2815 | ]) | |
2816 | fi | |
2817 | ||
2818 | if test "$kde_use_warnings" = "yes"; then | |
2819 | if test "$GCC" = "yes"; then | |
2820 | case $host in | |
2821 | *-*-linux-gnu) | |
2822 | CFLAGS="-ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" | |
2823 | CXXFLAGS="-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion $CXXFLAGS" | |
2824 | ;; | |
2825 | esac | |
2826 | CXXFLAGS="-Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings $CXXFLAGS" | |
2827 | KDE_CHECK_COMPILER_FLAG(Wundef,[CXXFLAGS="-Wundef $CXXFLAGS"]) | |
2828 | KDE_CHECK_COMPILER_FLAG(Wno-long-long,[CXXFLAGS="-Wno-long-long $CXXFLAGS"]) | |
2829 | KDE_CHECK_COMPILER_FLAG(Wnon-virtual-dtor,[CXXFLAGS="-Wnon-virtual-dtor $CXXFLAGS"]) | |
2830 | fi | |
2831 | fi | |
2832 | ||
2833 | if test "$GCC" = "yes" && test "$kde_use_strict_options" = "yes"; then | |
2834 | CXXFLAGS="-Wcast-qual -Wshadow -Wcast-align $CXXFLAGS" | |
2835 | fi | |
2836 | ||
2837 | if test "$GXX" = "yes"; then | |
2838 | KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"]) | |
2839 | KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"]) | |
2840 | KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], USE_EXCEPTIONS= ) | |
2841 | fi | |
2842 | if test "$CXX" = "KCC"; then | |
2843 | dnl unfortunately we currently cannot disable exception support in KCC | |
2844 | dnl because doing so is binary incompatible and Qt by default links with exceptions :-( | |
2845 | dnl KDE_CHECK_COMPILER_FLAG(-no_exceptions,[CXXFLAGS="$CXXFLAGS --no_exceptions"]) | |
2846 | dnl KDE_CHECK_COMPILER_FLAG(-exceptions, [USE_EXCEPTIONS="--exceptions"], USE_EXCEPTIONS= ) | |
2847 | ||
2848 | AC_ARG_ENABLE(pch,[ --enable-pch enables precompiled header support (currently only KCC) [default=no]], | |
2849 | [ | |
2850 | kde_use_pch=$enableval | |
2851 | ],[kde_use_pch=no]) | |
2852 | ||
2853 | if test "$kde_use_pch" = "yes"; then | |
2854 | dnl TODO: support --pch-dir! | |
2855 | KDE_CHECK_COMPILER_FLAG(-pch,[CXXFLAGS="$CXXFLAGS --pch"]) | |
2856 | dnl the below works (but the dir must exist), but it's | |
2857 | dnl useless for a whole package. | |
2858 | dnl The are precompiled headers for each source file, so when compiling | |
2859 | dnl from scratch, it doesn't make a difference, and they take up | |
2860 | dnl around ~5Mb _per_ sourcefile. | |
2861 | dnl KDE_CHECK_COMPILER_FLAG(-pch_dir /tmp, | |
2862 | dnl [CXXFLAGS="$CXXFLAGS --pch_dir `pwd`/pcheaders"]) | |
2863 | fi | |
2864 | dnl this flag controls inlining. by default KCC inlines in optimisation mode | |
2865 | dnl all implementations that are defined inside the class {} declaration. | |
2866 | dnl because of templates-compatibility with broken gcc compilers, this | |
2867 | dnl can cause excessive inlining. This flag limits it to a sane level | |
2868 | KDE_CHECK_COMPILER_FLAG(-inline_keyword_space_time=6,[CXXFLAGS="$CXXFLAGS --inline_keyword_space_time=6"]) | |
2869 | KDE_CHECK_COMPILER_FLAG(-inline_auto_space_time=2,[CXXFLAGS="$CXXFLAGS --inline_auto_space_time=2"]) | |
2870 | KDE_CHECK_COMPILER_FLAG(-inline_implicit_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_implicit_space_time=2.0"]) | |
2871 | KDE_CHECK_COMPILER_FLAG(-inline_generated_space_time=2.0,[CXXFLAGS="$CXXFLAGS --inline_generated_space_time=2.0"]) | |
2872 | dnl Some source files are shared between multiple executables | |
2873 | dnl (or libraries) and some of those need template instantiations. | |
2874 | dnl In that case KCC needs to compile those sources with | |
2875 | dnl --one_instantiation_per_object. To make it easy for us we compile | |
2876 | dnl _all_ objects with that flag (--one_per is a shorthand). | |
2877 | KDE_CHECK_COMPILER_FLAG(-one_per, [CXXFLAGS="$CXXFLAGS --one_per"]) | |
2878 | fi | |
2879 | AC_SUBST(USE_EXCEPTIONS) | |
2880 | dnl obsolete macro - provided to keep things going | |
2881 | USE_RTTI= | |
2882 | AC_SUBST(USE_RTTI) | |
2883 | ||
2884 | case "$host" in | |
2885 | *-*-irix*) test "$GXX" = yes && CXXFLAGS="-D_LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C_PLUS_PLUS $CXXFLAGS" ;; | |
2886 | *-*-sysv4.2uw*) CXXFLAGS="-D_UNIXWARE $CXXFLAGS";; | |
2887 | *-*-sysv5uw7*) CXXFLAGS="-D_UNIXWARE7 $CXXFLAGS";; | |
2888 | *-*-solaris*) | |
2889 | if test "$GXX" = yes; then | |
2890 | libstdcpp=`$CXX -print-file-name=libstdc++.so` | |
2891 | if test ! -f $libstdcpp; then | |
2892 | AC_MSG_ERROR([You've compiled gcc without --enable-shared. This doesn't work with KDE. Please recompile gcc with --enable-shared to receive a libstdc++.so]) | |
2893 | fi | |
2894 | fi | |
2895 | ;; | |
2896 | esac | |
2897 | ||
2898 | AC_VALIDIFY_CXXFLAGS | |
2899 | ||
2900 | AC_PROG_CXXCPP | |
2901 | ||
2902 | if test "$GCC" = yes; then | |
2903 | NOOPT_CXXFLAGS=-O0 | |
2904 | NOOPT_CFLAGS=-O0 | |
2905 | fi | |
2906 | ||
2907 | AC_SUBST(NOOPT_CXXFLAGS) | |
2908 | AC_SUBST(NOOPT_CFLAGS) | |
2909 | ||
2910 | KDE_CHECK_FINAL | |
2911 | ||
2912 | ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDE_ADD_DEPENDENCIES]), []) | |
2913 | ]) | |
2914 | ||
2915 | AC_DEFUN(KDE_ADD_DEPENDENCIES, | |
2916 | [ | |
2917 | [A]M_DEPENDENCIES(CC) | |
2918 | [A]M_DEPENDENCIES(CXX) | |
2919 | ]) | |
2920 | ||
2921 | dnl just a wrapper to clean up configure.in | |
2922 | AC_DEFUN(KDE_PROG_LIBTOOL, | |
2923 | [ | |
2924 | AC_REQUIRE([AC_CHECK_COMPILERS]) | |
2925 | AC_REQUIRE([AC_ENABLE_SHARED]) | |
2926 | AC_REQUIRE([AC_ENABLE_STATIC]) | |
2927 | ||
2928 | AC_REQUIRE([AC_LIBTOOL_DLOPEN]) | |
2929 | AC_REQUIRE([KDE_CHECK_LIB64]) | |
2930 | ||
2931 | AC_LANG_SAVE | |
2932 | AC_LANG_C | |
2933 | AC_OBJEXT | |
2934 | AC_EXEEXT | |
2935 | AC_LANG_RESTORE | |
2936 | ||
2937 | AM_PROG_LIBTOOL | |
2938 | AC_LIBTOOL_CXX | |
2939 | ||
2940 | LIBTOOL_SHELL="/bin/sh ./libtool" | |
2941 | # LIBTOOL="$LIBTOOL --silent" | |
2942 | KDE_PLUGIN="-avoid-version -module -no-undefined \$(KDE_RPATH) \$(KDE_MT_LDFLAGS)" | |
2943 | AC_SUBST(KDE_PLUGIN) | |
2944 | ||
2945 | AC_ARG_ENABLE(objprelink, [ --enable-objprelink prelink apps using objprelink (obsolete)], | |
2946 | kde_use_objprelink=$enableval, kde_use_objprelink=no) | |
2947 | if test "x$kde_use_objprelink" = "xyes"; then | |
2948 | AC_MSG_WARN([ | |
2949 | ------------------------------------------------------------ | |
2950 | Configuration option --enable-objprelink is no longer useful. | |
2951 | See http:://objprelink.sourceforge.net for details: | |
2952 | 1- Recent binutils are fast enough to do without objprelink. | |
2953 | 2- Newer versions of objprelink do not need this option. | |
2954 | ------------------------------------------------------------ | |
2955 | ]) | |
2956 | fi | |
2957 | ]) | |
2958 | ||
2959 | AC_DEFUN(KDE_CHECK_LIB64, | |
2960 | [ | |
2961 | kdelibsuff=none | |
2962 | AC_ARG_ENABLE(libsuffix, | |
2963 | AC_HELP_STRING([--enable-libsuffix], | |
2964 | [/lib directory suffix (64,32,none)]), | |
2965 | kdelibsuff=$enableval) | |
2966 | if test "$kdelibsuff" = "none"; then | |
2967 | if test -d /lib64 ; then | |
2968 | kdelibsuff=64 | |
2969 | else | |
2970 | kdelibsuff= | |
2971 | fi | |
2972 | fi | |
2973 | if test -z "$kdelibsuff"; then | |
2974 | AC_MSG_RESULT([not using lib directory suffix]) | |
2975 | AC_DEFINE(KDELIBSUFF, [""], Suffix for lib directories) | |
2976 | else | |
2977 | if test "$libdir" = '${exec_prefix}/lib'; then | |
2978 | libdir="$libdir${kdelibsuff}" | |
2979 | AC_SUBST([libdir], ["$libdir"]) dnl ugly hack for lib64 platforms | |
2980 | fi | |
2981 | AC_DEFINE_UNQUOTED(KDELIBSUFF, ["\"${kdelibsuff}\""], Suffix for lib directories) | |
2982 | AC_MSG_RESULT([using lib directory suffix $kdelibsuff]) | |
2983 | fi | |
2984 | ]) | |
2985 | ||
2986 | AC_DEFUN(KDE_CHECK_TYPES, | |
2987 | [ AC_CHECK_SIZEOF(int, 4)dnl | |
2988 | AC_CHECK_SIZEOF(long, 4)dnl | |
2989 | AC_CHECK_SIZEOF(char *, 4)dnl | |
2990 | AC_CHECK_SIZEOF(char, 1)dnl | |
2991 | ])dnl | |
2992 | ||
2993 | AC_DEFUN(KDE_DO_IT_ALL, | |
2994 | [ | |
2995 | AC_CANONICAL_SYSTEM | |
2996 | AC_ARG_PROGRAM | |
2997 | AM_INIT_AUTOMAKE($1, $2) | |
2998 | AM_DISABLE_LIBRARIES | |
2999 | AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) | |
3000 | AC_CHECK_COMPILERS | |
3001 | KDE_PROG_LIBTOOL | |
3002 | AM_KDE_WITH_NLS | |
3003 | AC_PATH_KDE | |
3004 | ]) | |
3005 | ||
3006 | AC_DEFUN(AC_CHECK_RPATH, | |
3007 | [ | |
3008 | AC_MSG_CHECKING(for rpath) | |
3009 | AC_ARG_ENABLE(rpath, | |
3010 | [ --disable-rpath do not use the rpath feature of ld], | |
3011 | USE_RPATH=$enableval, USE_RPATH=yes) | |
3012 | ||
3013 | if test -z "$KDE_RPATH" && test "$USE_RPATH" = "yes"; then | |
3014 | ||
3015 | KDE_RPATH="-R \$(kde_libraries)" | |
3016 | ||
3017 | if test -n "$qt_libraries"; then | |
3018 | KDE_RPATH="$KDE_RPATH -R \$(qt_libraries)" | |
3019 | fi | |
3020 | dnl $x_libraries is set to /usr/lib in case | |
3021 | if test -n "$X_LDFLAGS"; then | |
3022 | KDE_RPATH="$KDE_RPATH -R \$(x_libraries)" | |
3023 | fi | |
3024 | if test -n "$KDE_EXTRA_RPATH"; then | |
3025 | KDE_RPATH="$KDE_RPATH \$(KDE_EXTRA_RPATH)" | |
3026 | fi | |
3027 | fi | |
3028 | AC_SUBST(KDE_EXTRA_RPATH) | |
3029 | AC_SUBST(KDE_RPATH) | |
3030 | AC_MSG_RESULT($USE_RPATH) | |
3031 | ]) | |
3032 | ||
3033 | dnl Check for the type of the third argument of getsockname | |
3034 | AC_DEFUN(AC_CHECK_SOCKLEN_T, [ | |
3035 | AC_MSG_CHECKING(for socklen_t) | |
3036 | AC_CACHE_VAL(ac_cv_socklen_t, [ | |
3037 | AC_LANG_SAVE | |
3038 | AC_LANG_CPLUSPLUS | |
3039 | AC_TRY_COMPILE([ | |
3040 | #include <sys/types.h> | |
3041 | #include <sys/socket.h> | |
3042 | ],[ | |
3043 | socklen_t a=0; | |
3044 | getsockname(0,(struct sockaddr*)0, &a); | |
3045 | ], | |
3046 | ac_cv_socklen_t=socklen_t, | |
3047 | AC_TRY_COMPILE([ | |
3048 | #include <sys/types.h> | |
3049 | #include <sys/socket.h> | |
3050 | ],[ | |
3051 | int a=0; | |
3052 | getsockname(0,(struct sockaddr*)0, &a); | |
3053 | ], | |
3054 | ac_cv_socklen_t=int, | |
3055 | ac_cv_socklen_t=size_t | |
3056 | ) | |
3057 | ) | |
3058 | AC_LANG_RESTORE | |
3059 | ]) | |
3060 | ||
3061 | AC_MSG_RESULT($ac_cv_socklen_t) | |
3062 | if test "$ac_cv_socklen_t" != "socklen_t"; then | |
3063 | AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_socklen_t, | |
3064 | [Define the real type of socklen_t]) | |
3065 | fi | |
3066 | AC_DEFINE_UNQUOTED(ksize_t, socklen_t, [Compatibility define]) | |
3067 | ||
3068 | ]) | |
3069 | ||
3070 | dnl This is a merge of some macros out of the gettext aclocal.m4 | |
3071 | dnl since we don't need anything, I took the things we need | |
3072 | dnl the copyright for them is: | |
3073 | dnl > | |
3074 | dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. | |
3075 | dnl This Makefile.in is free software; the Free Software Foundation | |
3076 | dnl gives unlimited permission to copy and/or distribute it, | |
3077 | dnl with or without modifications, as long as this notice is preserved. | |
3078 | ||
3079 | dnl This program is distributed in the hope that it will be useful, | |
3080 | dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without | |
3081 | dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A | |
3082 | dnl PARTICULAR PURPOSE. | |
3083 | dnl > | |
3084 | dnl for this file it is relicensed under LGPL | |
3085 | ||
3086 | AC_DEFUN(AM_KDE_WITH_NLS, | |
3087 | [ | |
3088 | dnl If we use NLS figure out what method | |
3089 | ||
3090 | AM_PATH_PROG_WITH_TEST_KDE(MSGFMT, msgfmt, | |
3091 | [test -n "`$ac_dir/$ac_word --version 2>&1 | grep 'GNU gettext'`"], msgfmt) | |
3092 | AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) | |
3093 | ||
3094 | if test -z "`$GMSGFMT --version 2>&1 | grep 'GNU gettext'`"; then | |
3095 | AC_MSG_RESULT([found msgfmt program is not GNU msgfmt; ignore it]) | |
3096 | GMSGFMT=":" | |
3097 | fi | |
3098 | MSGFMT=$GMSGFMT | |
3099 | AC_SUBST(GMSGFMT) | |
3100 | AC_SUBST(MSGFMT) | |
3101 | ||
3102 | AM_PATH_PROG_WITH_TEST_KDE(XGETTEXT, xgettext, | |
3103 | [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) | |
3104 | ||
3105 | dnl Test whether we really found GNU xgettext. | |
3106 | if test "$XGETTEXT" != ":"; then | |
3107 | dnl If it is no GNU xgettext we define it as : so that the | |
3108 | dnl Makefiles still can work. | |
3109 | if $XGETTEXT --omit-header /dev/null 2> /dev/null; then | |
3110 | : ; | |
3111 | else | |
3112 | AC_MSG_RESULT( | |
3113 | [found xgettext programs is not GNU xgettext; ignore it]) | |
3114 | XGETTEXT=":" | |
3115 | fi | |
3116 | fi | |
3117 | AC_SUBST(XGETTEXT) | |
3118 | ||
3119 | ]) | |
3120 | ||
3121 | # Search path for a program which passes the given test. | |
3122 | # Ulrich Drepper <drepper@cygnus.com>, 1996. | |
3123 | ||
3124 | # serial 1 | |
3125 | # Stephan Kulow: I appended a _KDE against name conflicts | |
3126 | ||
3127 | dnl AM_PATH_PROG_WITH_TEST_KDE(VARIABLE, PROG-TO-CHECK-FOR, | |
3128 | dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) | |
3129 | AC_DEFUN(AM_PATH_PROG_WITH_TEST_KDE, | |
3130 | [# Extract the first word of "$2", so it can be a program name with args. | |
3131 | set dummy $2; ac_word=[$]2 | |
3132 | AC_MSG_CHECKING([for $ac_word]) | |
3133 | AC_CACHE_VAL(ac_cv_path_$1, | |
3134 | [case "[$]$1" in | |
3135 | /*) | |
3136 | ac_cv_path_$1="[$]$1" # Let the user override the test with a path. | |
3137 | ;; | |
3138 | *) | |
3139 | IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" | |
3140 | for ac_dir in ifelse([$5], , $PATH, [$5]); do | |
3141 | test -z "$ac_dir" && ac_dir=. | |
3142 | if test -f $ac_dir/$ac_word; then | |
3143 | if [$3]; then | |
3144 | ac_cv_path_$1="$ac_dir/$ac_word" | |
3145 | break | |
3146 | fi | |
3147 | fi | |
3148 | done | |
3149 | IFS="$ac_save_ifs" | |
3150 | dnl If no 4th arg is given, leave the cache variable unset, | |
3151 | dnl so AC_PATH_PROGS will keep looking. | |
3152 | ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" | |
3153 | ])dnl | |
3154 | ;; | |
3155 | esac])dnl | |
3156 | $1="$ac_cv_path_$1" | |
3157 | if test -n "[$]$1"; then | |
3158 | AC_MSG_RESULT([$]$1) | |
3159 | else | |
3160 | AC_MSG_RESULT(no) | |
3161 | fi | |
3162 | AC_SUBST($1)dnl | |
3163 | ]) | |
3164 | ||
3165 | ||
3166 | # Check whether LC_MESSAGES is available in <locale.h>. | |
3167 | # Ulrich Drepper <drepper@cygnus.com>, 1995. | |
3168 | ||
3169 | # serial 1 | |
3170 | ||
3171 | AC_DEFUN(AM_LC_MESSAGES, | |
3172 | [if test $ac_cv_header_locale_h = yes; then | |
3173 | AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, | |
3174 | [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], | |
3175 | am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) | |
3176 | if test $am_cv_val_LC_MESSAGES = yes; then | |
3177 | AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your locale.h file contains LC_MESSAGES]) | |
3178 | fi | |
3179 | fi]) | |
3180 | ||
3181 | dnl From Jim Meyering. | |
3182 | dnl FIXME: migrate into libit. | |
3183 | ||
3184 | AC_DEFUN([AM_FUNC_OBSTACK], | |
3185 | [AC_CACHE_CHECK([for obstacks], am_cv_func_obstack, | |
3186 | [AC_TRY_LINK([#include "obstack.h"], | |
3187 | [struct obstack *mem;obstack_free(mem,(char *) 0)], | |
3188 | am_cv_func_obstack=yes, | |
3189 | am_cv_func_obstack=no)]) | |
3190 | if test $am_cv_func_obstack = yes; then | |
3191 | AC_DEFINE(HAVE_OBSTACK) | |
3192 | else | |
3193 | LIBOBJS="$LIBOBJS obstack.o" | |
3194 | fi | |
3195 | ]) | |
3196 | ||
3197 | dnl From Jim Meyering. Use this if you use the GNU error.[ch]. | |
3198 | dnl FIXME: Migrate into libit | |
3199 | ||
3200 | AC_DEFUN([AM_FUNC_ERROR_AT_LINE], | |
3201 | [AC_CACHE_CHECK([for error_at_line], am_cv_lib_error_at_line, | |
3202 | [AC_TRY_LINK([],[error_at_line(0, 0, "", 0, "");], | |
3203 | am_cv_lib_error_at_line=yes, | |
3204 | am_cv_lib_error_at_line=no)]) | |
3205 | if test $am_cv_lib_error_at_line = no; then | |
3206 | LIBOBJS="$LIBOBJS error.o" | |
3207 | fi | |
3208 | AC_SUBST(LIBOBJS)dnl | |
3209 | ]) | |
3210 | ||
3211 | # Macro to add for using GNU gettext. | |
3212 | # Ulrich Drepper <drepper@cygnus.com>, 1995. | |
3213 | ||
3214 | # serial 1 | |
3215 | # Stephan Kulow: I put a KDE in it to avoid name conflicts | |
3216 | ||
3217 | AC_DEFUN(AM_KDE_GNU_GETTEXT, | |
3218 | [AC_REQUIRE([AC_PROG_MAKE_SET])dnl | |
3219 | AC_REQUIRE([AC_PROG_RANLIB])dnl | |
3220 | AC_REQUIRE([AC_HEADER_STDC])dnl | |
3221 | AC_REQUIRE([AC_TYPE_OFF_T])dnl | |
3222 | AC_REQUIRE([AC_TYPE_SIZE_T])dnl | |
3223 | AC_REQUIRE([AC_FUNC_ALLOCA])dnl | |
3224 | AC_REQUIRE([AC_FUNC_MMAP])dnl | |
3225 | AC_REQUIRE([AM_KDE_WITH_NLS])dnl | |
3226 | AC_CHECK_HEADERS([limits.h locale.h nl_types.h string.h values.h alloca.h]) | |
3227 | AC_CHECK_FUNCS([getcwd munmap putenv setlocale strchr strcasecmp \ | |
3228 | __argz_count __argz_stringify __argz_next]) | |
3229 | ||
3230 | AC_MSG_CHECKING(for stpcpy) | |
3231 | AC_CACHE_VAL(kde_cv_func_stpcpy, | |
3232 | [ | |
3233 | kde_safe_cxxflags=$CXXFLAGS | |
3234 | CXXFLAGS="-Wmissing-prototypes -Werror" | |
3235 | AC_LANG_SAVE | |
3236 | AC_LANG_CPLUSPLUS | |
3237 | AC_TRY_COMPILE([ | |
3238 | #include <string.h> | |
3239 | ], | |
3240 | [ | |
3241 | char buffer[200]; | |
3242 | stpcpy(buffer, buffer); | |
3243 | ], | |
3244 | kde_cv_func_stpcpy=yes, | |
3245 | kde_cv_func_stpcpy=no) | |
3246 | AC_LANG_RESTORE | |
3247 | CXXFLAGS=$kde_safe_cxxflags | |
3248 | ]) | |
3249 | AC_MSG_RESULT($kde_cv_func_stpcpy) | |
3250 | if eval "test \"`echo $kde_cv_func_stpcpy`\" = yes"; then | |
3251 | AC_DEFINE(HAVE_STPCPY, 1, [Define if you have stpcpy]) | |
3252 | fi | |
3253 | ||
3254 | AM_LC_MESSAGES | |
3255 | ||
3256 | if test "x$CATOBJEXT" != "x"; then | |
3257 | if test "x$ALL_LINGUAS" = "x"; then | |
3258 | LINGUAS= | |
3259 | else | |
3260 | AC_MSG_CHECKING(for catalogs to be installed) | |
3261 | NEW_LINGUAS= | |
3262 | for lang in ${LINGUAS=$ALL_LINGUAS}; do | |
3263 | case "$ALL_LINGUAS" in | |
3264 | *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; | |
3265 | esac | |
3266 | done | |
3267 | LINGUAS=$NEW_LINGUAS | |
3268 | AC_MSG_RESULT($LINGUAS) | |
3269 | fi | |
3270 | ||
3271 | dnl Construct list of names of catalog files to be constructed. | |
3272 | if test -n "$LINGUAS"; then | |
3273 | for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done | |
3274 | fi | |
3275 | fi | |
3276 | ||
3277 | ]) | |
3278 | ||
3279 | AC_DEFUN(AC_HAVE_XPM, | |
3280 | [AC_REQUIRE_CPP()dnl | |
3281 | AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) | |
3282 | ||
3283 | test -z "$XPM_LDFLAGS" && XPM_LDFLAGS= | |
3284 | test -z "$XPM_INCLUDE" && XPM_INCLUDE= | |
3285 | ||
3286 | AC_ARG_WITH(xpm, [ --without-xpm disable color pixmap XPM tests], | |
3287 | xpm_test=$withval, xpm_test="yes") | |
3288 | if test "x$xpm_test" = xno; then | |
3289 | ac_cv_have_xpm=no | |
3290 | else | |
3291 | AC_MSG_CHECKING(for XPM) | |
3292 | AC_CACHE_VAL(ac_cv_have_xpm, | |
3293 | [ | |
3294 | AC_LANG_C | |
3295 | ac_save_ldflags="$LDFLAGS" | |
3296 | ac_save_cflags="$CFLAGS" | |
3297 | if test "x$kde_use_qt_emb" != "xyes"; then | |
3298 | LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm -lX11 -lXext $LIBZ $LIBSOCKET" | |
3299 | else | |
3300 | LDFLAGS="$LDFLAGS $X_LDFLAGS $USER_LDFLAGS $LDFLAGS $XPM_LDFLAGS $all_libraries -lXpm $LIBZ $LIBSOCKET" | |
3301 | fi | |
3302 | CFLAGS="$CFLAGS $X_INCLUDES $USER_INCLUDES" | |
3303 | test -n "$XPM_INCLUDE" && CFLAGS="-I$XPM_INCLUDE $CFLAGS" | |
3304 | AC_TRY_LINK([#include <X11/xpm.h>],[], | |
3305 | ac_cv_have_xpm="yes",ac_cv_have_xpm="no") | |
3306 | LDFLAGS="$ac_save_ldflags" | |
3307 | CFLAGS="$ac_save_cflags" | |
3308 | ])dnl | |
3309 | ||
3310 | if test "$ac_cv_have_xpm" = no; then | |
3311 | AC_MSG_RESULT(no) | |
3312 | XPM_LDFLAGS="" | |
3313 | XPMINC="" | |
3314 | $2 | |
3315 | else | |
3316 | AC_DEFINE(HAVE_XPM, 1, [Define if you have XPM support]) | |
3317 | if test "$XPM_LDFLAGS" = ""; then | |
3318 | XPMLIB='-lXpm $(LIB_X11)' | |
3319 | else | |
3320 | XPMLIB="-L$XPM_LDFLAGS -lXpm "'$(LIB_X11)' | |
3321 | fi | |
3322 | if test "$XPM_INCLUDE" = ""; then | |
3323 | XPMINC="" | |
3324 | else | |
3325 | XPMINC="-I$XPM_INCLUDE" | |
3326 | fi | |
3327 | AC_MSG_RESULT(yes) | |
3328 | $1 | |
3329 | fi | |
3330 | fi | |
3331 | AC_SUBST(XPMINC) | |
3332 | AC_SUBST(XPMLIB) | |
3333 | ]) | |
3334 | ||
3335 | AC_DEFUN(AC_HAVE_DPMS, | |
3336 | [AC_REQUIRE_CPP()dnl | |
3337 | AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) | |
3338 | ||
3339 | test -z "$DPMS_LDFLAGS" && DPMS_LDFLAGS= | |
3340 | test -z "$DPMS_INCLUDE" && DPMS_INCLUDE= | |
3341 | DPMS_LIB= | |
3342 | ||
3343 | AC_ARG_WITH(dpms, [ --without-dpms disable DPMS power saving], | |
3344 | dpms_test=$withval, dpms_test="yes") | |
3345 | if test "x$dpms_test" = xno; then | |
3346 | ac_cv_have_dpms=no | |
3347 | else | |
3348 | AC_MSG_CHECKING(for DPMS) | |
3349 | dnl Note: ac_cv_have_dpms can be no, yes, or -lXdpms. | |
3350 | dnl 'yes' means DPMS_LIB="", '-lXdpms' means DPMS_LIB="-lXdpms". | |
3351 | AC_CACHE_VAL(ac_cv_have_dpms, | |
3352 | [ | |
3353 | if test "x$kde_use_qt_emb" = "xyes"; then | |
3354 | AC_MSG_RESULT(no) | |
3355 | ac_cv_have_dpms="no" | |
3356 | else | |
3357 | AC_LANG_C | |
3358 | ac_save_ldflags="$LDFLAGS" | |
3359 | ac_save_cflags="$CFLAGS" | |
3360 | ac_save_libs="$LIBS" | |
3361 | LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" | |
3362 | CFLAGS="$CFLAGS $X_INCLUDES" | |
3363 | test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" | |
3364 | AC_TRY_LINK([ | |
3365 | #include <X11/Xproto.h> | |
3366 | #include <X11/X.h> | |
3367 | #include <X11/Xlib.h> | |
3368 | #include <X11/extensions/dpms.h> | |
3369 | int foo_test_dpms() | |
3370 | { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], | |
3371 | ac_cv_have_dpms="yes", [ | |
3372 | LDFLAGS="$ac_save_ldflags" | |
3373 | CFLAGS="$ac_save_cflags" | |
3374 | LDFLAGS="$LDFLAGS $DPMS_LDFLAGS $all_libraries -lX11 -lXext $LIBSOCKET" | |
3375 | LIBS="$LIBS -lXdpms" | |
3376 | CFLAGS="$CFLAGS $X_INCLUDES" | |
3377 | test -n "$DPMS_INCLUDE" && CFLAGS="-I$DPMS_INCLUDE $CFLAGS" | |
3378 | AC_TRY_LINK([ | |
3379 | #include <X11/Xproto.h> | |
3380 | #include <X11/X.h> | |
3381 | #include <X11/Xlib.h> | |
3382 | #include <X11/extensions/dpms.h> | |
3383 | int foo_test_dpms() | |
3384 | { return DPMSSetTimeouts( 0, 0, 0, 0 ); }],[], | |
3385 | [ | |
3386 | ac_cv_have_dpms="-lXdpms" | |
3387 | ],ac_cv_have_dpms="no") | |
3388 | ]) | |
3389 | LDFLAGS="$ac_save_ldflags" | |
3390 | CFLAGS="$ac_save_cflags" | |
3391 | LIBS="$ac_save_libs" | |
3392 | fi | |
3393 | ])dnl | |
3394 | ||
3395 | if test "$ac_cv_have_dpms" = no; then | |
3396 | AC_MSG_RESULT(no) | |
3397 | DPMS_LDFLAGS="" | |
3398 | DPMSINC="" | |
3399 | $2 | |
3400 | else | |
3401 | AC_DEFINE(HAVE_DPMS, 1, [Define if you have DPMS support]) | |
3402 | if test "$ac_cv_have_dpms" = "-lXdpms"; then | |
3403 | DPMS_LIB="-lXdpms" | |
3404 | fi | |
3405 | if test "$DPMS_LDFLAGS" = ""; then | |
3406 | DPMSLIB="$DPMS_LIB "'$(LIB_X11)' | |
3407 | else | |
3408 | DPMSLIB="$DPMS_LDFLAGS $DPMS_LIB "'$(LIB_X11)' | |
3409 | fi | |
3410 | if test "$DPMS_INCLUDE" = ""; then | |
3411 | DPMSINC="" | |
3412 | else | |
3413 | DPMSINC="-I$DPMS_INCLUDE" | |
3414 | fi | |
3415 | AC_MSG_RESULT(yes) | |
3416 | $1 | |
3417 | fi | |
3418 | fi | |
3419 | AC_SUBST(DPMSINC) | |
3420 | AC_SUBST(DPMSLIB) | |
3421 | ]) | |
3422 | ||
3423 | AC_DEFUN(AC_HAVE_GL, | |
3424 | [AC_REQUIRE_CPP()dnl | |
3425 | AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) | |
3426 | ||
3427 | test -z "$GL_LDFLAGS" && GL_LDFLAGS= | |
3428 | test -z "$GL_INCLUDE" && GL_INCLUDE= | |
3429 | ||
3430 | AC_ARG_WITH(gl, [ --without-gl disable 3D GL modes], | |
3431 | gl_test=$withval, gl_test="yes") | |
3432 | if test "x$kde_use_qt_emb" = "xyes"; then | |
3433 | # GL and Qt Embedded is a no-go for now. | |
3434 | ac_cv_have_gl=no | |
3435 | elif test "x$gl_test" = xno; then | |
3436 | ac_cv_have_gl=no | |
3437 | else | |
3438 | AC_MSG_CHECKING(for GL) | |
3439 | AC_CACHE_VAL(ac_cv_have_gl, | |
3440 | [ | |
3441 | AC_LANG_SAVE | |
3442 | AC_LANG_CPLUSPLUS | |
3443 | ac_save_ldflags="$LDFLAGS" | |
3444 | ac_save_cxxflags="$CXXFLAGS" | |
3445 | LDFLAGS="$LDFLAGS $GL_LDFLAGS $X_LDFLAGS $all_libraries -lMesaGL -lMesaGLU" | |
3446 | test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" | |
3447 | LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" | |
3448 | CXXFLAGS="$CFLAGS $X_INCLUDES" | |
3449 | test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" | |
3450 | AC_TRY_LINK([#include <GL/gl.h> | |
3451 | #include <GL/glu.h> | |
3452 | ], [], | |
3453 | ac_cv_have_gl="mesa", ac_cv_have_gl="no") | |
3454 | if test "x$ac_cv_have_gl" = "xno"; then | |
3455 | LDFLAGS="$ac_save_ldflags $X_LDFLAGS $GL_LDFLAGS $all_libraries -lGLU -lGL" | |
3456 | test "x$kde_use_qt_emb" != xyes && LDFLAGS="$LDFLAGS -lX11" | |
3457 | LDFLAGS="$LDFLAGS $LIB_XEXT -lm $LIBSOCKET" | |
3458 | CXXFLAGS="$ac_save_cflags $X_INCLUDES" | |
3459 | test -n "$GL_INCLUDE" && CFLAGS="-I$GL_INCLUDE $CFLAGS" | |
3460 | AC_TRY_LINK([#include <GL/gl.h> | |
3461 | #include <GL/glu.h> | |
3462 | ], [], | |
3463 | ac_cv_have_gl="yes", ac_cv_have_gl="no") | |
3464 | fi | |
3465 | AC_LANG_RESTORE | |
3466 | LDFLAGS="$ac_save_ldflags" | |
3467 | CXXFLAGS="$ac_save_cxxflags" | |
3468 | ])dnl | |
3469 | ||
3470 | if test "$ac_cv_have_gl" = "no"; then | |
3471 | AC_MSG_RESULT(no) | |
3472 | GL_LDFLAGS="" | |
3473 | GLINC="" | |
3474 | $2 | |
3475 | else | |
3476 | AC_DEFINE(HAVE_GL, 1, [Defines if you have GL (Mesa, OpenGL, ...)]) | |
3477 | if test "$GL_LDFLAGS" = ""; then | |
3478 | if test "$ac_cv_have_gl" = "mesa"; then | |
3479 | GLLIB='-lMesaGLU -lMesaGL $(LIB_X11)' | |
3480 | else | |
3481 | GLLIB='-lGLU -lGL $(LIB_X11)' | |
3482 | fi | |
3483 | else | |
3484 | if test "$ac_cv_have_gl" = "mesa"; then | |
3485 | GLLIB="$GL_LDFLAGS -lMesaGLU -lMesaGL "'$(LIB_X11)' | |
3486 | else | |
3487 | GLLIB="$GL_LDFLAGS -lGLU -lGL "'$(LIB_X11)' | |
3488 | fi | |
3489 | fi | |
3490 | if test "$GL_INCLUDE" = ""; then | |
3491 | GLINC="" | |
3492 | else | |
3493 | GLINC="-I$GL_INCLUDE" | |
3494 | fi | |
3495 | AC_MSG_RESULT($ac_cv_have_gl) | |
3496 | $1 | |
3497 | fi | |
3498 | fi | |
3499 | AC_SUBST(GLINC) | |
3500 | AC_SUBST(GLLIB) | |
3501 | ]) | |
3502 | ||
3503 | ||
3504 | dnl shadow password and PAM magic - maintained by ossi@kde.org | |
3505 | ||
3506 | AC_DEFUN(KDE_PAM, [ | |
3507 | AC_REQUIRE([KDE_CHECK_LIBDL]) | |
3508 | ||
3509 | AC_ARG_WITH(pam, | |
3510 | [ --with-pam[=ARG] enable support for PAM: ARG=[yes|no|service name]], | |
3511 | [ if test "x$withval" = "xyes"; then | |
3512 | use_pam=yes | |
3513 | pam_service=kde | |
3514 | elif test "x$withval" = "xno"; then | |
3515 | use_pam=no | |
3516 | else | |
3517 | use_pam=yes | |
3518 | pam_service=$withval | |
3519 | fi | |
3520 | ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service" | |
3521 | ], [ | |
3522 | AC_CACHE_VAL(ac_cv_path_pam, | |
3523 | [ use_pam=no | |
3524 | AC_CHECK_LIB(pam, pam_start, | |
3525 | [ AC_CHECK_HEADER(security/pam_appl.h, | |
3526 | [ use_pam=yes | |
3527 | pam_service=kde ]) | |
3528 | ], , $LIBDL) | |
3529 | ac_cv_path_pam="use_pam=$use_pam pam_service=$pam_service" | |
3530 | ]) | |
3531 | ]) | |
3532 | eval "$ac_cv_path_pam" | |
3533 | ||
3534 | AC_MSG_CHECKING(for PAM) | |
3535 | if test "x$use_pam" = xno; then | |
3536 | AC_MSG_RESULT(no) | |
3537 | PAMLIBS="" | |
3538 | else | |
3539 | AC_MSG_RESULT(yes) | |
3540 | AC_DEFINE(HAVE_PAM, 1, [Defines if you have PAM (Pluggable Authentication Modules)]) | |
3541 | PAMLIBS="$PAM_MISC_LIB -lpam $LIBDL" | |
3542 | ||
3543 | dnl test whether struct pam_message is const (Linux) or not (Sun) | |
3544 | AC_MSG_CHECKING(for const pam_message) | |
3545 | AC_EGREP_HEADER([struct pam_message], security/pam_appl.h, | |
3546 | [ AC_EGREP_HEADER([const struct pam_message], security/pam_appl.h, | |
3547 | [AC_MSG_RESULT([const: Linux-type PAM])], | |
3548 | [AC_MSG_RESULT([nonconst: Sun-type PAM]) | |
3549 | AC_DEFINE(PAM_MESSAGE_NONCONST, 1, [Define if your PAM support takes non-const arguments (Solaris)])] | |
3550 | )], | |
3551 | [AC_MSG_RESULT([not found - assume const, Linux-type PAM])]) | |
3552 | fi | |
3553 | ||
3554 | AC_SUBST(PAMLIBS) | |
3555 | ]) | |
3556 | ||
3557 | dnl DEF_PAM_SERVICE(arg name, full name, define name) | |
3558 | AC_DEFUN(DEF_PAM_SERVICE, [ | |
3559 | AC_ARG_WITH($1-pam, | |
3560 | [ --with-$1-pam=[val] override PAM service from --with-pam for $2], | |
3561 | [ if test "x$use_pam" = xyes; then | |
3562 | $3_PAM_SERVICE="$withval" | |
3563 | else | |
3564 | AC_MSG_ERROR([Cannot use use --with-$1-pam, as no PAM was detected. | |
3565 | You may want to enforce it by using --with-pam.]) | |
3566 | fi | |
3567 | ], | |
3568 | [ if test "x$use_pam" = xyes; then | |
3569 | $3_PAM_SERVICE="$pam_service" | |
3570 | fi | |
3571 | ]) | |
3572 | if test -n "$$3_PAM_SERVICE"; then | |
3573 | AC_MSG_RESULT([The PAM service used by $2 will be $$3_PAM_SERVICE]) | |
3574 | AC_DEFINE_UNQUOTED($3_PAM_SERVICE, "$$3_PAM_SERVICE", [The PAM service to be used by $2]) | |
3575 | fi | |
3576 | AC_SUBST($3_PAM_SERVICE) | |
3577 | ]) | |
3578 | ||
3579 | AC_DEFUN(KDE_SHADOWPASSWD, [ | |
3580 | AC_REQUIRE([KDE_PAM]) | |
3581 | ||
3582 | AC_CHECK_LIB(shadow, getspent, | |
3583 | [ LIBSHADOW="-lshadow" | |
3584 | ac_use_shadow=yes | |
3585 | ], | |
3586 | [ dnl for UnixWare | |
3587 | AC_CHECK_LIB(gen, getspent, | |
3588 | [ LIBGEN="-lgen" | |
3589 | ac_use_shadow=yes | |
3590 | ], | |
3591 | [ AC_CHECK_FUNC(getspent, | |
3592 | [ ac_use_shadow=yes ], | |
3593 | [ ac_use_shadow=no ]) | |
3594 | ]) | |
3595 | ]) | |
3596 | AC_SUBST(LIBSHADOW) | |
3597 | AC_SUBST(LIBGEN) | |
3598 | ||
3599 | AC_MSG_CHECKING([for shadow passwords]) | |
3600 | ||
3601 | AC_ARG_WITH(shadow, | |
3602 | [ --with-shadow If you want shadow password support ], | |
3603 | [ if test "x$withval" != "xno"; then | |
3604 | use_shadow=yes | |
3605 | else | |
3606 | use_shadow=no | |
3607 | fi | |
3608 | ], [ | |
3609 | use_shadow="$ac_use_shadow" | |
3610 | ]) | |
3611 | ||
3612 | if test "x$use_shadow" = xyes; then | |
3613 | AC_MSG_RESULT(yes) | |
3614 | AC_DEFINE(HAVE_SHADOW, 1, [Define if you use shadow passwords]) | |
3615 | else | |
3616 | AC_MSG_RESULT(no) | |
3617 | LIBSHADOW= | |
3618 | LIBGEN= | |
3619 | fi | |
3620 | ||
3621 | dnl finally make the relevant binaries setuid root, if we have shadow passwds. | |
3622 | dnl this still applies, if we could use it indirectly through pam. | |
3623 | if test "x$use_shadow" = xyes || | |
3624 | ( test "x$use_pam" = xyes && test "x$ac_use_shadow" = xyes ); then | |
3625 | case $host in | |
3626 | *-*-freebsd* | *-*-netbsd* | *-*-openbsd*) | |
3627 | SETUIDFLAGS="-m 4755 -o root";; | |
3628 | *) | |
3629 | SETUIDFLAGS="-m 4755";; | |
3630 | esac | |
3631 | fi | |
3632 | AC_SUBST(SETUIDFLAGS) | |
3633 | ||
3634 | ]) | |
3635 | ||
3636 | AC_DEFUN(KDE_PASSWDLIBS, [ | |
3637 | AC_REQUIRE([KDE_MISC_TESTS]) dnl for LIBCRYPT | |
3638 | AC_REQUIRE([KDE_PAM]) | |
3639 | AC_REQUIRE([KDE_SHADOWPASSWD]) | |
3640 | ||
3641 | if test "x$use_pam" = "xyes"; then | |
3642 | PASSWDLIBS="$PAMLIBS" | |
3643 | else | |
3644 | PASSWDLIBS="$LIBCRYPT $LIBSHADOW $LIBGEN" | |
3645 | fi | |
3646 | ||
3647 | dnl FreeBSD uses a shadow-like setup, where /etc/passwd holds the users, but | |
3648 | dnl /etc/master.passwd holds the actual passwords. /etc/master.passwd requires | |
3649 | dnl root to read, so kcheckpass needs to be root (even when using pam, since pam | |
3650 | dnl may need to read /etc/master.passwd). | |
3651 | case $host in | |
3652 | *-*-freebsd*) | |
3653 | SETUIDFLAGS="-m 4755 -o root" | |
3654 | ;; | |
3655 | *) | |
3656 | ;; | |
3657 | esac | |
3658 | ||
3659 | AC_SUBST(PASSWDLIBS) | |
3660 | ]) | |
3661 | ||
3662 | AC_DEFUN(KDE_CHECK_LIBDL, | |
3663 | [ | |
3664 | AC_CHECK_LIB(dl, dlopen, [ | |
3665 | LIBDL="-ldl" | |
3666 | ac_cv_have_dlfcn=yes | |
3667 | ]) | |
3668 | ||
3669 | AC_CHECK_LIB(dld, shl_unload, [ | |
3670 | LIBDL="-ldld" | |
3671 | ac_cv_have_shload=yes | |
3672 | ]) | |
3673 | ||
3674 | AC_SUBST(LIBDL) | |
3675 | ]) | |
3676 | ||
3677 | AC_DEFUN(KDE_CHECK_DLOPEN, | |
3678 | [ | |
3679 | KDE_CHECK_LIBDL | |
3680 | AC_CHECK_HEADERS(dlfcn.h dl.h) | |
3681 | if test "$ac_cv_header_dlfcn_h" = "no"; then | |
3682 | ac_cv_have_dlfcn=no | |
3683 | fi | |
3684 | ||
3685 | if test "$ac_cv_header_dl_h" = "no"; then | |
3686 | ac_cv_have_shload=no | |
3687 | fi | |
3688 | ||
3689 | dnl XXX why change enable_dlopen? its already set by autoconf's AC_ARG_ENABLE | |
3690 | dnl (MM) | |
3691 | AC_ARG_ENABLE(dlopen, | |
3692 | [ --disable-dlopen link statically [default=no]] , | |
3693 | enable_dlopen=$enableval, | |
3694 | enable_dlopen=yes) | |
3695 | ||
3696 | # override the user's opinion, if we know it better ;) | |
3697 | if test "$ac_cv_have_dlfcn" = "no" && test "$ac_cv_have_shload" = "no"; then | |
3698 | enable_dlopen=no | |
3699 | fi | |
3700 | ||
3701 | if test "$ac_cv_have_dlfcn" = "yes"; then | |
3702 | AC_DEFINE_UNQUOTED(HAVE_DLFCN, 1, [Define if you have dlfcn]) | |
3703 | fi | |
3704 | ||
3705 | if test "$ac_cv_have_shload" = "yes"; then | |
3706 | AC_DEFINE_UNQUOTED(HAVE_SHLOAD, 1, [Define if you have shload]) | |
3707 | fi | |
3708 | ||
3709 | if test "$enable_dlopen" = no ; then | |
3710 | test -n "$1" && eval $1 | |
3711 | else | |
3712 | test -n "$2" && eval $2 | |
3713 | fi | |
3714 | ||
3715 | ]) | |
3716 | ||
3717 | AC_DEFUN(KDE_CHECK_DYNAMIC_LOADING, | |
3718 | [ | |
3719 | KDE_CHECK_DLOPEN(libtool_enable_shared=yes, libtool_enable_static=no) | |
3720 | KDE_PROG_LIBTOOL | |
3721 | AC_MSG_CHECKING([dynamic loading]) | |
3722 | eval "`egrep '^build_libtool_libs=' libtool`" | |
3723 | if test "$build_libtool_libs" = "yes" && test "$enable_dlopen" = "yes"; then | |
3724 | dynamic_loading=yes | |
3725 | AC_DEFINE_UNQUOTED(HAVE_DYNAMIC_LOADING) | |
3726 | else | |
3727 | dynamic_loading=no | |
3728 | fi | |
3729 | AC_MSG_RESULT($dynamic_loading) | |
3730 | if test "$dynamic_loading" = "yes"; then | |
3731 | $1 | |
3732 | else | |
3733 | $2 | |
3734 | fi | |
3735 | ]) | |
3736 | ||
3737 | AC_DEFUN(KDE_ADD_INCLUDES, | |
3738 | [ | |
3739 | if test -z "$1"; then | |
3740 | test_include="Pix.h" | |
3741 | else | |
3742 | test_include="$1" | |
3743 | fi | |
3744 | ||
3745 | AC_MSG_CHECKING([for libg++ ($test_include)]) | |
3746 | ||
3747 | AC_CACHE_VAL(kde_cv_libgpp_includes, | |
3748 | [ | |
3749 | kde_cv_libgpp_includes=no | |
3750 | ||
3751 | for ac_dir in \ | |
3752 | \ | |
3753 | /usr/include/g++ \ | |
3754 | /usr/include \ | |
3755 | /usr/unsupported/include \ | |
3756 | /opt/include \ | |
3757 | $extra_include \ | |
3758 | ; \ | |
3759 | do | |
3760 | if test -r "$ac_dir/$test_include"; then | |
3761 | kde_cv_libgpp_includes=$ac_dir | |
3762 | break | |
3763 | fi | |
3764 | done | |
3765 | ]) | |
3766 | ||
3767 | AC_MSG_RESULT($kde_cv_libgpp_includes) | |
3768 | if test "$kde_cv_libgpp_includes" != "no"; then | |
3769 | all_includes="-I$kde_cv_libgpp_includes $all_includes $USER_INCLUDES" | |
3770 | fi | |
3771 | ]) | |
3772 | ]) | |
3773 | ||
3774 | ||
3775 | AC_DEFUN(KDE_CHECK_MICO, | |
3776 | [ | |
3777 | AC_REQUIRE([KDE_CHECK_LIBDL]) | |
3778 | AC_REQUIRE([KDE_MISC_TESTS]) | |
3779 | AC_MSG_CHECKING(for MICO) | |
3780 | ||
3781 | if test -z "$MICODIR"; then | |
3782 | kde_micodir=/usr/local | |
3783 | else | |
3784 | kde_micodir="$MICODIR" | |
3785 | fi | |
3786 | ||
3787 | AC_ARG_WITH(micodir, | |
3788 | [ --with-micodir=micodir where mico is installed ], | |
3789 | kde_micodir=$withval, | |
3790 | kde_micodir=$kde_micodir | |
3791 | ) | |
3792 | ||
3793 | AC_CACHE_VAL(kde_cv_mico_incdir, | |
3794 | [ | |
3795 | mico_incdirs="$kde_micodir/include /usr/include /usr/local/include /usr/local/include /opt/local/include $kde_extra_includes" | |
3796 | AC_FIND_FILE(CORBA.h, $mico_incdirs, kde_cv_mico_incdir) | |
3797 | ||
3798 | ]) | |
3799 | kde_micodir=`echo $kde_cv_mico_incdir | sed -e 's#/include##'` | |
3800 | ||
3801 | if test ! -r $kde_micodir/include/CORBA.h; then | |
3802 | AC_MSG_ERROR([No CORBA.h found, specify another micodir]) | |
3803 | fi | |
3804 | ||
3805 | AC_MSG_RESULT($kde_micodir) | |
3806 | ||
3807 | MICO_INCLUDES=-I$kde_micodir/include | |
3808 | AC_SUBST(MICO_INCLUDES) | |
3809 | MICO_LDFLAGS=-L$kde_micodir/lib | |
3810 | AC_SUBST(MICO_LDFLAGS) | |
3811 | micodir=$kde_micodir | |
3812 | AC_SUBST(micodir) | |
3813 | ||
3814 | AC_MSG_CHECKING([for MICO version]) | |
3815 | AC_CACHE_VAL(kde_cv_mico_version, | |
3816 | [ | |
3817 | AC_LANG_C | |
3818 | cat >conftest.$ac_ext <<EOF | |
3819 | #include <stdio.h> | |
3820 | #include <mico/version.h> | |
3821 | int main() { | |
3822 | ||
3823 | printf("MICO_VERSION=%s\n",MICO_VERSION); | |
3824 | return (0); | |
3825 | } | |
3826 | EOF | |
3827 | ac_compile='${CC-gcc} $CFLAGS $MICO_INCLUDES conftest.$ac_ext -o conftest' | |
3828 | if AC_TRY_EVAL(ac_compile); then | |
3829 | if eval `./conftest 2>&5`; then | |
3830 | kde_cv_mico_version=$MICO_VERSION | |
3831 | else | |
3832 | AC_MSG_ERROR([your system is not able to execute a small application to | |
3833 | find MICO version! Check $kde_micodir/include/mico/version.h]) | |
3834 | fi | |
3835 | else | |
3836 | AC_MSG_ERROR([your system is not able to compile a small application to | |
3837 | find MICO version! Check $kde_micodir/include/mico/version.h]) | |
3838 | fi | |
3839 | ]) | |
3840 | ||
3841 | dnl installed MICO version | |
3842 | mico_v_maj=`echo $kde_cv_mico_version | sed -e 's/^\(.*\)\..*\..*$/\1/'` | |
3843 | mico_v_mid=`echo $kde_cv_mico_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'` | |
3844 | mico_v_min=`echo $kde_cv_mico_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'` | |
3845 | ||
3846 | if test "x$1" = "x"; then | |
3847 | req_version="2.3.0" | |
3848 | else | |
3849 | req_version=$1 | |
3850 | fi | |
3851 | ||
3852 | dnl required MICO version | |
3853 | req_v_maj=`echo $req_version | sed -e 's/^\(.*\)\..*\..*$/\1/'` | |
3854 | req_v_mid=`echo $req_version | sed -e 's/^.*\.\(.*\)\..*$/\1/'` | |
3855 | req_v_min=`echo $req_version | sed -e 's/^.*\..*\.\(.*\)$/\1/'` | |
3856 | ||
3857 | if test "$mico_v_maj" -lt "$req_v_maj" || \ | |
3858 | ( test "$mico_v_maj" -eq "$req_v_maj" && \ | |
3859 | test "$mico_v_mid" -lt "$req_v_mid" ) || \ | |
3860 | ( test "$mico_v_mid" -eq "$req_v_mid" && \ | |
3861 | test "$mico_v_min" -lt "$req_v_min" ) | |
3862 | ||
3863 | then | |
3864 | AC_MSG_ERROR([found MICO version $kde_cv_mico_version but version $req_version \ | |
3865 | at least is required. You should upgrade MICO.]) | |
3866 | else | |
3867 | AC_MSG_RESULT([$kde_cv_mico_version (minimum version $req_version, ok)]) | |
3868 | fi | |
3869 | ||
3870 | LIBMICO="-lmico$kde_cv_mico_version $LIBCRYPT $LIBSOCKET $LIBDL" | |
3871 | AC_SUBST(LIBMICO) | |
3872 | if test -z "$IDL"; then | |
3873 | IDL='$(kde_bindir)/cuteidl' | |
3874 | fi | |
3875 | AC_SUBST(IDL) | |
3876 | IDL_DEPENDENCIES='$(kde_includes)/CUTE.h' | |
3877 | AC_SUBST(IDL_DEPENDENCIES) | |
3878 | ||
3879 | idldir="\$(includedir)/idl" | |
3880 | AC_SUBST(idldir) | |
3881 | ||
3882 | ]) | |
3883 | ||
3884 | AC_DEFUN(KDE_CHECK_MINI_STL, | |
3885 | [ | |
3886 | AC_REQUIRE([KDE_CHECK_MICO]) | |
3887 | ||
3888 | AC_MSG_CHECKING(if we use mico's mini-STL) | |
3889 | AC_CACHE_VAL(kde_cv_have_mini_stl, | |
3890 | [ | |
3891 | AC_LANG_SAVE | |
3892 | AC_LANG_CPLUSPLUS | |
3893 | kde_save_cxxflags="$CXXFLAGS" | |
3894 | CXXFLAGS="$CXXFLAGS $MICO_INCLUDES" | |
3895 | AC_TRY_COMPILE( | |
3896 | [ | |
3897 | #include <mico/config.h> | |
3898 | ], | |
3899 | [ | |
3900 | #ifdef HAVE_MINI_STL | |
3901 | #error "nothing" | |
3902 | #endif | |
3903 | ], | |
3904 | kde_cv_have_mini_stl=no, | |
3905 | kde_cv_have_mini_stl=yes) | |
3906 | CXXFLAGS="$kde_save_cxxflags" | |
3907 | AC_LANG_RESTORE | |
3908 | ]) | |
3909 | ||
3910 | if test "x$kde_cv_have_mini_stl" = "xyes"; then | |
3911 | AC_MSG_RESULT(yes) | |
3912 | $1 | |
3913 | else | |
3914 | AC_MSG_RESULT(no) | |
3915 | $2 | |
3916 | fi | |
3917 | ]) | |
3918 | ||
3919 | ]) | |
3920 | ||
3921 | ||
3922 | AC_DEFUN(KDE_CHECK_LIBPTHREAD, | |
3923 | [ | |
3924 | AC_CHECK_LIB(pthread, pthread_create, [LIBPTHREAD="-lpthread"] ) | |
3925 | AC_SUBST(LIBPTHREAD) | |
3926 | ]) | |
3927 | ||
3928 | AC_DEFUN(KDE_CHECK_PTHREAD_OPTION, | |
3929 | [ | |
3930 | AC_ARG_ENABLE(kernel-threads, [ --enable-kernel-threads Enable the use of the LinuxThreads port on FreeBSD/i386 only.], | |
3931 | kde_use_kernthreads=$enableval, kde_use_kernthreads=no) | |
3932 | ||
3933 | if test "$kde_use_kernthreads" = "yes"; then | |
3934 | ac_save_CXXFLAGS="$CXXFLAGS" | |
3935 | ac_save_CFLAGS="$CFLAGS" | |
3936 | CXXFLAGS="-I/usr/local/include/pthread/linuxthreads $CXXFLAGS" | |
3937 | CFLAGS="-I/usr/local/include/pthread/linuxthreads $CFLAGS" | |
3938 | AC_CHECK_HEADERS(pthread/linuxthreads/pthread.h) | |
3939 | CXXFLAGS="$ac_save_CXXFLAGS" | |
3940 | CFLAGS="$ac_save_CFLAGS" | |
3941 | if test "$ac_cv_header_pthread_linuxthreads_pthread_h" = "no"; then | |
3942 | kde_use_kernthreads=no | |
3943 | else | |
3944 | dnl Add proper -I and -l statements | |
3945 | AC_CHECK_LIB(lthread, pthread_join, [LIBPTHREAD="-llthread -llgcc_r"]) dnl for FreeBSD | |
3946 | if test "x$LIBPTHREAD" = "x"; then | |
3947 | kde_use_kernthreads=no | |
3948 | else | |
3949 | USE_THREADS="-D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads" | |
3950 | fi | |
3951 | fi | |
3952 | else | |
3953 | USE_THREADS="" | |
3954 | if test -z "$LIBPTHREAD"; then | |
3955 | KDE_CHECK_COMPILER_FLAG(pthread, [USE_THREADS="-pthread"] ) | |
3956 | fi | |
3957 | fi | |
3958 | ||
3959 | AH_VERBATIM(__svr_define, [ | |
3960 | #if defined(__SVR4) && !defined(__svr4__) | |
3961 | #define __svr4__ 1 | |
3962 | #endif | |
3963 | ]) | |
3964 | case $host_os in | |
3965 | solaris*) | |
3966 | KDE_CHECK_COMPILER_FLAG(mt, [USE_THREADS="-mt"]) | |
3967 | CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4" | |
3968 | ;; | |
3969 | freebsd*) | |
3970 | CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" | |
3971 | ;; | |
3972 | aix*) | |
3973 | CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" | |
3974 | LIBPTHREAD="$LIBPTHREAD -lc_r" | |
3975 | ;; | |
3976 | linux*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" | |
3977 | if test "$CXX" = "KCC"; then | |
3978 | CXXFLAGS="$CXXFLAGS --thread_safe" | |
3979 | NOOPT_CXXFLAGS="$NOOPT_CXXFLAGS --thread_safe" | |
3980 | fi | |
3981 | ;; | |
3982 | *) | |
3983 | ;; | |
3984 | esac | |
3985 | AC_SUBST(USE_THREADS) | |
3986 | AC_SUBST(LIBPTHREAD) | |
3987 | ]) | |
3988 | ||
3989 | AC_DEFUN(KDE_CHECK_THREADING, | |
3990 | [ | |
3991 | AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) | |
3992 | AC_REQUIRE([KDE_CHECK_PTHREAD_OPTION]) | |
3993 | dnl default is yes if libpthread is found and no if no libpthread is available | |
3994 | if test -z "$LIBPTHREAD"; then | |
3995 | if test -z "$USE_THREADS"; then | |
3996 | kde_check_threading_default=no | |
3997 | else | |
3998 | kde_check_threading_default=yes | |
3999 | fi | |
4000 | else | |
4001 | kde_check_threading_default=yes | |
4002 | fi | |
4003 | AC_ARG_ENABLE(threading, [ --disable-threading disables threading even if libpthread found ], | |
4004 | kde_use_threading=$enableval, kde_use_threading=$kde_check_threading_default) | |
4005 | if test "x$kde_use_threading" = "xyes"; then | |
4006 | AC_DEFINE(HAVE_LIBPTHREAD, 1, [Define if you have a working libpthread (will enable threaded code)]) | |
4007 | fi | |
4008 | ]) | |
4009 | ||
4010 | AC_DEFUN(KDE_TRY_LINK_PYTHON, | |
4011 | [ | |
4012 | if test "$kde_python_link_found" = no; then | |
4013 | ||
4014 | if test "$1" = normal; then | |
4015 | AC_MSG_CHECKING(if a Python application links) | |
4016 | else | |
4017 | AC_MSG_CHECKING(if Python depends on $2) | |
4018 | fi | |
4019 | ||
4020 | AC_CACHE_VAL(kde_cv_try_link_python_$1, | |
4021 | [ | |
4022 | AC_LANG_SAVE | |
4023 | AC_LANG_C | |
4024 | kde_save_cflags="$CFLAGS" | |
4025 | CFLAGS="$CFLAGS $PYTHONINC" | |
4026 | kde_save_libs="$LIBS" | |
4027 | LIBS="$LIBS $LIBPYTHON $2 $LIBDL $LIBSOCKET" | |
4028 | kde_save_ldflags="$LDFLAGS" | |
4029 | LDFLAGS="$LDFLAGS $PYTHONLIB" | |
4030 | ||
4031 | AC_TRY_LINK( | |
4032 | [ | |
4033 | #include <Python.h> | |
4034 | ],[ | |
4035 | PySys_SetArgv(1, 0); | |
4036 | ], | |
4037 | [kde_cv_try_link_python_$1=yes], | |
4038 | [kde_cv_try_link_python_$1=no] | |
4039 | ) | |
4040 | CFLAGS="$kde_save_cflags" | |
4041 | LIBS="$kde_save_libs" | |
4042 | LDFLAGS="$kde_save_ldflags" | |
4043 | ]) | |
4044 | ||
4045 | if test "$kde_cv_try_link_python_$1" = "yes"; then | |
4046 | AC_MSG_RESULT(yes) | |
4047 | kde_python_link_found=yes | |
4048 | if test ! "$1" = normal; then | |
4049 | LIBPYTHON="$LIBPYTHON $2" | |
4050 | fi | |
4051 | $3 | |
4052 | else | |
4053 | AC_MSG_RESULT(no) | |
4054 | $4 | |
4055 | fi | |
4056 | AC_LANG_RESTORE | |
4057 | ||
4058 | fi | |
4059 | ||
4060 | ]) | |
4061 | ||
4062 | AC_DEFUN(KDE_CHECK_PYTHON_DIR, | |
4063 | [ | |
4064 | AC_MSG_CHECKING([for Python directory]) | |
4065 | ||
4066 | AC_CACHE_VAL(kde_cv_pythondir, | |
4067 | [ | |
4068 | if test -z "$PYTHONDIR"; then | |
4069 | kde_cv_pythondir=/usr/local | |
4070 | else | |
4071 | kde_cv_pythondir="$PYTHONDIR" | |
4072 | fi | |
4073 | ]) | |
4074 | ||
4075 | AC_ARG_WITH(pythondir, | |
4076 | [ --with-pythondir=pythondir use python installed in pythondir ], | |
4077 | [ | |
4078 | ac_python_dir=$withval | |
4079 | ], ac_python_dir=$kde_cv_pythondir | |
4080 | ) | |
4081 | ||
4082 | AC_MSG_RESULT($ac_python_dir) | |
4083 | ]) | |
4084 | ||
4085 | AC_DEFUN(KDE_CHECK_PYTHON_INTERN, | |
4086 | [ | |
4087 | AC_REQUIRE([KDE_CHECK_LIBDL]) | |
4088 | AC_REQUIRE([KDE_CHECK_LIBPTHREAD]) | |
4089 | AC_REQUIRE([KDE_CHECK_PYTHON_DIR]) | |
4090 | ||
4091 | if test -z "$1"; then | |
4092 | version="1.5" | |
4093 | else | |
4094 | version="$1" | |
4095 | fi | |
4096 | ||
4097 | AC_MSG_CHECKING([for Python$version]) | |
4098 | ||
4099 | python_incdirs="$ac_python_dir/include /usr/include /usr/local/include/ $kde_extra_includes" | |
4100 | AC_FIND_FILE(Python.h, $python_incdirs, python_incdir) | |
4101 | if test ! -r $python_incdir/Python.h; then | |
4102 | AC_FIND_FILE(python$version/Python.h, $python_incdirs, python_incdir) | |
4103 | python_incdir=$python_incdir/python$version | |
4104 | if test ! -r $python_incdir/Python.h; then | |
4105 | python_incdir=no | |
4106 | fi | |
4107 | fi | |
4108 | ||
4109 | PYTHONINC=-I$python_incdir | |
4110 | ||
4111 | python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs" | |
4112 | AC_FIND_FILE(libpython$version.a, $python_libdirs, python_libdir) | |
4113 | if test ! -r $python_libdir/libpython$version.a; then | |
4114 | AC_FIND_FILE(python$version/config/libpython$version.a, $python_libdirs, python_libdir) | |
4115 | python_libdir=$python_libdir/python$version/config | |
4116 | if test ! -r $python_libdir/libpython$version.a; then | |
4117 | python_libdir=no | |
4118 | fi | |
4119 | fi | |
4120 | ||
4121 | PYTHONLIB=-L$python_libdir | |
4122 | kde_orig_LIBPYTHON=$LIBPYTHON | |
4123 | if test -z "$LIBPYTHON"; then | |
4124 | LIBPYTHON=-lpython$version | |
4125 | fi | |
4126 | ||
4127 | python_libdirs="$ac_python_dir/lib /usr/lib /usr/local /usr/lib $kde_extra_libs" | |
4128 | AC_FIND_FILE(python$version/copy.py, $python_libdirs, python_moddir) | |
4129 | python_moddir=$python_moddir/python$version | |
4130 | if test ! -r $python_moddir/copy.py; then | |
4131 | python_moddir=no | |
4132 | fi | |
4133 | ||
4134 | PYTHONMODDIR=$python_moddir | |
4135 | ||
4136 | AC_MSG_RESULT(header $python_incdir library $python_libdir modules $python_moddir) | |
4137 | ||
4138 | if test x$python_incdir = xno || test x$python_libdir = xno || test x$python_moddir = xno; then | |
4139 | LIBPYTHON=$kde_orig_LIBPYTHON | |
4140 | test "x$PYTHONLIB" = "x-Lno" && PYTHONLIB="" | |
4141 | test "x$PYTHONINC" = "x-Ino" && PYTHONINC="" | |
4142 | $2 | |
4143 | else | |
4144 | dnl Note: this test is very weak | |
4145 | kde_python_link_found=no | |
4146 | KDE_TRY_LINK_PYTHON(normal) | |
4147 | KDE_TRY_LINK_PYTHON(m, -lm) | |
4148 | KDE_TRY_LINK_PYTHON(pthread, $LIBPTHREAD) | |
4149 | KDE_TRY_LINK_PYTHON(tcl, -ltcl) | |
4150 | KDE_TRY_LINK_PYTHON(db2, -ldb2) | |
4151 | KDE_TRY_LINK_PYTHON(m_and_thread, [$LIBPTHREAD -lm]) | |
4152 | KDE_TRY_LINK_PYTHON(m_and_thread_and_util, [$LIBPTHREAD -lm -lutil]) | |
4153 | KDE_TRY_LINK_PYTHON(m_and_thread_and_db3, [$LIBPTHREAD -lm -ldb-3 -lutil]) | |
4154 | KDE_TRY_LINK_PYTHON(pthread_and_db3, [$LIBPTHREAD -ldb-3]) | |
4155 | KDE_TRY_LINK_PYTHON(m_and_thread_and_db, [$LIBPTHREAD -lm -ldb -ltermcap -lutil]) | |
4156 | KDE_TRY_LINK_PYTHON(pthread_and_dl, [$LIBPTHREAD $LIBDL -lutil -lreadline -lncurses -lm]) | |
4157 | KDE_TRY_LINK_PYTHON(m_and_thread_and_db_special, [$LIBPTHREAD -lm -ldb -lutil], [], | |
4158 | [AC_MSG_WARN([it seems, Python depends on another library. | |
4159 | Pleae set LIBPYTHON to '-lpython$version -lotherlib' before calling configure to fix this | |
4160 | and contact the authors to let them know about this problem]) | |
4161 | ]) | |
4162 | ||
4163 | LIBPYTHON="$LIBPYTHON $LIBDL $LIBSOCKET" | |
4164 | AC_SUBST(PYTHONINC) | |
4165 | AC_SUBST(PYTHONLIB) | |
4166 | AC_SUBST(LIBPYTHON) | |
4167 | AC_SUBST(PYTHONMODDIR) | |
4168 | AC_DEFINE(HAVE_PYTHON, 1, [Define if you have the development files for python]) | |
4169 | fi | |
4170 | ||
4171 | ]) | |
4172 | ||
4173 | ||
4174 | AC_DEFUN(KDE_CHECK_PYTHON, | |
4175 | [ | |
4176 | KDE_CHECK_PYTHON_INTERN("2.2", | |
4177 | [KDE_CHECK_PYTHON_INTERN("2.1", | |
4178 | [KDE_CHECK_PYTHON_INTERN("2.0", [ KDE_CHECK_PYTHON_INTERN($1, $2) ]) | |
4179 | ])]) | |
4180 | ]) | |
4181 | ||
4182 | AC_DEFUN(KDE_CHECK_STL_SGI, | |
4183 | [ | |
4184 | AC_MSG_CHECKING([if STL implementation is SGI like]) | |
4185 | AC_CACHE_VAL(kde_cv_stl_type_sgi, | |
4186 | [ | |
4187 | AC_TRY_COMPILE([ | |
4188 | #include <string> | |
4189 | using namespace std; | |
4190 | ],[ | |
4191 | string astring="Hallo Welt."; | |
4192 | astring.erase(0, 6); // now astring is "Welt" | |
4193 | return 0; | |
4194 | ], kde_cv_stl_type_sgi=yes, | |
4195 | kde_cv_stl_type_sgi=no) | |
4196 | ]) | |
4197 | ||
4198 | AC_MSG_RESULT($kde_cv_stl_type_sgi) | |
4199 | ||
4200 | if test "$kde_cv_stl_type_sgi" = "yes"; then | |
4201 | AC_DEFINE_UNQUOTED(HAVE_SGI_STL, 1, [Define if you have a STL implementation by SGI]) | |
4202 | fi | |
4203 | ]) | |
4204 | ||
4205 | AC_DEFUN(KDE_CHECK_STL_HP, | |
4206 | [ | |
4207 | AC_MSG_CHECKING([if STL implementation is HP like]) | |
4208 | AC_CACHE_VAL(kde_cv_stl_type_hp, | |
4209 | [ | |
4210 | AC_TRY_COMPILE([ | |
4211 | #include <string> | |
4212 | using namespace std; | |
4213 | ],[ | |
4214 | string astring="Hello World"; | |
4215 | astring.remove(0, 6); // now astring is "World" | |
4216 | return 0; | |
4217 | ], kde_cv_stl_type_hp=yes, | |
4218 | kde_cv_stl_type_hp=no) | |
4219 | ]) | |
4220 | AC_MSG_RESULT($kde_cv_stl_type_hp) | |
4221 | ||
4222 | if test "$kde_cv_stl_type_hp" = "yes"; then | |
4223 | AC_DEFINE_UNQUOTED(HAVE_HP_STL, 1, [Define if you have a STL implementation by HP]) | |
4224 | fi | |
4225 | ]) | |
4226 | ||
4227 | AC_DEFUN(KDE_CHECK_STL, | |
4228 | [ | |
4229 | AC_LANG_SAVE | |
4230 | AC_LANG_CPLUSPLUS | |
4231 | ac_save_CXXFLAGS="$CXXFLAGS" | |
4232 | CXXFLAGS="`echo $CXXFLAGS | sed s/-fno-exceptions//`" | |
4233 | KDE_CHECK_STL_SGI | |
4234 | ||
4235 | if test "$kde_cv_stl_type_sgi" = "no"; then | |
4236 | KDE_CHECK_STL_HP | |
4237 | ||
4238 | if test "$kde_cv_stl_type_hp" = "no"; then | |
4239 | AC_MSG_ERROR("no known STL type found - did you forget to install libstdc++[-devel] ?") | |
4240 | fi | |
4241 | fi | |
4242 | ||
4243 | CXXFLAGS="$ac_save_CXXFLAGS" | |
4244 | AC_LANG_RESTORE | |
4245 | ]) | |
4246 | ||
4247 | AC_DEFUN(AC_FIND_QIMGIO, | |
4248 | [AC_REQUIRE([AC_FIND_JPEG]) | |
4249 | AC_REQUIRE([KDE_CHECK_EXTRA_LIBS]) | |
4250 | AC_MSG_CHECKING([for qimgio]) | |
4251 | AC_CACHE_VAL(ac_cv_lib_qimgio, | |
4252 | [ | |
4253 | AC_LANG_SAVE | |
4254 | AC_LANG_CPLUSPLUS | |
4255 | ac_save_LIBS="$LIBS" | |
4256 | ac_save_CXXFLAGS="$CXXFLAGS" | |
4257 | LIBS="$all_libraries -lqimgio -lpng -lz $LIBJPEG $LIBQT" | |
4258 | CXXFLAGS="$CXXFLAGS -I$qt_incdir $all_includes" | |
4259 | AC_TRY_RUN(dnl | |
4260 | [ | |
4261 | #include <qimageio.h> | |
4262 | #include <qstring.h> | |
4263 | int main() { | |
4264 | QString t = "hallo"; | |
4265 | t.fill('t'); | |
4266 | qInitImageIO(); | |
4267 | } | |
4268 | ], | |
4269 | ac_cv_lib_qimgio=yes, | |
4270 | ac_cv_lib_qimgio=no, | |
4271 | ac_cv_lib_qimgio=no) | |
4272 | LIBS="$ac_save_LIBS" | |
4273 | CXXFLAGS="$ac_save_CXXFLAGS" | |
4274 | AC_LANG_RESTORE | |
4275 | ])dnl | |
4276 | if eval "test \"`echo $ac_cv_lib_qimgio`\" = yes"; then | |
4277 | LIBQIMGIO="-lqimgio -lpng -lz $LIBJPEG" | |
4278 | AC_MSG_RESULT(yes) | |
4279 | AC_DEFINE_UNQUOTED(HAVE_QIMGIO, 1, [Define if you have the Qt extension qimgio available]) | |
4280 | AC_SUBST(LIBQIMGIO) | |
4281 | else | |
4282 | AC_MSG_RESULT(not found) | |
4283 | fi | |
4284 | ]) | |
4285 | ||
4286 | AC_DEFUN(KDE_CHECK_ANSI, | |
4287 | [ | |
4288 | ]) | |
4289 | ||
4290 | AC_DEFUN(KDE_CHECK_INSURE, | |
4291 | [ | |
4292 | AC_ARG_ENABLE(insure, [ --enable-insure use insure++ for debugging [default=no]], | |
4293 | [ | |
4294 | if test $enableval = "no"; dnl | |
4295 | then ac_use_insure="no" | |
4296 | else ac_use_insure="yes" | |
4297 | fi | |
4298 | ], [ac_use_insure="no"]) | |
4299 | ||
4300 | AC_MSG_CHECKING(if we will use Insure++ to debug) | |
4301 | AC_MSG_RESULT($ac_use_insure) | |
4302 | if test "$ac_use_insure" = "yes"; dnl | |
4303 | then CC="insure"; CXX="insure"; dnl CFLAGS="$CLAGS -fno-rtti -fno-exceptions "???? | |
4304 | fi | |
4305 | ]) | |
4306 | ||
4307 | AC_DEFUN(AM_DISABLE_LIBRARIES, | |
4308 | [ | |
4309 | AC_PROVIDE([AM_ENABLE_STATIC]) | |
4310 | AC_PROVIDE([AM_ENABLE_SHARED]) | |
4311 | enable_static=no | |
4312 | enable_shared=yes | |
4313 | ]) | |
4314 | ||
4315 | ||
4316 | AC_DEFUN(AC_CHECK_UTMP_FILE, | |
4317 | [ | |
4318 | AC_MSG_CHECKING([for utmp file]) | |
4319 | ||
4320 | AC_CACHE_VAL(kde_cv_utmp_file, | |
4321 | [ | |
4322 | kde_cv_utmp_file=no | |
4323 | ||
4324 | for ac_file in \ | |
4325 | \ | |
4326 | /var/run/utmp \ | |
4327 | /var/adm/utmp \ | |
4328 | /etc/utmp \ | |
4329 | ; \ | |
4330 | do | |
4331 | if test -r "$ac_file"; then | |
4332 | kde_cv_utmp_file=$ac_file | |
4333 | break | |
4334 | fi | |
4335 | done | |
4336 | ]) | |
4337 | ||
4338 | if test "$kde_cv_utmp_file" != "no"; then | |
4339 | AC_DEFINE_UNQUOTED(UTMP, "$kde_cv_utmp_file", [Define the file for utmp entries]) | |
4340 | $1 | |
4341 | AC_MSG_RESULT($kde_cv_utmp_file) | |
4342 | else | |
4343 | $2 | |
4344 | AC_MSG_RESULT([non found]) | |
4345 | fi | |
4346 | ]) | |
4347 | ||
4348 | ||
4349 | AC_DEFUN(KDE_CREATE_SUBDIRSLIST, | |
4350 | [ | |
4351 | ||
4352 | DO_NOT_COMPILE="$DO_NOT_COMPILE CVS debian bsd-port admin" | |
4353 | ||
4354 | if test ! -s $srcdir/subdirs; then | |
4355 | dnl Note: Makefile.common creates subdirs, so this is just a fallback | |
4356 | TOPSUBDIRS="" | |
4357 | files=`cd $srcdir && ls -1` | |
4358 | dirs=`for i in $files; do if test -d $i; then echo $i; fi; done` | |
4359 | for i in $dirs; do | |
4360 | echo $i >> $srcdir/subdirs | |
4361 | done | |
4362 | fi | |
4363 | ||
4364 | if test -s $srcdir/inst-apps; then | |
4365 | ac_topsubdirs="`cat $srcdir/inst-apps`" | |
4366 | else | |
4367 | ac_topsubdirs="`cat $srcdir/subdirs`" | |
4368 | fi | |
4369 | ||
4370 | for i in $ac_topsubdirs; do | |
4371 | AC_MSG_CHECKING([if $i should be compiled]) | |
4372 | if test -d $srcdir/$i; then | |
4373 | install_it="yes" | |
4374 | for j in $DO_NOT_COMPILE; do | |
4375 | if test $i = $j; then | |
4376 | install_it="no" | |
4377 | fi | |
4378 | done | |
4379 | else | |
4380 | install_it="no" | |
4381 | fi | |
4382 | AC_MSG_RESULT($install_it) | |
4383 | vari=`echo $i | sed -e 's,[[-+.]],_,g'` | |
4384 | if test $install_it = "yes"; then | |
4385 | TOPSUBDIRS="$TOPSUBDIRS $i" | |
4386 | eval "$vari""_SUBDIR_included=yes" | |
4387 | else | |
4388 | eval "$vari""_SUBDIR_included=no" | |
4389 | fi | |
4390 | done | |
4391 | ||
4392 | AC_SUBST(TOPSUBDIRS) | |
4393 | ]) | |
4394 | ||
4395 | AC_DEFUN(KDE_CHECK_NAMESPACES, | |
4396 | [ | |
4397 | AC_MSG_CHECKING(whether C++ compiler supports namespaces) | |
4398 | AC_LANG_SAVE | |
4399 | AC_LANG_CPLUSPLUS | |
4400 | AC_TRY_COMPILE([ | |
4401 | ], | |
4402 | [ | |
4403 | namespace Foo { | |
4404 | extern int i; | |
4405 | namespace Bar { | |
4406 | extern int i; | |
4407 | } | |
4408 | } | |
4409 | ||
4410 | int Foo::i = 0; | |
4411 | int Foo::Bar::i = 1; | |
4412 | ],[ | |
4413 | AC_MSG_RESULT(yes) | |
4414 | AC_DEFINE(HAVE_NAMESPACES) | |
4415 | ], [ | |
4416 | AC_MSG_RESULT(no) | |
4417 | ]) | |
4418 | AC_LANG_RESTORE | |
4419 | ]) | |
4420 | ||
4421 | AC_DEFUN(KDE_CHECK_NEWLIBS, | |
4422 | [ | |
4423 | ||
4424 | ]) | |
4425 | ||
4426 | dnl ------------------------------------------------------------------------ | |
4427 | dnl Check for S_ISSOCK macro. Doesn't exist on Unix SCO. faure@kde.org | |
4428 | dnl ------------------------------------------------------------------------ | |
4429 | dnl | |
4430 | AC_DEFUN(AC_CHECK_S_ISSOCK, | |
4431 | [ | |
4432 | AC_MSG_CHECKING(for S_ISSOCK) | |
4433 | AC_CACHE_VAL(ac_cv_have_s_issock, | |
4434 | [ | |
4435 | AC_LANG_SAVE | |
4436 | AC_LANG_C | |
4437 | AC_TRY_LINK( | |
4438 | [ | |
4439 | #include <sys/stat.h> | |
4440 | ], | |
4441 | [ | |
4442 | struct stat buff; | |
4443 | int b = S_ISSOCK( buff.st_mode ); | |
4444 | ], | |
4445 | ac_cv_have_s_issock=yes, | |
4446 | ac_cv_have_s_issock=no) | |
4447 | AC_LANG_RESTORE | |
4448 | ]) | |
4449 | AC_MSG_RESULT($ac_cv_have_s_issock) | |
4450 | if test "$ac_cv_have_s_issock" = "yes"; then | |
4451 | AC_DEFINE_UNQUOTED(HAVE_S_ISSOCK, 1, [Define if sys/stat.h declares S_ISSOCK.]) | |
4452 | fi | |
4453 | ||
4454 | AH_VERBATIM(_ISSOCK, | |
4455 | [ | |
4456 | #ifndef HAVE_S_ISSOCK | |
4457 | #define HAVE_S_ISSOCK | |
4458 | #define S_ISSOCK(mode) (1==0) | |
4459 | #endif | |
4460 | ]) | |
4461 | ||
4462 | ]) | |
4463 | ||
4464 | dnl ------------------------------------------------------------------------ | |
4465 | dnl Check for MAXPATHLEN macro, defines KDEMAXPATHLEN. faure@kde.org | |
4466 | dnl ------------------------------------------------------------------------ | |
4467 | dnl | |
4468 | AC_DEFUN(AC_CHECK_KDEMAXPATHLEN, | |
4469 | [ | |
4470 | AC_MSG_CHECKING(for MAXPATHLEN) | |
4471 | AC_CACHE_VAL(ac_cv_maxpathlen, | |
4472 | [ | |
4473 | AC_LANG_C | |
4474 | cat > conftest.$ac_ext <<EOF | |
4475 | #ifdef STDC_HEADERS | |
4476 | # include <stdlib.h> | |
4477 | #endif | |
4478 | #include <stdio.h> | |
4479 | #include <sys/param.h> | |
4480 | #ifndef MAXPATHLEN | |
4481 | #define MAXPATHLEN 1024 | |
4482 | #endif | |
4483 | ||
4484 | KDE_HELLO MAXPATHLEN | |
4485 | ||
4486 | EOF | |
4487 | ||
4488 | ac_try="$ac_cpp conftest.$ac_ext 2>/dev/null | grep '^KDE_HELLO' >conftest.out" | |
4489 | ||
4490 | if AC_TRY_EVAL(ac_try) && test -s conftest.out; then | |
4491 | ac_cv_maxpathlen=`sed 's#KDE_HELLO ##' conftest.out` | |
4492 | else | |
4493 | ac_cv_maxpathlen=1024 | |
4494 | fi | |
4495 | ||
4496 | rm conftest.* | |
4497 | ||
4498 | ]) | |
4499 | AC_MSG_RESULT($ac_cv_maxpathlen) | |
4500 | AC_DEFINE_UNQUOTED(KDEMAXPATHLEN,$ac_cv_maxpathlen, [Define a safe value for MAXPATHLEN] ) | |
4501 | ]) | |
4502 | ||
4503 | dnl ------------------------------------------------------------------------- | |
4504 | dnl See if the compiler supports a template repository bero@redhat.de | |
4505 | dnl ------------------------------------------------------------------------- | |
4506 | AC_DEFUN(KDE_COMPILER_REPO, | |
4507 | [ | |
4508 | REPO="" | |
4509 | NOREPO="" | |
4510 | ||
4511 | KDE_CHECK_COMPILER_FLAG(frepo, | |
4512 | [ | |
4513 | REPO="-frepo" | |
4514 | NOREPO="-fno-repo" | |
4515 | ]) | |
4516 | ||
4517 | if test -z "$REPO"; then | |
4518 | KDE_CHECK_COMPILER_FLAG(instances=explicit, | |
4519 | [ | |
4520 | REPO="-instances=explicit" | |
4521 | NOREPO="-instances=extern" | |
4522 | ]) | |
4523 | fi | |
4524 | ||
4525 | if test -n "$REPO"; then | |
4526 | AC_DEFINE_UNQUOTED(HAVE_TEMPLATE_REPOSITORY, 1, | |
4527 | [C++ compiler supports template repository]) | |
4528 | $1 | |
4529 | fi | |
4530 | ||
4531 | AC_SUBST(REPO) | |
4532 | AC_SUBST(NOREPO) | |
4533 | ]) | |
4534 | ||
4535 | AC_DEFUN(KDE_CHECK_HEADER, | |
4536 | [ | |
4537 | AC_LANG_SAVE | |
4538 | kde_safe_cppflags=$CPPFLAGS | |
4539 | CPPFLAGS="$CPPFLAGS $all_includes" | |
4540 | AC_LANG_CPLUSPLUS | |
4541 | AC_CHECK_HEADER($1, $2, $3) | |
4542 | CPPFLAGS=$kde_safe_cppflags | |
4543 | AC_LANG_RESTORE | |
4544 | ]) | |
4545 | ||
4546 | AC_DEFUN(KDE_CHECK_HEADERS, | |
4547 | [ | |
4548 | AH_CHECK_HEADERS([$1]) | |
4549 | AC_LANG_SAVE | |
4550 | kde_safe_cppflags=$CPPFLAGS | |
4551 | CPPFLAGS="$CPPFLAGS $all_includes" | |
4552 | AC_LANG_CPLUSPLUS | |
4553 | AC_CHECK_HEADERS([$1], [$2], [$3], [$4]) | |
4554 | CPPFLAGS=$kde_safe_cppflags | |
4555 | AC_LANG_RESTORE | |
4556 | ]) | |
4557 | ||
4558 | AC_DEFUN(KDE_FAST_CONFIGURE, | |
4559 | [ | |
4560 | dnl makes configure fast (needs perl) | |
4561 | AC_ARG_ENABLE(fast-perl, [ --disable-fast-perl disable fast Makefile generation (needs perl)], | |
4562 | with_fast_perl=$enableval, with_fast_perl=yes) | |
4563 | ]) | |
4564 | ||
4565 | AC_DEFUN(KDE_CONF_FILES, | |
4566 | [ | |
4567 | val= | |
4568 | if test -f $srcdir/configure.files ; then | |
4569 | val=`sed -e 's%^%\$(top_srcdir)/%' $srcdir/configure.files` | |
4570 | fi | |
4571 | CONF_FILES= | |
4572 | if test -n "$val" ; then | |
4573 | for i in $val ; do | |
4574 | CONF_FILES="$CONF_FILES $i" | |
4575 | done | |
4576 | fi | |
4577 | AC_SUBST(CONF_FILES) | |
4578 | ])dnl | |
4579 | ||
4580 | AC_DEFUN(KDE_SET_PREFIX, | |
4581 | [ | |
4582 | unset CDPATH | |
4583 | dnl make $KDEDIR the default for the installation | |
4584 | AC_PREFIX_DEFAULT(${KDEDIR:-/usr/local/kde}) | |
4585 | ||
4586 | if test "x$prefix" = "xNONE"; then | |
4587 | prefix=$ac_default_prefix | |
4588 | ac_configure_args="$ac_configure_args --prefix=$prefix" | |
4589 | fi | |
4590 | # And delete superflous '/' to make compares easier | |
4591 | prefix=`echo "$prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` | |
4592 | exec_prefix=`echo "$exec_prefix" | sed 's,//*,/,g' | sed -e 's,/$,,'` | |
4593 | KDE_FAST_CONFIGURE | |
4594 | KDE_CONF_FILES | |
4595 | ]) | |
4596 | ||
4597 | pushdef([AC_PROG_INSTALL], | |
4598 | [ | |
4599 | dnl our own version, testing for a -p flag | |
4600 | popdef([AC_PROG_INSTALL]) | |
4601 | dnl as AC_PROG_INSTALL works as it works we first have | |
4602 | dnl to save if the user didn't specify INSTALL, as the | |
4603 | dnl autoconf one overwrites INSTALL and we have no chance to find | |
4604 | dnl out afterwards | |
4605 | test -n "$INSTALL" && kde_save_INSTALL_given=$INSTALL | |
4606 | test -n "$INSTALL_PROGRAM" && kde_save_INSTALL_PROGRAM_given=$INSTALL_PROGRAM | |
4607 | test -n "$INSTALL_SCRIPT" && kde_save_INSTALL_SCRIPT_given=$INSTALL_SCRIPT | |
4608 | AC_PROG_INSTALL | |
4609 | ||
4610 | if test -z "$kde_save_INSTALL_given" ; then | |
4611 | # OK, user hasn't given any INSTALL, autoconf found one for us | |
4612 | # now we test, if it supports the -p flag | |
4613 | AC_MSG_CHECKING(for -p flag to install) | |
4614 | rm -f confinst.$$.* > /dev/null 2>&1 | |
4615 | echo "Testtest" > confinst.$$.orig | |
4616 | ac_res=no | |
4617 | if ${INSTALL} -p confinst.$$.orig confinst.$$.new > /dev/null 2>&1 ; then | |
4618 | if test -f confinst.$$.new ; then | |
4619 | # OK, -p seems to do no harm to install | |
4620 | INSTALL="${INSTALL} -p" | |
4621 | ac_res=yes | |
4622 | fi | |
4623 | fi | |
4624 | rm -f confinst.$$.* | |
4625 | AC_MSG_RESULT($ac_res) | |
4626 | fi | |
4627 | dnl the following tries to resolve some signs and wonders coming up | |
4628 | dnl with different autoconf/automake versions | |
4629 | dnl e.g.: | |
4630 | dnl *automake 1.4 install-strip sets A_M_INSTALL_PROGRAM_FLAGS to -s | |
4631 | dnl and has INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(A_M_INSTALL_PROGRAM_FLAGS) | |
4632 | dnl it header-vars.am, so there the actual INSTALL_PROGRAM gets the -s | |
4633 | dnl *automake 1.4a (and above) use INSTALL_STRIP_FLAG and only has | |
4634 | dnl INSTALL_PROGRAM = @INSTALL_PROGRAM@ there, but changes the | |
4635 | dnl install-@DIR@PROGRAMS targets to explicitly use that flag | |
4636 | dnl *autoconf 2.13 is dumb, and thinks it can use INSTALL_PROGRAM as | |
4637 | dnl INSTALL_SCRIPT, which breaks with automake <= 1.4 | |
4638 | dnl *autoconf >2.13 (since 10.Apr 1999) has not that failure | |
4639 | dnl *sometimes KDE does not use the install-@DIR@PROGRAM targets from | |
4640 | dnl automake (due to broken Makefile.am or whatever) to install programs, | |
4641 | dnl and so does not see the -s flag in automake > 1.4 | |
4642 | dnl to clean up that mess we: | |
4643 | dnl +set INSTALL_PROGRAM to use INSTALL_STRIP_FLAG | |
4644 | dnl which cleans KDE's program with automake > 1.4; | |
4645 | dnl +set INSTALL_SCRIPT to only use INSTALL, to clean up autoconf's problems | |
4646 | dnl with automake<=1.4 | |
4647 | dnl note that dues to this sometimes two '-s' flags are used (if KDE | |
4648 | dnl properly uses install-@DIR@PROGRAMS, but I don't care | |
4649 | dnl | |
4650 | dnl And to all this comes, that I even can't write in comments variable | |
4651 | dnl names used by automake, because it is so stupid to think I wanted to | |
4652 | dnl _use_ them, therefor I have written A_M_... instead of AM_ | |
4653 | dnl hmm, I wanted to say something ... ahh yes: Arghhh. | |
4654 | ||
4655 | if test -z "$kde_save_INSTALL_PROGRAM_given" ; then | |
4656 | INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)' | |
4657 | fi | |
4658 | if test -z "$kde_save_INSTALL_SCRIPT_given" ; then | |
4659 | INSTALL_SCRIPT='${INSTALL}' | |
4660 | fi | |
4661 | ])dnl | |
4662 | ||
4663 | AC_DEFUN(KDE_LANG_CPLUSPLUS, | |
4664 | [AC_LANG_CPLUSPLUS | |
4665 | ac_link='rm -rf SunWS_cache; ${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AC_FD_CC' | |
4666 | pushdef([AC_LANG_CPLUSPLUS], [popdef([AC_LANG_CPLUSPLUS]) KDE_LANG_CPLUSPLUS]) | |
4667 | ]) | |
4668 | ||
4669 | pushdef([AC_LANG_CPLUSPLUS], | |
4670 | [popdef([AC_LANG_CPLUSPLUS]) | |
4671 | KDE_LANG_CPLUSPLUS | |
4672 | ]) | |
4673 | ||
4674 | AC_DEFUN(KDE_CHECK_LONG_LONG, | |
4675 | [ | |
4676 | AC_MSG_CHECKING(for long long) | |
4677 | AC_CACHE_VAL(kde_cv_c_long_long, | |
4678 | [ | |
4679 | AC_LANG_SAVE | |
4680 | AC_LANG_CPLUSPLUS | |
4681 | AC_TRY_LINK([], [ | |
4682 | long long foo = 0; | |
4683 | foo = foo+1; | |
4684 | ], | |
4685 | kde_cv_c_long_long=yes, kde_cv_c_long_long=no) | |
4686 | AC_LANG_RESTORE | |
4687 | ]) | |
4688 | AC_MSG_RESULT($kde_cv_c_long_long) | |
4689 | if test "$kde_cv_c_long_long" = yes; then | |
4690 | AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have long long as datatype]) | |
4691 | fi | |
4692 | ]) | |
4693 | ||
4694 | AC_DEFUN(KDE_CHECK_LIB, | |
4695 | [ | |
4696 | kde_save_LDFLAGS="$LDFLAGS" | |
4697 | dnl AC_CHECK_LIB modifies LIBS, so save it here | |
4698 | kde_save_LIBS="$LIBS" | |
4699 | LDFLAGS="$LDFLAGS $all_libraries" | |
4700 | case $host_os in | |
4701 | aix*) LDFLAGS="-brtl $LDFLAGS" | |
4702 | test "$GCC" = yes && LDFLAGS="-Wl,$LDFLAGS" | |
4703 | ;; | |
4704 | esac | |
4705 | AC_CHECK_LIB($1, $2, $3, $4, $5) | |
4706 | LDFLAGS="$kde_save_LDFLAGS" | |
4707 | LIBS="$kde_save_LIBS" | |
4708 | ]) | |
4709 | ||
4710 | AC_DEFUN(KDE_JAVA_PREFIX, | |
4711 | [ | |
4712 | dir=`dirname "$1"` | |
4713 | base=`basename "$1"` | |
4714 | list=`ls -1 $dir 2> /dev/null` | |
4715 | for entry in $list; do | |
4716 | if test -d $dir/$entry/bin; then | |
4717 | case $entry in | |
4718 | $base) | |
4719 | javadirs="$javadirs $dir/$entry/bin" | |
4720 | ;; | |
4721 | esac | |
4722 | elif test -d $dir/$entry/jre/bin; then | |
4723 | case $entry in | |
4724 | $base) | |
4725 | javadirs="$javadirs $dir/$entry/jre/bin" | |
4726 | ;; | |
4727 | esac | |
4728 | fi | |
4729 | done | |
4730 | ]) | |
4731 | ||
4732 | dnl KDE_CHEC_JAVA_DIR(onlyjre) | |
4733 | AC_DEFUN(KDE_CHECK_JAVA_DIR, | |
4734 | [ | |
4735 | ||
4736 | AC_ARG_WITH(java, | |
4737 | [ --with-java=javadir use java installed in javadir, --without-java disables ], | |
4738 | [ ac_java_dir=$withval | |
4739 | ], ac_java_dir="" | |
4740 | ) | |
4741 | ||
4742 | AC_MSG_CHECKING([for Java]) | |
4743 | ||
4744 | dnl at this point ac_java_dir is either a dir, 'no' to disable, or '' to say look in $PATH | |
4745 | if test "x$ac_java_dir" = "xno"; then | |
4746 | kde_java_bindir=no | |
4747 | kde_java_includedir=no | |
4748 | kde_java_libjvmdir=no | |
4749 | kde_java_libhpidir=no | |
4750 | else | |
4751 | if test "x$ac_java_dir" = "x"; then | |
4752 | ||
4753 | ||
4754 | dnl No option set -> look in $PATH | |
4755 | KDE_JAVA_PREFIX(/usr/j2se) | |
4756 | KDE_JAVA_PREFIX(/usr/j*dk*) | |
4757 | KDE_JAVA_PREFIX(/usr/lib/j*dk*) | |
4758 | KDE_JAVA_PREFIX(/opt/j*sdk*) | |
4759 | KDE_JAVA_PREFIX(/usr/lib/java*) | |
4760 | KDE_JAVA_PREFIX(/usr/java*) | |
4761 | KDE_JAVA_PREFIX(/usr/lib/SunJava2*) | |
4762 | KDE_JAVA_PREFIX(/usr/lib/SunJava*) | |
4763 | KDE_JAVA_PREFIX(/usr/lib/IBMJava2*) | |
4764 | KDE_JAVA_PREFIX(/usr/lib/IBMJava*) | |
4765 | KDE_JAVA_PREFIX(/opt/java*) | |
4766 | ||
4767 | kde_cv_path="NONE" | |
4768 | kde_save_IFS=$IFS | |
4769 | IFS=':' | |
4770 | for dir in $PATH; do | |
4771 | javadirs="$javadirs $dir" | |
4772 | done | |
4773 | IFS=$kde_save_IFS | |
4774 | jredirs= | |
4775 | ||
4776 | for dir in $javadirs; do | |
4777 | if test ! -d $dir; then break; fi | |
4778 | if test -x "$dir/java"; then | |
4779 | libjvmdir=`find $dir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` | |
4780 | if test ! -f $libjvmdir/libjvm.so; then continue; fi | |
4781 | jredirs="$jredirs $dir" | |
4782 | fi | |
4783 | done | |
4784 | ||
4785 | JAVAC= | |
4786 | JAVA= | |
4787 | kde_java_bindir=no | |
4788 | for dir in $jredirs; do | |
4789 | JAVA="$dir/java" | |
4790 | kde_java_bindir=$dir | |
4791 | if test -x "$dir/javac"; then | |
4792 | JAVAC="$dir/javac" | |
4793 | break | |
4794 | fi | |
4795 | done | |
4796 | ||
4797 | if test -n "$JAVAC"; then | |
4798 | dnl this substitution might not work - well, we test for jni.h below | |
4799 | kde_java_includedir=`echo $JAVAC | sed -e 's,bin/javac$,include/,'` | |
4800 | else | |
4801 | kde_java_includedir=no | |
4802 | fi | |
4803 | else | |
4804 | dnl config option set | |
4805 | kde_java_bindir=$ac_java_dir/bin | |
4806 | if test -x $ac_java_dir/bin/java && test ! -x $ac_java_dir/bin/javac; then | |
4807 | kde_java_includedir=no | |
4808 | else | |
4809 | kde_java_includedir=$ac_java_dir/include | |
4810 | fi | |
4811 | fi | |
4812 | fi | |
4813 | ||
4814 | dnl At this point kde_java_bindir and kde_java_includedir are either set or "no" | |
4815 | if test "x$kde_java_bindir" != "xno"; then | |
4816 | ||
4817 | dnl Look for libjvm.so | |
4818 | kde_java_libjvmdir=`find $kde_java_bindir/.. -name libjvm.so | sed 's,libjvm.so,,'|head -n 1` | |
4819 | dnl Look for libhpi.so and avoid green threads | |
4820 | kde_java_libhpidir=`find $kde_java_bindir/.. -name libhpi.so | grep -v green | sed 's,libhpi.so,,' | head -n 1` | |
4821 | ||
4822 | dnl Now check everything's fine under there | |
4823 | dnl the include dir is our flag for having the JDK | |
4824 | if test -d "$kde_java_includedir"; then | |
4825 | if test ! -x "$kde_java_bindir/javac"; then | |
4826 | AC_MSG_ERROR([javac not found under $kde_java_bindir - it seems you passed a wrong --with-java.]) | |
4827 | fi | |
4828 | if test ! -x "$kde_java_bindir/javah"; then | |
4829 | AC_MSG_ERROR([javah not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) | |
4830 | fi | |
4831 | if test ! -x "$kde_java_bindir/jar"; then | |
4832 | AC_MSG_ERROR([jar not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) | |
4833 | fi | |
4834 | if test ! -r "$kde_java_includedir/jni.h"; then | |
4835 | AC_MSG_ERROR([jni.h not found under $kde_java_includedir. Use --with-java or --without-java.]) | |
4836 | fi | |
4837 | ||
4838 | jni_includes="-I$kde_java_includedir" | |
4839 | dnl Strange thing, jni.h requires jni_md.h which is under genunix here.. | |
4840 | dnl and under linux here.. | |
4841 | test -d "$kde_java_includedir/linux" && jni_includes="$jni_includes -I$kde_java_includedir/linux" | |
4842 | test -d "$kde_java_includedir/solaris" && jni_includes="$jni_includes -I$kde_java_includedir/solaris" | |
4843 | test -d "$kde_java_includedir/genunix" && jni_includes="$jni_includes -I$kde_java_includedir/genunix" | |
4844 | ||
4845 | else | |
4846 | JAVAC= | |
4847 | jni_includes= | |
4848 | fi | |
4849 | ||
4850 | if test ! -r "$kde_java_libjvmdir/libjvm.so"; then | |
4851 | AC_MSG_ERROR([libjvm.so not found under $kde_java_libjvmdir. Use --without-java.]) | |
4852 | fi | |
4853 | ||
4854 | if test ! -x "$kde_java_bindir/java"; then | |
4855 | AC_MSG_ERROR([java not found under $kde_java_bindir. javac was found though! Use --with-java or --without-java.]) | |
4856 | fi | |
4857 | ||
4858 | if test ! -r "$kde_java_libhpidir/libhpi.so"; then | |
4859 | AC_MSG_ERROR([libhpi.so not found under $kde_java_libhpidir. Use --without-java.]) | |
4860 | fi | |
4861 | ||
4862 | if test -n "$jni_includes"; then | |
4863 | dnl Check for JNI version | |
4864 | AC_LANG_SAVE | |
4865 | AC_LANG_CPLUSPLUS | |
4866 | ac_cxxflags_safe="$CXXFLAGS" | |
4867 | CXXFLAGS="$CXXFLAGS $all_includes $jni_includes" | |
4868 | ||
4869 | AC_TRY_COMPILE([ | |
4870 | #include <jni.h> | |
4871 | ], | |
4872 | [ | |
4873 | #ifndef JNI_VERSION_1_2 | |
4874 | Syntax Error | |
4875 | #endif | |
4876 | ],[ kde_jni_works=yes ], | |
4877 | [ kde_jni_works=no ]) | |
4878 | ||
4879 | if test $kde_jni_works = no; then | |
4880 | AC_MSG_ERROR([Incorrect version of $kde_java_includedir/jni.h. | |
4881 | You need to have Java Development Kit (JDK) version 1.2. | |
4882 | ||
4883 | Use --with-java to specify another location. | |
4884 | Use --without-java to configure without java support. | |
4885 | Or download a newer JDK and try again. | |
4886 | See e.g. http://java.sun.com/products/jdk/1.2 ]) | |
4887 | fi | |
4888 | ||
4889 | CXXFLAGS="$ac_cxxflags_safe" | |
4890 | AC_LANG_RESTORE | |
4891 | ||
4892 | dnl All tests ok, inform and subst the variables | |
4893 | ||
4894 | JAVAC=$kde_java_bindir/javac | |
4895 | JAVAH=$kde_java_bindir/javah | |
4896 | JAR=$kde_java_bindir/jar | |
4897 | AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) | |
4898 | JVMLIBS="-L$kde_java_libjvmdir -ljvm -L$kde_java_libhpidir -lhpi" | |
4899 | AC_MSG_RESULT([java JDK in $kde_java_bindir]) | |
4900 | ||
4901 | else | |
4902 | AC_DEFINE_UNQUOTED(PATH_JAVA, "$kde_java_bindir/java", [Define where your java executable is]) | |
4903 | AC_MSG_RESULT([java JRE in $kde_java_bindir]) | |
4904 | fi | |
4905 | else # no | |
4906 | AC_MSG_RESULT([none found]) | |
4907 | fi | |
4908 | ||
4909 | AC_SUBST(JAVAC) | |
4910 | AC_SUBST(JAVAH) | |
4911 | AC_SUBST(JAR) | |
4912 | AC_SUBST(JVMLIBS) | |
4913 | AC_SUBST(jni_includes) | |
4914 | ||
4915 | # for backward compat | |
4916 | kde_cv_java_includedir=$kde_java_includedir | |
4917 | kde_cv_java_bindir=$kde_java_bindir | |
4918 | ]) | |
4919 | ||
4920 | dnl this is a redefinition of autoconf 2.5x's AC_FOREACH. | |
4921 | dnl When the argument list becomes big, as in KDE for AC_OUTPUT in | |
4922 | dnl big packages, m4_foreach is dog-slow. So use our own version of | |
4923 | dnl it. (matz@kde.org) | |
4924 | m4_define([mm_foreach], | |
4925 | [m4_pushdef([$1])_mm_foreach($@)m4_popdef([$1])]) | |
4926 | m4_define([mm_car], [[$1]]) | |
4927 | m4_define([mm_car2], [[$@]]) | |
4928 | m4_define([_mm_foreach], | |
4929 | [m4_if(m4_quote($2), [], [], | |
4930 | [m4_define([$1], [mm_car($2)])$3[]_mm_foreach([$1], | |
4931 | mm_car2(m4_shift($2)), | |
4932 | [$3])])]) | |
4933 | m4_define([AC_FOREACH], | |
4934 | [mm_foreach([$1], m4_split(m4_normalize([$2])), [$3])]) | |
4935 | ||
4936 | AC_DEFUN(KDE_NEED_FLEX, | |
4937 | [ | |
4938 | kde_libs_safe=$LIBS | |
4939 | LIBS="$LIBS $USER_LDFLAGS" | |
4940 | AM_PROG_LEX | |
4941 | LIBS=$kde_libs_safe | |
4942 | if test -z "$LEXLIB"; then | |
4943 | AC_MSG_ERROR([You need to have flex installed.]) | |
4944 | fi | |
4945 | AC_SUBST(LEXLIB) | |
4946 | ]) | |
4947 | ||
4948 | AC_DEFUN(AC_PATH_QTOPIA, | |
4949 | [ | |
4950 | dnl TODO: use AC_CACHE_VAL | |
4951 | ||
4952 | if test -z "$1"; then | |
4953 | qtopia_minver_maj=1 | |
4954 | qtopia_minver_min=5 | |
4955 | qtopia_minver_pat=0 | |
4956 | else | |
4957 | qtopia_minver_maj=`echo "$1" | sed -e "s/^\(.*\)\..*\..*$/\1/"` | |
4958 | qtopia_minver_min=`echo "$1" | sed -e "s/^.*\.\(.*\)\..*$/\1/"` | |
4959 | qtopia_minver_pat=`echo "$1" | sed -e "s/^.*\..*\.\(.*\)$/\1/"` | |
4960 | fi | |
4961 | ||
4962 | qtopia_minver="$qtopia_minver_maj$qtopia_minver_min$qtopia_minver_pat" | |
4963 | qtopia_minverstr="$qtopia_minver_maj.$qtopia_minver_min.$qtopia_minver_pat" | |
4964 | ||
4965 | AC_REQUIRE([AC_PATH_QT]) | |
4966 | ||
4967 | AC_MSG_CHECKING([for Qtopia]) | |
4968 | ||
4969 | LIB_QTOPIA="-lqpe" | |
4970 | AC_SUBST(LIB_QTOPIA) | |
4971 | ||
4972 | kde_qtopia_dirs="$QPEDIR /opt/Qtopia" | |
4973 | ||
4974 | ac_qtopia_incdir=NO | |
4975 | ||
4976 | AC_ARG_WITH(qtopia-dir, | |
4977 | [ --with-qtopia-dir=DIR where the root of Qtopia is installed ], | |
4978 | [ ac_qtopia_incdir="$withval"/include] ) | |
4979 | ||
4980 | qtopia_incdirs="" | |
4981 | for dir in $kde_qtopia_dirs; do | |
4982 | qtopia_incdirs="$qtopia_incdirs $dir/include" | |
4983 | done | |
4984 | ||
4985 | if test ! "$ac_qtopia_incdir" = "NO"; then | |
4986 | qtopia_incdirs="$ac_qtopia_incdir $qtopia_incdirs" | |
4987 | fi | |
4988 | ||
4989 | qtopia_incdir="" | |
4990 | AC_FIND_FILE(qpe/qpeapplication.h, $qtopia_incdirs, qtopia_incdir) | |
4991 | ac_qtopia_incdir="$qtopia_incdir" | |
4992 | ||
4993 | if test -z "$qtopia_incdir"; then | |
4994 | AC_MSG_ERROR([Cannot find Qtopia headers. Please check your installation.]) | |
4995 | fi | |
4996 | ||
4997 | qtopia_ver_maj=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION "\(.*\)\..*\..*".*,\1,p'`; | |
4998 | qtopia_ver_min=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\.\(.*\)\..*".*,\1,p'`; | |
4999 | qtopia_ver_pat=`cat $qtopia_incdir/qpe/version.h | sed -n -e 's,.*QPE_VERSION ".*\..*\.\(.*\)".*,\1,p'`; | |
5000 | ||
5001 | qtopia_ver="$qtopia_ver_maj$qtopia_ver_min$qtopia_ver_pat" | |
5002 | qtopia_verstr="$qtopia_ver_maj.$qtopia_ver_min.$qtopia_ver_pat" | |
5003 | if test "$qtopia_ver" -lt "$qtopia_minver"; then | |
5004 | AC_MSG_ERROR([found Qtopia version $qtopia_verstr but version $qtopia_minverstr | |
5005 | is required.]) | |
5006 | fi | |
5007 | ||
5008 | AC_LANG_SAVE | |
5009 | AC_LANG_CPLUSPLUS | |
5010 | ||
5011 | ac_cxxflags_safe="$CXXFLAGS" | |
5012 | ac_ldflags_safe="$LDFLAGS" | |
5013 | ac_libs_safe="$LIBS" | |
5014 | ||
5015 | CXXFLAGS="$CXXFLAGS -I$qtopia_incdir $all_includes" | |
5016 | LDFLAGS="$LDFLAGS $QT_LDFLAGS $all_libraries $USER_LDFLAGS $KDE_MT_LDFLAGS" | |
5017 | LIBS="$LIBS $LIB_QTOPIA $LIBQT" | |
5018 | ||
5019 | cat > conftest.$ac_ext <<EOF | |
5020 | #include "confdefs.h" | |
5021 | #include <qpe/qpeapplication.h> | |
5022 | #include <qpe/version.h> | |
5023 | ||
5024 | int main( int argc, char **argv ) | |
5025 | { | |
5026 | QPEApplication app( argc, argv ); | |
5027 | return 0; | |
5028 | } | |
5029 | EOF | |
5030 | ||
5031 | if AC_TRY_EVAL(ac_link) && test -s conftest; then | |
5032 | rm -f conftest* | |
5033 | else | |
5034 | rm -f conftest* | |
5035 | AC_MSG_ERROR([Cannot link small Qtopia Application. For more details look at | |
5036 | the end of config.log]) | |
5037 | fi | |
5038 | ||
5039 | CXXFLAGS="$ac_cxxflags_safe" | |
5040 | LDFLAGS="$ac_ldflags_safe" | |
5041 | LIBS="$ac_libs_safe" | |
5042 | ||
5043 | AC_LANG_RESTORE | |
5044 | ||
5045 | QTOPIA_INCLUDES="-I$qtopia_incdir" | |
5046 | AC_SUBST(QTOPIA_INCLUDES) | |
5047 | ||
5048 | AC_MSG_RESULT([found version $qtopia_verstr with headers at $qtopia_incdir]) | |
5049 | ]) | |
5050 | ||
5051 | ||
5052 | AC_DEFUN(KDE_INIT_DOXYGEN, | |
5053 | [ | |
5054 | AC_MSG_CHECKING([for Qt docs]) | |
5055 | kde_qtdir= | |
5056 | if test "${with_qt_dir+set}" = set; then | |
5057 | kde_qtdir="$with_qt_dir" | |
5058 | fi | |
5059 | ||
5060 | AC_FIND_FILE(qsql.html, [ $kde_qtdir/doc/html $QTDIR/doc/html /usr/share/doc/packages/qt3/html /usr/lib/qt/doc /usr/lib/qt3/doc /usr/lib/qt3/doc/html /usr/doc/qt3/html /usr/doc/qt3 /usr/share/doc/qt3-doc], QTDOCDIR) | |
5061 | AC_MSG_RESULT($QTDOCDIR) | |
5062 | ||
5063 | AC_SUBST(QTDOCDIR) | |
5064 | ||
5065 | KDE_FIND_PATH(dot, DOT, [], []) | |
5066 | if test -n "$DOT"; then | |
5067 | KDE_HAVE_DOT="YES" | |
5068 | else | |
5069 | KDE_HAVE_DOT="NO" | |
5070 | fi | |
5071 | AC_SUBST(KDE_HAVE_DOT) | |
5072 | KDE_FIND_PATH(doxygen, DOXYGEN, [], []) | |
5073 | AC_SUBST(DOXYGEN) | |
5074 | ||
5075 | DOXYGEN_PROJECT_NAME="$1" | |
5076 | DOXYGEN_PROJECT_NUMBER="$2" | |
5077 | AC_SUBST(DOXYGEN_PROJECT_NAME) | |
5078 | AC_SUBST(DOXYGEN_PROJECT_NUMBER) | |
5079 | ||
5080 | KDE_HAS_DOXYGEN=no | |
5081 | if test -n "$DOXYGEN" && test -x "$DOXYGEN" && test -f $QTDOCDIR/qsql.html; then | |
5082 | KDE_HAS_DOXYGEN=yes | |
5083 | fi | |
5084 | AC_SUBST(KDE_HAS_DOXYGEN) | |
5085 | ||
5086 | ]) | |
5087 | ||
5088 | ||
5089 | AC_DEFUN(AC_FIND_BZIP2, | |
5090 | [ | |
5091 | AC_MSG_CHECKING([for bzDecompress in libbz2]) | |
5092 | AC_CACHE_VAL(ac_cv_lib_bzip2, | |
5093 | [ | |
5094 | AC_LANG_C | |
5095 | kde_save_LIBS="$LIBS" | |
5096 | LIBS="$all_libraries $USER_LDFLAGS -lbz2 $LIBSOCKET" | |
5097 | kde_save_CFLAGS="$CFLAGS" | |
5098 | CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" | |
5099 | AC_TRY_LINK(dnl | |
5100 | [ | |
5101 | #define BZ_NO_STDIO | |
5102 | #include<bzlib.h> | |
5103 | ], | |
5104 | [ bz_stream s; (void) bzDecompress(&s); ], | |
5105 | eval "ac_cv_lib_bzip2='-lbz2'", | |
5106 | eval "ac_cv_lib_bzip2=no") | |
5107 | LIBS="$kde_save_LIBS" | |
5108 | CFLAGS="$kde_save_CFLAGS" | |
5109 | ])dnl | |
5110 | AC_MSG_RESULT($ac_cv_lib_bzip2) | |
5111 | ||
5112 | if test ! "$ac_cv_lib_bzip2" = no; then | |
5113 | BZIP2DIR=bzip2 | |
5114 | ||
5115 | LIBBZ2="$ac_cv_lib_bzip2" | |
5116 | AC_SUBST(LIBBZ2) | |
5117 | ||
5118 | else | |
5119 | ||
5120 | cxx_shared_flags= | |
5121 | KDE_CHECK_COMPILER_FLAG(shared, [ | |
5122 | cxx_shared_flag="-shared" | |
5123 | ]) | |
5124 | ||
5125 | AC_MSG_CHECKING([for BZ2_bzDecompress in (shared) libbz2]) | |
5126 | AC_CACHE_VAL(ac_cv_lib_bzip2_prefix, | |
5127 | [ | |
5128 | AC_LANG_C | |
5129 | kde_save_LIBS="$LIBS" | |
5130 | LIBS="$all_libraries $USER_LDFLAGS $cxx_shared_flag -lbz2 $LIBSOCKET" | |
5131 | kde_save_CFLAGS="$CFLAGS" | |
5132 | CFLAGS="$CFLAGS $all_includes $USER_INCLUDES" | |
5133 | ||
5134 | AC_TRY_LINK(dnl | |
5135 | [ | |
5136 | #define BZ_NO_STDIO | |
5137 | #include<bzlib.h> | |
5138 | ], | |
5139 | [ bz_stream s; (void) BZ2_bzDecompress(&s); ], | |
5140 | eval "ac_cv_lib_bzip2_prefix='-lbz2'", | |
5141 | eval "ac_cv_lib_bzip2_prefix=no") | |
5142 | LIBS="$kde_save_LIBS" | |
5143 | CFLAGS="$kde_save_CFLAGS" | |
5144 | ])dnl | |
5145 | ||
5146 | AC_MSG_RESULT($ac_cv_lib_bzip2_prefix) | |
5147 | ||
5148 | ||
5149 | ||
5150 | if test ! "$ac_cv_lib_bzip2_prefix" = no; then | |
5151 | BZIP2DIR=bzip2 | |
5152 | ||
5153 | LIBBZ2="$ac_cv_lib_bzip2_prefix" | |
5154 | AC_SUBST(LIBBZ2) | |
5155 | ||
5156 | AC_DEFINE(NEED_BZ2_PREFIX, 1, [Define if the libbz2 functions need the BZ2_ prefix]) | |
5157 | dnl else, we just ignore this | |
5158 | fi | |
5159 | ||
5160 | fi | |
5161 | AM_CONDITIONAL(include_BZIP2, test -n "$BZIP2DIR") | |
5162 | ]) | |
5163 | ||
5164 | dnl ------------------------------------------------------------------------ | |
5165 | dnl Try to find the SSL headers and libraries. | |
5166 | dnl $(SSL_LDFLAGS) will be -Lsslliblocation (if needed) | |
5167 | dnl and $(SSL_INCLUDES) will be -Isslhdrlocation (if needed) | |
5168 | dnl ------------------------------------------------------------------------ | |
5169 | dnl | |
5170 | AC_DEFUN(KDE_CHECK_SSL, | |
5171 | [ | |
5172 | LIBSSL="-lssl -lcrypto" | |
5173 | AC_REQUIRE([KDE_CHECK_LIB64]) | |
5174 | ||
5175 | ac_ssl_includes=NO ac_ssl_libraries=NO | |
5176 | ssl_libraries="" | |
5177 | ssl_includes="" | |
5178 | AC_ARG_WITH(ssl-dir, | |
5179 | [ --with-ssl-dir=DIR where the root of OpenSSL is installed], | |
5180 | [ ac_ssl_includes="$withval"/include | |
5181 | ac_ssl_libraries="$withval"/lib$kdelibsuff | |
5182 | ]) | |
5183 | ||
5184 | want_ssl=yes | |
5185 | AC_ARG_WITH(ssl, | |
5186 | [ --without-ssl disable SSL checks], | |
5187 | [want_ssl=$withval]) | |
5188 | ||
5189 | if test $want_ssl = yes; then | |
5190 | ||
5191 | AC_MSG_CHECKING(for OpenSSL) | |
5192 | ||
5193 | AC_CACHE_VAL(ac_cv_have_ssl, | |
5194 | [#try to guess OpenSSL locations | |
5195 | ||
5196 | ssl_incdirs="/usr/include /usr/local/include /usr/ssl/include /usr/local/ssl/include $prefix/include $kde_extra_includes" | |
5197 | ssl_incdirs="$ac_ssl_includes $ssl_incdirs" | |
5198 | AC_FIND_FILE(openssl/ssl.h, $ssl_incdirs, ssl_incdir) | |
5199 | ac_ssl_includes="$ssl_incdir" | |
5200 | ||
5201 | ssl_libdirs="/usr/lib$kdelibsuff /usr/local/lib$kdelibsuff /usr/ssl/lib$kdelibsuff /usr/local/ssl/lib$kdelibsuff $libdir $prefix/lib$kdelibsuff $exec_prefix/lib$kdelibsuff $kde_extra_libs" | |
5202 | if test ! "$ac_ssl_libraries" = "NO"; then | |
5203 | ssl_libdirs="$ac_ssl_libraries $ssl_libdirs" | |
5204 | fi | |
5205 | ||
5206 | test=NONE | |
5207 | ssl_libdir=NONE | |
5208 | for dir in $ssl_libdirs; do | |
5209 | try="ls -1 $dir/libssl*" | |
5210 | if test=`eval $try 2> /dev/null`; then ssl_libdir=$dir; break; else echo "tried $dir" >&AC_FD_CC ; fi | |
5211 | done | |
5212 | ||
5213 | ac_ssl_libraries="$ssl_libdir" | |
5214 | ||
5215 | AC_LANG_SAVE | |
5216 | AC_LANG_C | |
5217 | ||
5218 | ac_cflags_safe="$CFLAGS" | |
5219 | ac_ldflags_safe="$LDFLAGS" | |
5220 | ac_libs_safe="$LIBS" | |
5221 | ||
5222 | CFLAGS="$CFLAGS -I$ssl_incdir $all_includes" | |
5223 | LDFLAGS="$LDFLAGS -L$ssl_libdir $all_libraries" | |
5224 | LIBS="$LIBS $LIBSSL -lRSAglue -lrsaref" | |
5225 | ||
5226 | AC_TRY_LINK(,void RSAPrivateEncrypt(void);RSAPrivateEncrypt();, | |
5227 | ac_ssl_rsaref="yes" | |
5228 | , | |
5229 | ac_ssl_rsaref="no" | |
5230 | ) | |
5231 | ||
5232 | CFLAGS="$ac_cflags_safe" | |
5233 | LDFLAGS="$ac_ldflags_safe" | |
5234 | LIBS="$ac_libs_safe" | |
5235 | ||
5236 | AC_LANG_RESTORE | |
5237 | ||
5238 | if test "$ac_ssl_includes" = NO || test "$ac_ssl_libraries" = NO; then | |
5239 | have_ssl=no | |
5240 | else | |
5241 | have_ssl=yes; | |
5242 | fi | |
5243 | ||
5244 | ]) | |
5245 | ||
5246 | eval "$ac_cv_have_ssl" | |
5247 | ||
5248 | AC_MSG_RESULT([libraries $ac_ssl_libraries, headers $ac_ssl_includes]) | |
5249 | ||
5250 | AC_MSG_CHECKING([whether OpenSSL uses rsaref]) | |
5251 | AC_MSG_RESULT($ac_ssl_rsaref) | |
5252 | ||
5253 | AC_MSG_CHECKING([for easter eggs]) | |
5254 | AC_MSG_RESULT([none found]) | |
5255 | ||
5256 | else | |
5257 | have_ssl=no | |
5258 | fi | |
5259 | ||
5260 | if test "$have_ssl" = yes; then | |
5261 | AC_MSG_CHECKING(for OpenSSL version) | |
5262 | dnl Check for SSL version | |
5263 | AC_CACHE_VAL(ac_cv_ssl_version, | |
5264 | [ | |
5265 | AC_LANG_SAVE | |
5266 | AC_LANG_C | |
5267 | ||
5268 | cat >conftest.$ac_ext <<EOF | |
5269 | #include <openssl/opensslv.h> | |
5270 | #include <stdio.h> | |
5271 | int main() { | |
5272 | ||
5273 | #ifndef OPENSSL_VERSION_NUMBER | |
5274 | printf("ssl_version=\\"error\\"\n"); | |
5275 | #else | |
5276 | if (OPENSSL_VERSION_NUMBER < 0x00906000) | |
5277 | printf("ssl_version=\\"old\\"\n"); | |
5278 | else | |
5279 | printf("ssl_version=\\"ok\\"\n"); | |
5280 | #endif | |
5281 | return (0); | |
5282 | } | |
5283 | EOF | |
5284 | ||
5285 | ac_compile='${CC-gcc} $CFLAGS -I$ac_ssl_includes conftest.$ac_ext -o conftest' | |
5286 | if AC_TRY_EVAL(ac_compile); then | |
5287 | ||
5288 | if eval `./conftest 2>&5`; then | |
5289 | if test $ssl_version = error; then | |
5290 | AC_MSG_ERROR([$ssl_incdir/openssl/opensslv.h doesn't define OPENSSL_VERSION_NUMBER !]) | |
5291 | else | |
5292 | if test $ssl_version = old; then | |
5293 | AC_MSG_WARN([OpenSSL version too old. Upgrade to 0.9.6 at least, see http://www.openssl.org. SSL support disabled.]) | |
5294 | have_ssl=no | |
5295 | fi | |
5296 | fi | |
5297 | ac_cv_ssl_version="ssl_version=$ssl_version" | |
5298 | else | |
5299 | AC_MSG_ERROR([Your system couldn't run a small SSL test program. | |
5300 | Check config.log, and if you can't figure it out, send a mail to | |
5301 | David Faure <faure@kde.org>, attaching your config.log]) | |
5302 | fi | |
5303 | ||
5304 | else | |
5305 | AC_MSG_ERROR([Your system couldn't link a small SSL test program. | |
5306 | Check config.log, and if you can't figure it out, send a mail to | |
5307 | David Faure <faure@kde.org>, attaching your config.log]) | |
5308 | fi | |
5309 | ||
5310 | AC_LANG_RESTORE | |
5311 | ||
5312 | ]) | |
5313 | ||
5314 | eval "$ac_cv_ssl_version" | |
5315 | AC_MSG_RESULT($ssl_version) | |
5316 | fi | |
5317 | ||
5318 | if test "$have_ssl" != yes; then | |
5319 | LIBSSL=""; | |
5320 | else | |
5321 | AC_DEFINE(HAVE_SSL, 1, [If we are going to use OpenSSL]) | |
5322 | ac_cv_have_ssl="have_ssl=yes \ | |
5323 | ac_ssl_includes=$ac_ssl_includes ac_ssl_libraries=$ac_ssl_libraries ac_ssl_rsaref=$ac_ssl_rsaref" | |
5324 | ||
5325 | ||
5326 | ssl_libraries="$ac_ssl_libraries" | |
5327 | ssl_includes="$ac_ssl_includes" | |
5328 | ||
5329 | if test "$ac_ssl_rsaref" = yes; then | |
5330 | LIBSSL="-lssl -lcrypto -lRSAglue -lrsaref" | |
5331 | fi | |
5332 | ||
5333 | if test $ssl_version = "old"; then | |
5334 | AC_DEFINE(HAVE_OLD_SSL_API, 1, [Define if you have OpenSSL < 0.9.6]) | |
5335 | fi | |
5336 | fi | |
5337 | ||
5338 | if test "$ssl_includes" = "/usr/include" || test "$ssl_includes" = "/usr/local/include" || test -z "$ssl_includes"; then | |
5339 | SSL_INCLUDES=""; | |
5340 | else | |
5341 | SSL_INCLUDES="-I$ssl_includes" | |
5342 | fi | |
5343 | ||
5344 | if test "$ssl_libraries" = "/usr/lib" || test "$ssl_libraries" = "/usr/local/lib" || test -z "$ssl_libraries"; then | |
5345 | SSL_LDFLAGS="" | |
5346 | else | |
5347 | SSL_LDFLAGS="-L$ssl_libraries -R$ssl_libraries" | |
5348 | fi | |
5349 | ||
5350 | AC_SUBST(SSL_INCLUDES) | |
5351 | AC_SUBST(SSL_LDFLAGS) | |
5352 | AC_SUBST(LIBSSL) | |
5353 | ]) | |
5354 | ||
5355 | AC_DEFUN(KDE_CHECK_STRLCPY, | |
5356 | [ | |
5357 | AC_CHECK_STRLCPY | |
5358 | AC_CHECK_STRLCAT | |
5359 | AC_CHECK_SIZEOF(size_t) | |
5360 | AC_CHECK_SIZEOF(unsigned long) | |
5361 | ||
5362 | AC_MSG_CHECKING([sizeof(size_t) == sizeof(unsigned long)]) | |
5363 | AC_TRY_COMPILE(,[ | |
5364 | #if SIZEOF_SIZE_T != SIZEOF_UNSIGNED_LONG | |
5365 | choke me | |
5366 | #endif | |
5367 | ],[AC_MSG_RESULT([yes])],[ | |
5368 | AC_MSG_RESULT([no]) | |
5369 | AC_MSG_ERROR([ | |
5370 | Apparently on your system our assumption sizeof(size_t) == sizeof(unsigned long) | |
5371 | does not apply. Please mail kde-devel@kde.org with a description of your system! | |
5372 | ]) | |
5373 | ]) | |
5374 | ]) | |
5375 |