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 | ||
5376 | AC_DEFUN(AC_CHECK_C_COMPILER, | |
5377 | [ | |
5378 | AC_ARG_ENABLE(debug,[ --enable-debug enables debug symbols [default=no]], | |
5379 | [ | |
5380 | if test $enableval = "no"; dnl | |
5381 | then | |
5382 | kde_use_debug_code="no" | |
5383 | kde_use_debug_define=yes | |
5384 | else | |
5385 | kde_use_debug_code="yes" | |
5386 | kde_use_debug_define=no | |
5387 | fi | |
5388 | ], | |
5389 | [kde_use_debug_code="no" | |
5390 | kde_use_debug_define=no | |
5391 | ]) | |
5392 | ||
5393 | dnl Just for configure --help | |
5394 | AC_ARG_ENABLE(dummyoption,[ --disable-debug disables debug output and debug symbols [default=no]],[],[]) | |
5395 | ||
5396 | AC_ARG_ENABLE(strict,[ --enable-strict compiles with strict compiler options (may not work!)], | |
5397 | [ | |
5398 | if test $enableval = "no"; then | |
5399 | kde_use_strict_options="no" | |
5400 | else | |
5401 | kde_use_strict_options="yes" | |
5402 | fi | |
5403 | ], [kde_use_strict_options="no"]) | |
5404 | ||
5405 | AC_ARG_ENABLE(profile,[ --enable-profile creates profiling infos [default=no]], | |
5406 | [kde_use_profiling=$enableval], | |
5407 | [kde_use_profiling="no"] | |
5408 | ) | |
5409 | ||
5410 | dnl this prevents stupid AC_PROG_CC to add "-g" to the default CFLAGS | |
5411 | CFLAGS=" $CFLAGS" | |
5412 | ||
5413 | AC_PROG_CC | |
5414 | ||
5415 | if test "$GCC" = "yes"; then | |
5416 | if test "$kde_use_debug_code" = "yes"; then | |
5417 | CFLAGS="-g -O2 $CFLAGS" | |
5418 | case $host in | |
5419 | *-*-linux-gnu) | |
5420 | CFLAGS="-ansi -W -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE $CFLAGS" | |
5421 | ;; | |
5422 | esac | |
5423 | else | |
5424 | CFLAGS="-O2 $CFLAGS" | |
5425 | fi | |
5426 | fi | |
5427 | ||
5428 | if test "$kde_use_debug_define" = "yes"; then | |
5429 | CFLAGS="-DNDEBUG $CFLAGS" | |
5430 | fi | |
5431 | ||
5432 | case "$host" in | |
5433 | *-*-sysv4.2uw*) CFLAGS="-D_UNIXWARE $CFLAGS";; | |
5434 | *-*-sysv5uw7*) CFLAGS="-D_UNIXWARE7 $CFLAGS";; | |
5435 | esac | |
5436 | ||
5437 | if test -z "$LDFLAGS" && test "$kde_use_debug_code" = "no" && test "$GCC" = "yes"; then | |
5438 | LDFLAGS="" | |
5439 | fi | |
5440 | ||
5441 | if test "$kde_use_profiling" = "yes"; then | |
5442 | KDE_CHECK_COMPILER_FLAG(pg, | |
5443 | [ | |
5444 | CFLAGS="-pg $CFLAGS" | |
5445 | ]) | |
5446 | fi | |
5447 | ||
5448 | USE_EXCEPTIONS= | |
5449 | AC_SUBST(USE_EXCEPTIONS) | |
5450 | dnl obsolete macro - provided to keep things going | |
5451 | USE_RTTI= | |
5452 | AC_SUBST(USE_RTTI) | |
5453 | ||
5454 | AC_PROG_CPP | |
5455 | ||
5456 | # the following is to allow programs, that are known to | |
5457 | # have problems when compiled with -O2 | |
5458 | if test -n "$CFLAGS"; then | |
5459 | kde_safe_IFS=$IFS | |
5460 | IFS=" " | |
5461 | NOOPT_CFLAGS="" | |
5462 | for i in $CFLAGS; do | |
5463 | case $i in | |
5464 | -O*) | |
5465 | ;; | |
5466 | *) | |
5467 | NOOPT_CFLAGS="$NOOPT_CFLAGS $i" | |
5468 | ;; | |
5469 | esac | |
5470 | done | |
5471 | IFS=$kde_safe_IFS | |
5472 | fi | |
5473 | ||
5474 | AC_SUBST(NOOPT_CFLAGS) | |
5475 | ||
5476 | KDE_CHECK_FINAL | |
5477 | ||
5478 | ifdef([AM_DEPENDENCIES], AC_REQUIRE([KDEV_ADD_DEPENDENCIES]), []) | |
5479 | ||
5480 | KDE_CXXFLAGS= | |
5481 | AC_SUBST(KDE_CXXFLAGS) | |
5482 | ]) | |
5483 | ||
5484 | AC_DEFUN(KDEV_ADD_DEPENDENCIES, | |
5485 | [ | |
5486 | [A]M_DEPENDENCIES(CC) | |
5487 | ]) | |
5488 | ||
5489 | ||
5490 | dnl just a wrapper to clean up configure.in only for c projects | |
5491 | AC_DEFUN(KDEV_PROG_LIBTOOL, | |
5492 | [ | |
5493 | AC_REQUIRE([AC_CHECK_C_COMPILER]) | |
5494 | AC_REQUIRE([AC_ENABLE_SHARED]) | |
5495 | AC_REQUIRE([AC_ENABLE_STATIC]) | |
5496 | ||
5497 | AC_REQUIRE([AC_LIBTOOL_DLOPEN]) | |
5498 | ||
5499 | AC_LANG_SAVE | |
5500 | AC_LANG_C | |
5501 | AC_OBJEXT | |
5502 | AC_EXEEXT | |
5503 | AC_LANG_RESTORE | |
5504 | ||
5505 | AM_PROG_LIBTOOL | |
5506 | AC_LIBTOOL_SETUP | |
5507 | ||
5508 | LIBTOOL_SHELL="/bin/sh ./libtool" | |
5509 | # LIBTOOL="$LIBTOOL --silent" | |
5510 | ]) | |
5511 | ||
5512 | # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- | |
5513 | ## Copyright 1996, 1997, 1998, 1999, 2000, 2001 | |
5514 | ## Free Software Foundation, Inc. | |
5515 | ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 | |
5516 | ## | |
5517 | ## This program is free software; you can redistribute it and/or modify | |
5518 | ## it under the terms of the GNU General Public License as published by | |
5519 | ## the Free Software Foundation; either version 2 of the License, or | |
5520 | ## (at your option) any later version. | |
5521 | ## | |
5522 | ## This program is distributed in the hope that it will be useful, but | |
5523 | ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
5524 | ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
5525 | ## General Public License for more details. | |
5526 | ## | |
5527 | ## You should have received a copy of the GNU General Public License | |
5528 | ## along with this program; if not, write to the Free Software | |
5529 | ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
5530 | ## | |
5531 | ## As a special exception to the GNU General Public License, if you | |
5532 | ## distribute this file as part of a program that contains a | |
5533 | ## configuration script generated by Autoconf, you may include it under | |
5534 | ## the same distribution terms that you use for the rest of that program. | |
5535 | ||
5536 | # serial 47 AC_PROG_LIBTOOL | |
5537 | ||
5538 | # AC_PROG_LIBTOOL | |
5539 | # --------------- | |
5540 | AC_DEFUN([AC_PROG_LIBTOOL], | |
5541 | [AC_REQUIRE([_AC_PROG_LIBTOOL])dnl | |
5542 | dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX | |
5543 | dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX. | |
5544 | AC_PROVIDE_IFELSE([AC_PROG_CXX], | |
5545 | [AC_LIBTOOL_CXX], | |
5546 | [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX | |
5547 | ])]) | |
5548 | ||
5549 | dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly. | |
5550 | dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run | |
5551 | dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both. | |
5552 | AC_PROVIDE_IFELSE([AC_PROG_GCJ], | |
5553 | [AC_LIBTOOL_GCJ], | |
5554 | [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], | |
5555 | [AC_LIBTOOL_GCJ], | |
5556 | [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ], | |
5557 | [AC_LIBTOOL_GCJ], | |
5558 | [ifdef([AC_PROG_GCJ], | |
5559 | [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])]) | |
5560 | ifdef([A][M_PROG_GCJ], | |
5561 | [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])]) | |
5562 | ifdef([LT_AC_PROG_GCJ], | |
5563 | [define([LT_AC_PROG_GCJ], | |
5564 | defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])]) | |
5565 | ])])# AC_PROG_LIBTOOL | |
5566 | ||
5567 | ||
5568 | # _AC_PROG_LIBTOOL | |
5569 | # ---------------- | |
5570 | AC_DEFUN([_AC_PROG_LIBTOOL], | |
5571 | [AC_REQUIRE([AC_LIBTOOL_SETUP])dnl | |
5572 | AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl | |
5573 | AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl | |
5574 | ||
5575 | # This can be used to rebuild libtool when needed | |
5576 | LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" | |
5577 | ||
5578 | # Always use our own libtool. | |
5579 | LIBTOOL='$(SHELL) $(top_builddir)/libtool --silent' | |
5580 | AC_SUBST(LIBTOOL)dnl | |
5581 | ||
5582 | # Prevent multiple expansion | |
5583 | define([AC_PROG_LIBTOOL], []) | |
5584 | ])# _AC_PROG_LIBTOOL | |
5585 | ||
5586 | ||
5587 | # AC_LIBTOOL_SETUP | |
5588 | # ---------------- | |
5589 | AC_DEFUN([AC_LIBTOOL_SETUP], | |
5590 | [AC_PREREQ(2.50)dnl | |
5591 | AC_REQUIRE([AC_ENABLE_SHARED])dnl | |
5592 | AC_REQUIRE([AC_ENABLE_STATIC])dnl | |
5593 | AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl | |
5594 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | |
5595 | AC_REQUIRE([AC_CANONICAL_BUILD])dnl | |
5596 | AC_REQUIRE([AC_PROG_CC])dnl | |
5597 | AC_REQUIRE([AC_PROG_LD])dnl | |
5598 | AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl | |
5599 | AC_REQUIRE([AC_PROG_NM])dnl | |
5600 | AC_REQUIRE([LT_AC_PROG_SED])dnl | |
5601 | ||
5602 | AC_REQUIRE([AC_PROG_LN_S])dnl | |
5603 | AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl | |
5604 | # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! | |
5605 | AC_REQUIRE([AC_OBJEXT])dnl | |
5606 | AC_REQUIRE([AC_EXEEXT])dnl | |
5607 | dnl | |
5608 | ||
5609 | AC_LIBTOOL_SYS_MAX_CMD_LEN | |
5610 | AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE | |
5611 | AC_LIBTOOL_OBJDIR | |
5612 | ||
5613 | AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl | |
5614 | _LT_AC_PROG_ECHO_BACKSLASH | |
5615 | ||
5616 | case $host_os in | |
5617 | aix3*) | |
5618 | # AIX sometimes has problems with the GCC collect2 program. For some | |
5619 | # reason, if we set the COLLECT_NAMES environment variable, the problems | |
5620 | # vanish in a puff of smoke. | |
5621 | if test "X${COLLECT_NAMES+set}" != Xset; then | |
5622 | COLLECT_NAMES= | |
5623 | export COLLECT_NAMES | |
5624 | fi | |
5625 | ;; | |
5626 | esac | |
5627 | ||
5628 | # Sed substitution that helps us do robust quoting. It backslashifies | |
5629 | # metacharacters that are still active within double-quoted strings. | |
5630 | Xsed='sed -e s/^X//' | |
5631 | [sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'] | |
5632 | ||
5633 | # Same as above, but do not quote variable references. | |
5634 | [double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'] | |
5635 | ||
5636 | # Sed substitution to delay expansion of an escaped shell variable in a | |
5637 | # double_quote_subst'ed string. | |
5638 | delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' | |
5639 | ||
5640 | # Sed substitution to avoid accidental globbing in evaled expressions | |
5641 | no_glob_subst='s/\*/\\\*/g' | |
5642 | ||
5643 | # Constants: | |
5644 | rm="rm -f" | |
5645 | ||
5646 | # Global variables: | |
5647 | default_ofile=libtool | |
5648 | can_build_shared=yes | |
5649 | ||
5650 | # All known linkers require a `.a' archive for static linking (except M$VC, | |
5651 | # which needs '.lib'). | |
5652 | libext=a | |
5653 | ltmain="$ac_aux_dir/ltmain.sh" | |
5654 | ofile="$default_ofile" | |
5655 | with_gnu_ld="$lt_cv_prog_gnu_ld" | |
5656 | ||
5657 | AC_CHECK_TOOL(RANLIB, ranlib, :) | |
5658 | AC_CHECK_TOOL(STRIP, strip, :) | |
5659 | ||
5660 | old_CC="$CC" | |
5661 | old_CFLAGS="$CFLAGS" | |
5662 | ||
5663 | # Set sane defaults for various variables | |
5664 | test -z "$AR" && AR=ar | |
5665 | test -z "$AR_FLAGS" && AR_FLAGS=cru | |
5666 | test -z "$AS" && AS=as | |
5667 | test -z "$CC" && CC=cc | |
5668 | test -z "$LTCC" && LTCC=$CC | |
5669 | test -z "$DLLTOOL" && DLLTOOL=dlltool | |
5670 | test -z "$LD" && LD=ld | |
5671 | test -z "$LN_S" && LN_S="ln -s" | |
5672 | test -z "$MAGIC_CMD" && MAGIC_CMD=file | |
5673 | test -z "$NM" && NM=nm | |
5674 | test -z "$SED" && SED=sed | |
5675 | test -z "$OBJDUMP" && OBJDUMP=objdump | |
5676 | test -z "$RANLIB" && RANLIB=: | |
5677 | test -z "$STRIP" && STRIP=: | |
5678 | test -z "$ac_objext" && ac_objext=o | |
5679 | ||
5680 | # Determine commands to create old-style static archives. | |
5681 | old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs' | |
5682 | old_postinstall_cmds='chmod 644 $oldlib' | |
5683 | old_postuninstall_cmds= | |
5684 | ||
5685 | if test -n "$RANLIB"; then | |
5686 | case $host_os in | |
5687 | openbsd*) | |
5688 | old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" | |
5689 | ;; | |
5690 | *) | |
5691 | old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" | |
5692 | ;; | |
5693 | esac | |
5694 | old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" | |
5695 | fi | |
5696 | ||
5697 | # Only perform the check for file, if the check method requires it | |
5698 | case $deplibs_check_method in | |
5699 | file_magic*) | |
5700 | if test "$file_magic_cmd" = '$MAGIC_CMD'; then | |
5701 | AC_PATH_MAGIC | |
5702 | fi | |
5703 | ;; | |
5704 | esac | |
5705 | ||
5706 | ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no) | |
5707 | ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], | |
5708 | enable_win32_dll=yes, enable_win32_dll=no) | |
5709 | ||
5710 | AC_ARG_ENABLE([libtool-lock], | |
5711 | [AC_HELP_STRING([--disable-libtool-lock], | |
5712 | [avoid locking (might break parallel builds)])]) | |
5713 | test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes | |
5714 | ||
5715 | AC_ARG_WITH([pic], | |
5716 | [AC_HELP_STRING([--with-pic], | |
5717 | [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], | |
5718 | [pic_mode="$withval"], | |
5719 | [pic_mode=default]) | |
5720 | test -z "$pic_mode" && pic_mode=default | |
5721 | ||
5722 | # Use C for the default configuration in the libtool script | |
5723 | tagname= | |
5724 | AC_LIBTOOL_LANG_C_CONFIG | |
5725 | _LT_AC_TAGCONFIG | |
5726 | ])# AC_LIBTOOL_SETUP | |
5727 | ||
5728 | ||
5729 | # _LT_AC_SYS_COMPILER | |
5730 | # ------------------- | |
5731 | AC_DEFUN([_LT_AC_SYS_COMPILER], | |
5732 | [AC_REQUIRE([AC_PROG_CC])dnl | |
5733 | ||
5734 | # If no C compiler was specified, use CC. | |
5735 | LTCC=${LTCC-"$CC"} | |
5736 | ||
5737 | # Allow CC to be a program name with arguments. | |
5738 | set dummy $CC | |
5739 | compiler="[$]2" | |
5740 | ])# _LT_AC_SYS_COMPILER | |
5741 | ||
5742 | ||
5743 | # _LT_AC_SYS_LIBPATH_AIX | |
5744 | # ---------------------- | |
5745 | # Links a minimal program and checks the executable | |
5746 | # for the system default hardcoded library path. In most cases, | |
5747 | # this is /usr/lib:/lib, but when the MPI compilers are used | |
5748 | # the location of the communication and MPI libs are included too. | |
5749 | # If we don't find anything, use the default library path according | |
5750 | # to the aix ld manual. | |
5751 | AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX], | |
5752 | [AC_LINK_IFELSE(AC_LANG_PROGRAM,[ | |
5753 | aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } | |
5754 | }'` | |
5755 | # Check for a 64-bit object if we didn't find anything. | |
5756 | if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } | |
5757 | }'`; fi],[]) | |
5758 | if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi | |
5759 | ])# _LT_AC_SYS_LIBPATH_AIX | |
5760 | ||
5761 | ||
5762 | # _LT_AC_PROG_ECHO_BACKSLASH | |
5763 | # -------------------------- | |
5764 | # Add some code to the start of the generated configure script which | |
5765 | # will find an echo command which doesn't interpret backslashes. | |
5766 | AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH], | |
5767 | [ifdef([AC_DIVERSION_NOTICE], | |
5768 | [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], | |
5769 | [AC_DIVERT_PUSH(NOTICE)]) | |
5770 | ||
5771 | # Check that we are running under the correct shell. | |
5772 | SHELL=${CONFIG_SHELL-/bin/sh} | |
5773 | ||
5774 | case X$ECHO in | |
5775 | X*--fallback-echo) | |
5776 | # Remove one level of quotation (which was required for Make). | |
5777 | ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` | |
5778 | ;; | |
5779 | esac | |
5780 | ||
5781 | echo=${ECHO-echo} | |
5782 | if test "X[$]1" = X--no-reexec; then | |
5783 | # Discard the --no-reexec flag, and continue. | |
5784 | shift | |
5785 | elif test "X[$]1" = X--fallback-echo; then | |
5786 | # Avoid inline document here, it may be left over | |
5787 | : | |
5788 | elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then | |
5789 | # Yippee, $echo works! | |
5790 | : | |
5791 | else | |
5792 | # Restart under the correct shell. | |
5793 | exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} | |
5794 | fi | |
5795 | ||
5796 | if test "X[$]1" = X--fallback-echo; then | |
5797 | # used as fallback echo | |
5798 | shift | |
5799 | cat <<EOF | |
5800 | [$]* | |
5801 | EOF | |
5802 | exit 0 | |
5803 | fi | |
5804 | ||
5805 | # The HP-UX ksh and POSIX shell print the target directory to stdout | |
5806 | # if CDPATH is set. | |
5807 | if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi | |
5808 | ||
5809 | if test -z "$ECHO"; then | |
5810 | if test "X${echo_test_string+set}" != Xset; then | |
5811 | # find a string as large as possible, as long as the shell can cope with it | |
5812 | for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do | |
5813 | # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... | |
5814 | if (echo_test_string="`eval $cmd`") 2>/dev/null && | |
5815 | echo_test_string="`eval $cmd`" && | |
5816 | (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null | |
5817 | then | |
5818 | break | |
5819 | fi | |
5820 | done | |
5821 | fi | |
5822 | ||
5823 | if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && | |
5824 | echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && | |
5825 | test "X$echo_testing_string" = "X$echo_test_string"; then | |
5826 | : | |
5827 | else | |
5828 | # The Solaris, AIX, and Digital Unix default echo programs unquote | |
5829 | # backslashes. This makes it impossible to quote backslashes using | |
5830 | # echo "$something" | sed 's/\\/\\\\/g' | |
5831 | # | |
5832 | # So, first we look for a working echo in the user's PATH. | |
5833 | ||
5834 | lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | |
5835 | for dir in $PATH /usr/ucb; do | |
5836 | IFS="$lt_save_ifs" | |
5837 | if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && | |
5838 | test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && | |
5839 | echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && | |
5840 | test "X$echo_testing_string" = "X$echo_test_string"; then | |
5841 | echo="$dir/echo" | |
5842 | break | |
5843 | fi | |
5844 | done | |
5845 | IFS="$lt_save_ifs" | |
5846 | ||
5847 | if test "X$echo" = Xecho; then | |
5848 | # We didn't find a better echo, so look for alternatives. | |
5849 | if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' && | |
5850 | echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` && | |
5851 | test "X$echo_testing_string" = "X$echo_test_string"; then | |
5852 | # This shell has a builtin print -r that does the trick. | |
5853 | echo='print -r' | |
5854 | elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) && | |
5855 | test "X$CONFIG_SHELL" != X/bin/ksh; then | |
5856 | # If we have ksh, try running configure again with it. | |
5857 | ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} | |
5858 | export ORIGINAL_CONFIG_SHELL | |
5859 | CONFIG_SHELL=/bin/ksh | |
5860 | export CONFIG_SHELL | |
5861 | exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} | |
5862 | else | |
5863 | # Try using printf. | |
5864 | echo='printf %s\n' | |
5865 | if test "X`($echo '\t') 2>/dev/null`" = 'X\t' && | |
5866 | echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` && | |
5867 | test "X$echo_testing_string" = "X$echo_test_string"; then | |
5868 | # Cool, printf works | |
5869 | : | |
5870 | elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && | |
5871 | test "X$echo_testing_string" = 'X\t' && | |
5872 | echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && | |
5873 | test "X$echo_testing_string" = "X$echo_test_string"; then | |
5874 | CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL | |
5875 | export CONFIG_SHELL | |
5876 | SHELL="$CONFIG_SHELL" | |
5877 | export SHELL | |
5878 | echo="$CONFIG_SHELL [$]0 --fallback-echo" | |
5879 | elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && | |
5880 | test "X$echo_testing_string" = 'X\t' && | |
5881 | echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && | |
5882 | test "X$echo_testing_string" = "X$echo_test_string"; then | |
5883 | echo="$CONFIG_SHELL [$]0 --fallback-echo" | |
5884 | else | |
5885 | # maybe with a smaller string... | |
5886 | prev=: | |
5887 | ||
5888 | for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do | |
5889 | if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null | |
5890 | then | |
5891 | break | |
5892 | fi | |
5893 | prev="$cmd" | |
5894 | done | |
5895 | ||
5896 | if test "$prev" != 'sed 50q "[$]0"'; then | |
5897 | echo_test_string=`eval $prev` | |
5898 | export echo_test_string | |
5899 | exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} | |
5900 | else | |
5901 | # Oops. We lost completely, so just stick with echo. | |
5902 | echo=echo | |
5903 | fi | |
5904 | fi | |
5905 | fi | |
5906 | fi | |
5907 | fi | |
5908 | fi | |
5909 | ||
5910 | # Copy echo and quote the copy suitably for passing to libtool from | |
5911 | # the Makefile, instead of quoting the original, which is used later. | |
5912 | ECHO=$echo | |
5913 | if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then | |
5914 | ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" | |
5915 | fi | |
5916 | ||
5917 | AC_SUBST(ECHO) | |
5918 | AC_DIVERT_POP | |
5919 | ])# _LT_AC_PROG_ECHO_BACKSLASH | |
5920 | ||
5921 | ||
5922 | # _LT_AC_LOCK | |
5923 | # ----------- | |
5924 | AC_DEFUN([_LT_AC_LOCK], | |
5925 | [AC_ARG_ENABLE([libtool-lock], | |
5926 | [AC_HELP_STRING([--disable-libtool-lock], | |
5927 | [avoid locking (might break parallel builds)])]) | |
5928 | test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes | |
5929 | ||
5930 | # Some flags need to be propagated to the compiler or linker for good | |
5931 | # libtool support. | |
5932 | case $host in | |
5933 | ia64-*-hpux*) | |
5934 | # Find out which ABI we are using. | |
5935 | echo 'int i;' > conftest.$ac_ext | |
5936 | if AC_TRY_EVAL(ac_compile); then | |
5937 | case `/usr/bin/file conftest.$ac_objext` in | |
5938 | *ELF-32*) | |
5939 | HPUX_IA64_MODE="32" | |
5940 | ;; | |
5941 | *ELF-64*) | |
5942 | HPUX_IA64_MODE="64" | |
5943 | ;; | |
5944 | esac | |
5945 | fi | |
5946 | rm -rf conftest* | |
5947 | ;; | |
5948 | *-*-irix6*) | |
5949 | # Find out which ABI we are using. | |
5950 | echo '[#]line __oline__ "configure"' > conftest.$ac_ext | |
5951 | if AC_TRY_EVAL(ac_compile); then | |
5952 | case `/usr/bin/file conftest.$ac_objext` in | |
5953 | *32-bit*) | |
5954 | LD="${LD-ld} -32" | |
5955 | ;; | |
5956 | *N32*) | |
5957 | LD="${LD-ld} -n32" | |
5958 | ;; | |
5959 | *64-bit*) | |
5960 | LD="${LD-ld} -64" | |
5961 | ;; | |
5962 | esac | |
5963 | fi | |
5964 | rm -rf conftest* | |
5965 | ;; | |
5966 | ||
5967 | *-*-linux*) | |
5968 | # Test if the compiler is 64bit | |
5969 | echo 'int i;' > conftest.$ac_ext | |
5970 | if AC_TRY_EVAL(ac_compile); then | |
5971 | case `/usr/bin/file conftest.$ac_objext` in | |
5972 | *"ELF 32"*) | |
5973 | LINUX_64_MODE="32" | |
5974 | ;; | |
5975 | *"ELF 64"*) | |
5976 | LINUX_64_MODE="64" | |
5977 | ;; | |
5978 | esac | |
5979 | fi | |
5980 | rm -rf conftest* | |
5981 | ;; | |
5982 | ||
5983 | *-*-sco3.2v5*) | |
5984 | # On SCO OpenServer 5, we need -belf to get full-featured binaries. | |
5985 | SAVE_CFLAGS="$CFLAGS" | |
5986 | CFLAGS="$CFLAGS -belf" | |
5987 | AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, | |
5988 | [AC_LANG_PUSH(C) | |
5989 | AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) | |
5990 | AC_LANG_POP]) | |
5991 | if test x"$lt_cv_cc_needs_belf" != x"yes"; then | |
5992 | # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf | |
5993 | CFLAGS="$SAVE_CFLAGS" | |
5994 | fi | |
5995 | ;; | |
5996 | ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], | |
5997 | [*-*-cygwin* | *-*-mingw* | *-*-pw32*) | |
5998 | AC_CHECK_TOOL(DLLTOOL, dlltool, false) | |
5999 | AC_CHECK_TOOL(AS, as, false) | |
6000 | AC_CHECK_TOOL(OBJDUMP, objdump, false) | |
6001 | ||
6002 | # recent cygwin and mingw systems supply a stub DllMain which the user | |
6003 | # can override, but on older systems we have to supply one | |
6004 | AC_CACHE_CHECK([if libtool should supply DllMain function], lt_cv_need_dllmain, | |
6005 | [AC_TRY_LINK([], | |
6006 | [extern int __attribute__((__stdcall__)) DllMain(void*, int, void*); | |
6007 | DllMain (0, 0, 0);], | |
6008 | [lt_cv_need_dllmain=no],[lt_cv_need_dllmain=yes])]) | |
6009 | ||
6010 | case $host/$CC in | |
6011 | *-*-cygwin*/gcc*-mno-cygwin*|*-*-mingw*) | |
6012 | # old mingw systems require "-dll" to link a DLL, while more recent ones | |
6013 | # require "-mdll" | |
6014 | SAVE_CFLAGS="$CFLAGS" | |
6015 | CFLAGS="$CFLAGS -mdll" | |
6016 | AC_CACHE_CHECK([how to link DLLs], lt_cv_cc_dll_switch, | |
6017 | [AC_TRY_LINK([], [], [lt_cv_cc_dll_switch=-mdll],[lt_cv_cc_dll_switch=-dll])]) | |
6018 | CFLAGS="$SAVE_CFLAGS" ;; | |
6019 | *-*-cygwin* | *-*-pw32*) | |
6020 | # cygwin systems need to pass --dll to the linker, and not link | |
6021 | # crt.o which will require a WinMain@16 definition. | |
6022 | lt_cv_cc_dll_switch="-Wl,--dll -nostartfiles" ;; | |
6023 | esac | |
6024 | ;; | |
6025 | ]) | |
6026 | esac | |
6027 | ||
6028 | need_locks="$enable_libtool_lock" | |
6029 | ||
6030 | ])# _LT_AC_LOCK | |
6031 | ||
6032 | ||
6033 | # AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, | |
6034 | # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) | |
6035 | # ---------------------------------------------------------------- | |
6036 | # Check whether the given compiler option works | |
6037 | AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], | |
6038 | [AC_CACHE_CHECK([$1], [$2], | |
6039 | [$2=no | |
6040 | ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) | |
6041 | save_CFLAGS="$CFLAGS" | |
6042 | CFLAGS="$CFLAGS $3" | |
6043 | echo "$lt_simple_compile_test_code" > conftest.$ac_ext | |
6044 | if (eval $ac_compile 2>conftest.err) && test -s $ac_outfile; then | |
6045 | # The compiler can only warn and ignore the option if not recognized | |
6046 | # So say no if there are warnings | |
6047 | if test -s conftest.err; then | |
6048 | # Append any errors to the config.log. | |
6049 | cat conftest.err 1>&AS_MESSAGE_LOG_FD | |
6050 | else | |
6051 | $2=yes | |
6052 | fi | |
6053 | fi | |
6054 | $rm conftest* | |
6055 | CFLAGS="$save_CFLAGS" | |
6056 | ]) | |
6057 | ||
6058 | if test x"[$]$2" = xyes; then | |
6059 | ifelse([$5], , :, [$5]) | |
6060 | else | |
6061 | ifelse([$6], , :, [$6]) | |
6062 | fi | |
6063 | ])# AC_LIBTOOL_COMPILER_OPTION | |
6064 | ||
6065 | ||
6066 | # AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, | |
6067 | # [ACTION-SUCCESS], [ACTION-FAILURE]) | |
6068 | # ------------------------------------------------------------ | |
6069 | # Check whether the given compiler option works | |
6070 | AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], | |
6071 | [AC_CACHE_CHECK([$1], [$2], | |
6072 | [$2=no | |
6073 | save_LDFLAGS="$LDFLAGS" | |
6074 | LDFLAGS="$LDFLAGS $3" | |
6075 | echo "$lt_simple_link_test_code" > conftest.$ac_ext | |
6076 | if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then | |
6077 | # The compiler can only warn and ignore the option if not recognized | |
6078 | # So say no if there are warnings | |
6079 | if test -s conftest.err; then | |
6080 | # Append any errors to the config.log. | |
6081 | cat conftest.err 1>&AS_MESSAGE_LOG_FD | |
6082 | else | |
6083 | $2=yes | |
6084 | fi | |
6085 | fi | |
6086 | $rm conftest* | |
6087 | LDFLAGS="$save_LDFLAGS" | |
6088 | ]) | |
6089 | ||
6090 | if test x"[$]$2" = xyes; then | |
6091 | ifelse([$4], , :, [$4]) | |
6092 | else | |
6093 | ifelse([$5], , :, [$5]) | |
6094 | fi | |
6095 | ])# AC_LIBTOOL_LINKER_OPTION | |
6096 | ||
6097 | ||
6098 | # AC_LIBTOOL_SYS_MAX_CMD_LEN | |
6099 | # -------------------------- | |
6100 | AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], | |
6101 | [# find the maximum length of command line arguments | |
6102 | AC_MSG_CHECKING([the maximum length of command line arguments]) | |
6103 | AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl | |
6104 | i=0 | |
6105 | testring="ABCD" | |
6106 | ||
6107 | case $host_os in | |
6108 | msdosdjgpp*) | |
6109 | # On DJGPP, this test can blow up pretty badly due to problems in libc | |
6110 | # (any single argument exceeding 2000 bytes causes a buffer overrun | |
6111 | # during glob expansion). Even if it were fixed, the result of this | |
6112 | # check would be larger than it should be. | |
6113 | lt_cv_sys_max_cmd_len=12288; # 12K is about right | |
6114 | ;; | |
6115 | ||
6116 | gnu*) | |
6117 | # Under GNU Hurd, this test is not required because there is | |
6118 | # no limit to the length of command line arguments. | |
6119 | # Libtool will interpret -1 as no limit whatsoever | |
6120 | lt_cv_sys_max_cmd_len=-1; | |
6121 | ;; | |
6122 | ||
6123 | *) | |
6124 | # If test is not a shell built-in, we'll probably end up computing a | |
6125 | # maximum length that is only half of the actual maximum length, but | |
6126 | # we can't tell. | |
6127 | while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$testring" 2>/dev/null` \ | |
6128 | = "XX$testring") >/dev/null 2>&1 && | |
6129 | new_result=`expr "X$testring" : ".*" 2>&1` && | |
6130 | lt_cv_sys_max_cmd_len=$new_result && | |
6131 | test $i != 17 # 1/2 MB should be enough | |
6132 | do | |
6133 | i=`expr $i + 1` | |
6134 | testring=$testring$testring | |
6135 | done | |
6136 | testring= | |
6137 | # Add a significant safety factor because C++ compilers can tack on massive | |
6138 | # amounts of additional arguments before passing them to the linker. | |
6139 | # It appears as though 1/2 is a usable value. | |
6140 | lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` | |
6141 | ;; | |
6142 | esac | |
6143 | ]) | |
6144 | if test -n $lt_cv_sys_max_cmd_len ; then | |
6145 | AC_MSG_RESULT($lt_cv_sys_max_cmd_len) | |
6146 | else | |
6147 | AC_MSG_RESULT(none) | |
6148 | fi | |
6149 | ])# AC_LIBTOOL_SYS_MAX_CMD_LEN | |
6150 | ||
6151 | ||
6152 | # _LT_AC_CHECK_DLFCN | |
6153 | # -------------------- | |
6154 | AC_DEFUN([_LT_AC_CHECK_DLFCN], | |
6155 | [AC_CHECK_HEADERS(dlfcn.h)dnl | |
6156 | ])# _LT_AC_CHECK_DLFCN | |
6157 | ||
6158 | ||
6159 | # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, | |
6160 | # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) | |
6161 | # ------------------------------------------------------------------ | |
6162 | AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], | |
6163 | [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl | |
6164 | if test "$cross_compiling" = yes; then : | |
6165 | [$4] | |
6166 | else | |
6167 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | |
6168 | lt_status=$lt_dlunknown | |
6169 | cat > conftest.$ac_ext <<EOF | |
6170 | [#line __oline__ "configure" | |
6171 | #include "confdefs.h" | |
6172 | ||
6173 | #if HAVE_DLFCN_H | |
6174 | #include <dlfcn.h> | |
6175 | #endif | |
6176 | ||
6177 | #include <stdio.h> | |
6178 | ||
6179 | #ifdef RTLD_GLOBAL | |
6180 | # define LT_DLGLOBAL RTLD_GLOBAL | |
6181 | #else | |
6182 | # ifdef DL_GLOBAL | |
6183 | # define LT_DLGLOBAL DL_GLOBAL | |
6184 | # else | |
6185 | # define LT_DLGLOBAL 0 | |
6186 | # endif | |
6187 | #endif | |
6188 | ||
6189 | /* We may have to define LT_DLLAZY_OR_NOW in the command line if we | |
6190 | find out it does not work in some platform. */ | |
6191 | #ifndef LT_DLLAZY_OR_NOW | |
6192 | # ifdef RTLD_LAZY | |
6193 | # define LT_DLLAZY_OR_NOW RTLD_LAZY | |
6194 | # else | |
6195 | # ifdef DL_LAZY | |
6196 | # define LT_DLLAZY_OR_NOW DL_LAZY | |
6197 | # else | |
6198 | # ifdef RTLD_NOW | |
6199 | # define LT_DLLAZY_OR_NOW RTLD_NOW | |
6200 | # else | |
6201 | # ifdef DL_NOW | |
6202 | # define LT_DLLAZY_OR_NOW DL_NOW | |
6203 | # else | |
6204 | # define LT_DLLAZY_OR_NOW 0 | |
6205 | # endif | |
6206 | # endif | |
6207 | # endif | |
6208 | # endif | |
6209 | #endif | |
6210 | ||
6211 | #ifdef __cplusplus | |
6212 | extern "C" void exit (int); | |
6213 | #endif | |
6214 | ||
6215 | void fnord() { int i=42;} | |
6216 | int main () | |
6217 | { | |
6218 | void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); | |
6219 | int status = $lt_dlunknown; | |
6220 | ||
6221 | if (self) | |
6222 | { | |
6223 | if (dlsym (self,"fnord")) status = $lt_dlno_uscore; | |
6224 | else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; | |
6225 | /* dlclose (self); */ | |
6226 | } | |
6227 | ||
6228 | exit (status); | |
6229 | }] | |
6230 | EOF | |
6231 | if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then | |
6232 | (./conftest; exit; ) 2>/dev/null | |
6233 | lt_status=$? | |
6234 | case x$lt_status in | |
6235 | x$lt_dlno_uscore) $1 ;; | |
6236 | x$lt_dlneed_uscore) $2 ;; | |
6237 | x$lt_unknown|x*) $3 ;; | |
6238 | esac | |
6239 | else : | |
6240 | # compilation failed | |
6241 | $3 | |
6242 | fi | |
6243 | fi | |
6244 | rm -fr conftest* | |
6245 | ])# _LT_AC_TRY_DLOPEN_SELF | |
6246 | ||
6247 | ||
6248 | # AC_LIBTOOL_DLOPEN_SELF | |
6249 | # ------------------- | |
6250 | AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], | |
6251 | [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl | |
6252 | if test "x$enable_dlopen" != xyes; then | |
6253 | enable_dlopen=unknown | |
6254 | enable_dlopen_self=unknown | |
6255 | enable_dlopen_self_static=unknown | |
6256 | else | |
6257 | lt_cv_dlopen=no | |
6258 | lt_cv_dlopen_libs= | |
6259 | ||
6260 | case $host_os in | |
6261 | beos*) | |
6262 | lt_cv_dlopen="load_add_on" | |
6263 | lt_cv_dlopen_libs= | |
6264 | lt_cv_dlopen_self=yes | |
6265 | ;; | |
6266 | ||
6267 | cygwin* | mingw* | pw32*) | |
6268 | lt_cv_dlopen="LoadLibrary" | |
6269 | lt_cv_dlopen_libs= | |
6270 | ;; | |
6271 | ||
6272 | *) | |
6273 | AC_CHECK_FUNC([shl_load], | |
6274 | [lt_cv_dlopen="shl_load"], | |
6275 | [AC_CHECK_LIB([dld], [shl_load], | |
6276 | [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], | |
6277 | [AC_CHECK_FUNC([dlopen], | |
6278 | [lt_cv_dlopen="dlopen"], | |
6279 | [AC_CHECK_LIB([dl], [dlopen], | |
6280 | [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], | |
6281 | [AC_CHECK_LIB([svld], [dlopen], | |
6282 | [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], | |
6283 | [AC_CHECK_LIB([dld], [dld_link], | |
6284 | [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"]) | |
6285 | ]) | |
6286 | ]) | |
6287 | ]) | |
6288 | ]) | |
6289 | ]) | |
6290 | ;; | |
6291 | esac | |
6292 | ||
6293 | if test "x$lt_cv_dlopen" != xno; then | |
6294 | enable_dlopen=yes | |
6295 | else | |
6296 | enable_dlopen=no | |
6297 | fi | |
6298 | ||
6299 | case $lt_cv_dlopen in | |
6300 | dlopen) | |
6301 | save_CPPFLAGS="$CPPFLAGS" | |
6302 | test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" | |
6303 | ||
6304 | save_LDFLAGS="$LDFLAGS" | |
6305 | eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" | |
6306 | ||
6307 | save_LIBS="$LIBS" | |
6308 | LIBS="$lt_cv_dlopen_libs $LIBS" | |
6309 | ||
6310 | AC_CACHE_CHECK([whether a program can dlopen itself], | |
6311 | lt_cv_dlopen_self, [dnl | |
6312 | _LT_AC_TRY_DLOPEN_SELF( | |
6313 | lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, | |
6314 | lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) | |
6315 | ]) | |
6316 | ||
6317 | if test "x$lt_cv_dlopen_self" = xyes; then | |
6318 | LDFLAGS="$LDFLAGS $link_static_flag" | |
6319 | AC_CACHE_CHECK([whether a statically linked program can dlopen itself], | |
6320 | lt_cv_dlopen_self_static, [dnl | |
6321 | _LT_AC_TRY_DLOPEN_SELF( | |
6322 | lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, | |
6323 | lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) | |
6324 | ]) | |
6325 | fi | |
6326 | ||
6327 | CPPFLAGS="$save_CPPFLAGS" | |
6328 | LDFLAGS="$save_LDFLAGS" | |
6329 | LIBS="$save_LIBS" | |
6330 | ;; | |
6331 | esac | |
6332 | ||
6333 | case $lt_cv_dlopen_self in | |
6334 | yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; | |
6335 | *) enable_dlopen_self=unknown ;; | |
6336 | esac | |
6337 | ||
6338 | case $lt_cv_dlopen_self_static in | |
6339 | yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; | |
6340 | *) enable_dlopen_self_static=unknown ;; | |
6341 | esac | |
6342 | fi | |
6343 | ])# AC_LIBTOOL_DLOPEN_SELF | |
6344 | ||
6345 | ||
6346 | # AC_LIBTOOL_PROG_CC_C_O([TAGNAME]) | |
6347 | # --------------------------------- | |
6348 | # Check to see if options -c and -o are simultaneously supported by compiler | |
6349 | AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O], | |
6350 | [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl | |
6351 | AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], | |
6352 | [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)], | |
6353 | [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no | |
6354 | $rm -r conftest 2>/dev/null | |
6355 | mkdir conftest | |
6356 | cd conftest | |
6357 | mkdir out | |
6358 | ifelse([$1],[],[save_CFLAGS="$CFLAGS" | |
6359 | CFLAGS="$CFLAGS -o out/conftest2.$ac_objext"], | |
6360 | [$1],[CXX],[save_CXXFLAGS="$CXXFLAGS" | |
6361 | CXXFLAGS="$CXXFLAGS -o out/conftest2.$ac_objext"], | |
6362 | [$1],[GCJ],[save_GCJFLAGS="$GCJFLAGS" | |
6363 | GCJFLAGS="$GCJFLAGS -o out/conftest2.$ac_objext"]) | |
6364 | echo "$lt_simple_compile_test_code" > conftest.$ac_ext | |
6365 | ||
6366 | # According to Tom Tromey, Ian Lance Taylor reported there are C compilers | |
6367 | # that will create temporary files in the current directory regardless of | |
6368 | # the output directory. Thus, making CWD read-only will cause this test | |
6369 | # to fail, enabling locking or at least warning the user not to do parallel | |
6370 | # builds. | |
6371 | chmod -w . | |
6372 | ||
6373 | if (eval $ac_compile 2>out/conftest.err) && test -s out/conftest2.$ac_objext | |
6374 | then | |
6375 | # The compiler can only warn and ignore the option if not recognized | |
6376 | # So say no if there are warnings | |
6377 | if test -s out/conftest.err; then | |
6378 | # Append any errors to the config.log. | |
6379 | cat out/conftest.err 1>&AS_MESSAGE_LOG_FD | |
6380 | else | |
6381 | _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes | |
6382 | fi | |
6383 | fi | |
6384 | ifelse([$1],[],[CFLAGS="$save_CFLAGS"], | |
6385 | [$1],[CXX],[CXXFLAGS="$save_CXXFLAGS"], | |
6386 | [$1],[GCJ],[GCJFLAGS="$save_GCJFLAGS"]) | |
6387 | chmod u+w . | |
6388 | $rm conftest* out/* | |
6389 | rmdir out | |
6390 | cd .. | |
6391 | rmdir conftest | |
6392 | $rm conftest* | |
6393 | ]) | |
6394 | ])# AC_LIBTOOL_PROG_CC_C_O | |
6395 | ||
6396 | ||
6397 | # AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME]) | |
6398 | # ----------------------------------------- | |
6399 | # Check to see if we can do hard links to lock some files if needed | |
6400 | AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], | |
6401 | [AC_REQUIRE([_LT_AC_LOCK])dnl | |
6402 | ||
6403 | hard_links="nottested" | |
6404 | if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then | |
6405 | # do not overwrite the value of need_locks provided by the user | |
6406 | AC_MSG_CHECKING([if we can lock with hard links]) | |
6407 | hard_links=yes | |
6408 | $rm conftest* | |
6409 | ln conftest.a conftest.b 2>/dev/null && hard_links=no | |
6410 | touch conftest.a | |
6411 | ln conftest.a conftest.b 2>&5 || hard_links=no | |
6412 | ln conftest.a conftest.b 2>/dev/null && hard_links=no | |
6413 | AC_MSG_RESULT([$hard_links]) | |
6414 | if test "$hard_links" = no; then | |
6415 | AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) | |
6416 | need_locks=warn | |
6417 | fi | |
6418 | else | |
6419 | need_locks=no | |
6420 | fi | |
6421 | ])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS | |
6422 | ||
6423 | ||
6424 | # AC_LIBTOOL_OBJDIR | |
6425 | # ----------------- | |
6426 | AC_DEFUN([AC_LIBTOOL_OBJDIR], | |
6427 | [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], | |
6428 | [rm -f .libs 2>/dev/null | |
6429 | mkdir .libs 2>/dev/null | |
6430 | if test -d .libs; then | |
6431 | lt_cv_objdir=.libs | |
6432 | else | |
6433 | # MS-DOS does not allow filenames that begin with a dot. | |
6434 | lt_cv_objdir=_libs | |
6435 | fi | |
6436 | rmdir .libs 2>/dev/null]) | |
6437 | objdir=$lt_cv_objdir | |
6438 | ])# AC_LIBTOOL_OBJDIR | |
6439 | ||
6440 | ||
6441 | # AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME]) | |
6442 | # ---------------------------------------------- | |
6443 | # Check hardcoding attributes. | |
6444 | AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], | |
6445 | [AC_MSG_CHECKING([how to hardcode library paths into programs]) | |
6446 | _LT_AC_TAGVAR(hardcode_action, $1)= | |
6447 | if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ | |
6448 | test -n "$_LT_AC_TAGVAR(runpath_var $1)"; then | |
6449 | ||
6450 | # We can hardcode non-existant directories. | |
6451 | if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && | |
6452 | # If the only mechanism to avoid hardcoding is shlibpath_var, we | |
6453 | # have to relink, otherwise we might link with an installed library | |
6454 | # when we should be linking with a yet-to-be-installed one | |
6455 | ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no && | |
6456 | test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then | |
6457 | # Linking always hardcodes the temporary library directory. | |
6458 | _LT_AC_TAGVAR(hardcode_action, $1)=relink | |
6459 | else | |
6460 | # We can link without hardcoding, and we can hardcode nonexisting dirs. | |
6461 | _LT_AC_TAGVAR(hardcode_action, $1)=immediate | |
6462 | fi | |
6463 | else | |
6464 | # We cannot hardcode anything, or else we can only hardcode existing | |
6465 | # directories. | |
6466 | _LT_AC_TAGVAR(hardcode_action, $1)=unsupported | |
6467 | fi | |
6468 | AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)]) | |
6469 | ||
6470 | if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then | |
6471 | # Fast installation is not supported | |
6472 | enable_fast_install=no | |
6473 | elif test "$shlibpath_overrides_runpath" = yes || | |
6474 | test "$enable_shared" = no; then | |
6475 | # Fast installation is not necessary | |
6476 | enable_fast_install=needless | |
6477 | fi | |
6478 | ])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH | |
6479 | ||
6480 | ||
6481 | # AC_LIBTOOL_SYS_LIB_STRIP | |
6482 | # ------------------------ | |
6483 | AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP], | |
6484 | [striplib= | |
6485 | old_striplib= | |
6486 | AC_MSG_CHECKING([whether stripping libraries is possible]) | |
6487 | if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then | |
6488 | test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" | |
6489 | test -z "$striplib" && striplib="$STRIP --strip-unneeded" | |
6490 | AC_MSG_RESULT([yes]) | |
6491 | else | |
6492 | AC_MSG_RESULT([no]) | |
6493 | fi | |
6494 | ])# AC_LIBTOOL_SYS_LIB_STRIP | |
6495 | ||
6496 | ||
6497 | # AC_LIBTOOL_SYS_DYNAMIC_LINKER | |
6498 | # ----------------------------- | |
6499 | # PORTME Fill in your ld.so characteristics | |
6500 | AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER], | |
6501 | [AC_MSG_CHECKING([dynamic linker characteristics]) | |
6502 | library_names_spec= | |
6503 | libname_spec='lib$name' | |
6504 | soname_spec= | |
6505 | postinstall_cmds= | |
6506 | postuninstall_cmds= | |
6507 | finish_cmds= | |
6508 | finish_eval= | |
6509 | shlibpath_var= | |
6510 | shlibpath_overrides_runpath=unknown | |
6511 | version_type=none | |
6512 | dynamic_linker="$host_os ld.so" | |
6513 | sys_lib_dlsearch_path_spec="/lib /usr/lib" | |
6514 | sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" | |
6515 | need_lib_prefix=unknown | |
6516 | hardcode_into_libs=no | |
6517 | ||
6518 | # when you set need_version to no, make sure it does not cause -set_version | |
6519 | # flags to be left without arguments | |
6520 | need_version=unknown | |
6521 | ||
6522 | case $host_os in | |
6523 | aix3*) | |
6524 | version_type=linux | |
6525 | library_names_spec='${libname}${release}.so$versuffix $libname.a' | |
6526 | shlibpath_var=LIBPATH | |
6527 | ||
6528 | # AIX 3 has no versioning support, so we append a major version to the name. | |
6529 | soname_spec='${libname}${release}.so$major' | |
6530 | ;; | |
6531 | ||
6532 | aix4* | aix5*) | |
6533 | version_type=linux | |
6534 | if test "$host_cpu" = ia64; then | |
6535 | # AIX 5 supports IA64 | |
6536 | library_names_spec='${libname}${release}.so$major ${libname}${release}.so$versuffix $libname.so' | |
6537 | shlibpath_var=LD_LIBRARY_PATH | |
6538 | else | |
6539 | # With GCC up to 2.95.x, collect2 would create an import file | |
6540 | # for dependence libraries. The import file would start with | |
6541 | # the line `#! .'. This would cause the generated library to | |
6542 | # depend on `.', always an invalid library. This was fixed in | |
6543 | # development snapshots of GCC prior to 3.0. | |
6544 | case $host_os in | |
6545 | aix4 | aix4.[[01]] | aix4.[[01]].*) | |
6546 | if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' | |
6547 | echo ' yes ' | |
6548 | echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then | |
6549 | : | |
6550 | else | |
6551 | can_build_shared=no | |
6552 | fi | |
6553 | ;; | |
6554 | esac | |
6555 | # AIX (on Power*) has no versioning support, so currently we can not hardcode correct | |
6556 | # soname into executable. Probably we can add versioning support to | |
6557 | # collect2, so additional links can be useful in future. | |
6558 | if test "$aix_use_runtimelinking" = yes; then | |
6559 | # If using run time linking (on AIX 4.2 or later) use lib<name>.so | |
6560 | # instead of lib<name>.a to let people know that these are not | |
6561 | # typical AIX shared libraries. | |
6562 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6563 | else | |
6564 | # We preserve .a as extension for shared libraries through AIX4.2 | |
6565 | # and later when we are not doing run time linking. | |
6566 | library_names_spec='${libname}${release}.a $libname.a' | |
6567 | soname_spec='${libname}${release}.so$major' | |
6568 | fi | |
6569 | shlibpath_var=LIBPATH | |
6570 | fi | |
6571 | ;; | |
6572 | ||
6573 | amigaos*) | |
6574 | library_names_spec='$libname.ixlibrary $libname.a' | |
6575 | # Create ${libname}_ixlibrary.a entries in /sys/libs. | |
6576 | finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "(cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a)"; (cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a) || exit 1; done' | |
6577 | ;; | |
6578 | ||
6579 | beos*) | |
6580 | library_names_spec='${libname}.so' | |
6581 | dynamic_linker="$host_os ld.so" | |
6582 | shlibpath_var=LIBRARY_PATH | |
6583 | ;; | |
6584 | ||
6585 | bsdi4*) | |
6586 | version_type=linux | |
6587 | need_version=no | |
6588 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6589 | soname_spec='${libname}${release}.so$major' | |
6590 | finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' | |
6591 | shlibpath_var=LD_LIBRARY_PATH | |
6592 | sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" | |
6593 | sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" | |
6594 | # the default ld.so.conf also contains /usr/contrib/lib and | |
6595 | # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow | |
6596 | # libtool to hard-code these into programs | |
6597 | ;; | |
6598 | ||
6599 | cygwin* | mingw* | pw32*) | |
6600 | version_type=windows | |
6601 | need_version=no | |
6602 | need_lib_prefix=no | |
6603 | case $GCC,$host_os in | |
6604 | yes,cygwin*) | |
6605 | library_names_spec='$libname.dll.a' | |
6606 | sys_lib_search_path_spec="/lib /lib/w32api /usr/lib /usr/local/lib" | |
6607 | soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' | |
6608 | postinstall_cmds='dlpath=`bash 2>&1 -c '\''. $dir/${file}i;echo \$dlname'\''`~ | |
6609 | dldir=$destdir/`dirname \$dlpath`~ | |
6610 | test -d \$dldir || mkdir -p \$dldir~ | |
6611 | $install_prog .libs/$dlname \$dldir/$dlname' | |
6612 | postuninstall_cmds='dldll=`bash 2>&1 -c '\''. $file; echo \$dlname'\''`~ | |
6613 | dlpath=$dir/\$dldll~ | |
6614 | $rm \$dlpath' | |
6615 | ;; | |
6616 | yes,mingw*) | |
6617 | library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll' | |
6618 | sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | sed -e "s/^libraries://"` | |
6619 | if echo "$sys_lib_search_path_spec" | [egrep ';[C-Z]:/' >/dev/null]; then | |
6620 | # It is most probably a Windows format PATH printed by | |
6621 | # mingw gcc, but we are running on Cygwin. Gcc prints its search | |
6622 | # path with ; separators, and with drive letters. We can handle the | |
6623 | # drive letters (cygwin fileutils understands them), so leave them, | |
6624 | # especially as we might pass files found there to a mingw objdump, | |
6625 | # which wouldn't understand a cygwinified path. Ahh. | |
6626 | sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e 's/;/ /g'` | |
6627 | else | |
6628 | sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | sed -e "s/$PATH_SEPARATOR/ /g"` | |
6629 | fi | |
6630 | ;; | |
6631 | yes,pw32*) | |
6632 | library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | sed -e 's/[.]/-/g'`${versuffix}.dll' | |
6633 | ;; | |
6634 | *) | |
6635 | library_names_spec='${libname}`echo ${release} | sed -e 's/[[.]]/-/g'`${versuffix}.dll $libname.lib' | |
6636 | ;; | |
6637 | esac | |
6638 | dynamic_linker='Win32 ld.exe' | |
6639 | # FIXME: first we should search . and the directory the executable is in | |
6640 | shlibpath_var=PATH | |
6641 | ;; | |
6642 | ||
6643 | darwin* | rhapsody*) | |
6644 | dynamic_linker="$host_os dyld" | |
6645 | version_type=darwin | |
6646 | need_lib_prefix=no | |
6647 | need_version=no | |
6648 | # FIXME: Relying on posixy $() will cause problems for | |
6649 | # cross-compilation, but unfortunately the echo tests do not | |
6650 | # yet detect zsh echo's removal of \ escapes. | |
6651 | library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)' | |
6652 | soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)' | |
6653 | shlibpath_overrides_runpath=yes | |
6654 | shlibpath_var=DYLD_LIBRARY_PATH | |
6655 | ;; | |
6656 | ||
6657 | dgux*) | |
6658 | version_type=linux | |
6659 | need_lib_prefix=no | |
6660 | need_version=no | |
6661 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6662 | soname_spec='${libname}${release}.so$major' | |
6663 | shlibpath_var=LD_LIBRARY_PATH | |
6664 | ;; | |
6665 | ||
6666 | freebsd1*) | |
6667 | dynamic_linker=no | |
6668 | ;; | |
6669 | ||
6670 | freebsd*) | |
6671 | objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` | |
6672 | version_type=freebsd-$objformat | |
6673 | case $version_type in | |
6674 | freebsd-elf*) | |
6675 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' | |
6676 | need_version=no | |
6677 | need_lib_prefix=no | |
6678 | ;; | |
6679 | freebsd-*) | |
6680 | library_names_spec='${libname}${release}.so$versuffix $libname.so$versuffix' | |
6681 | need_version=yes | |
6682 | ;; | |
6683 | esac | |
6684 | shlibpath_var=LD_LIBRARY_PATH | |
6685 | case $host_os in | |
6686 | freebsd2*) | |
6687 | shlibpath_overrides_runpath=yes | |
6688 | ;; | |
6689 | freebsd3.[01]* | freebsdelf3.[01]*) | |
6690 | shlibpath_overrides_runpath=yes | |
6691 | hardcode_into_libs=yes | |
6692 | ;; | |
6693 | *) # from 3.2 on | |
6694 | shlibpath_overrides_runpath=no | |
6695 | hardcode_into_libs=yes | |
6696 | ;; | |
6697 | esac | |
6698 | ;; | |
6699 | ||
6700 | gnu*) | |
6701 | version_type=linux | |
6702 | need_lib_prefix=no | |
6703 | need_version=no | |
6704 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so' | |
6705 | soname_spec='${libname}${release}.so$major' | |
6706 | shlibpath_var=LD_LIBRARY_PATH | |
6707 | hardcode_into_libs=yes | |
6708 | ;; | |
6709 | ||
6710 | hpux9* | hpux10* | hpux11*) | |
6711 | # Give a soname corresponding to the major version so that dld.sl refuses to | |
6712 | # link against other versions. | |
6713 | version_type=sunos | |
6714 | need_lib_prefix=no | |
6715 | need_version=no | |
6716 | if test "$host_cpu" = ia64; then | |
6717 | hardcode_into_libs=yes | |
6718 | dynamic_linker="$host_os dld.so" | |
6719 | shlibpath_var=LD_LIBRARY_PATH | |
6720 | shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. | |
6721 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6722 | soname_spec='${libname}${release}.so$major' | |
6723 | if test "X$HPUX_IA64_MODE" = X32; then | |
6724 | sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" | |
6725 | else | |
6726 | sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" | |
6727 | fi | |
6728 | sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec | |
6729 | else | |
6730 | dynamic_linker="$host_os dld.sl" | |
6731 | shlibpath_var=SHLIB_PATH | |
6732 | shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH | |
6733 | library_names_spec='${libname}${release}.sl$versuffix ${libname}${release}.sl$major $libname.sl' | |
6734 | soname_spec='${libname}${release}.sl$major' | |
6735 | fi | |
6736 | # HP-UX runs *really* slowly unless shared libraries are mode 555. | |
6737 | postinstall_cmds='chmod 555 $lib' | |
6738 | ;; | |
6739 | ||
6740 | irix5* | irix6* | nonstopux*) | |
6741 | case $host_os in | |
6742 | nonstopux*) version_type=nonstopux ;; | |
6743 | *) version_type=irix ;; | |
6744 | esac | |
6745 | need_lib_prefix=no | |
6746 | need_version=no | |
6747 | soname_spec='${libname}${release}.so$major' | |
6748 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so $libname.so' | |
6749 | case $host_os in | |
6750 | irix5* | nonstopux*) | |
6751 | libsuff= shlibsuff= | |
6752 | ;; | |
6753 | *) | |
6754 | case $LD in # libtool.m4 will add one of these switches to LD | |
6755 | *-32|*"-32 ") libsuff= shlibsuff= libmagic=32-bit;; | |
6756 | *-n32|*"-n32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; | |
6757 | *-64|*"-64 ") libsuff=64 shlibsuff=64 libmagic=64-bit;; | |
6758 | *) libsuff= shlibsuff= libmagic=never-match;; | |
6759 | esac | |
6760 | ;; | |
6761 | esac | |
6762 | shlibpath_var=LD_LIBRARY${shlibsuff}_PATH | |
6763 | shlibpath_overrides_runpath=no | |
6764 | sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" | |
6765 | sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" | |
6766 | ;; | |
6767 | ||
6768 | # No shared lib support for Linux oldld, aout, or coff. | |
6769 | linux*oldld* | linux*aout* | linux*coff*) | |
6770 | dynamic_linker=no | |
6771 | ;; | |
6772 | ||
6773 | # This must be Linux ELF. | |
6774 | linux*) | |
6775 | version_type=linux | |
6776 | need_lib_prefix=no | |
6777 | need_version=no | |
6778 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6779 | soname_spec='${libname}${release}.so$major' | |
6780 | finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' | |
6781 | libsuff= | |
6782 | if test "x$LINUX_64_MODE" = x64; then | |
6783 | # Some platforms are per default 64-bit, so there's no /lib64 | |
6784 | if test -d /lib64; then | |
6785 | libsuff=64 | |
6786 | fi | |
6787 | fi | |
6788 | shlibpath_var=LD_LIBRARY_PATH | |
6789 | shlibpath_overrides_runpath=no | |
6790 | sys_lib_dlsearch_path_spec="/lib${libsuff} /usr/lib${libsuff}" | |
6791 | sys_lib_search_path_spec="/lib${libsuff} /usr/lib${libsuff} /usr/local/lib${libsuff}" | |
6792 | # This implies no fast_install, which is unacceptable. | |
6793 | # Some rework will be needed to allow for fast_install | |
6794 | # before this can be enabled. | |
6795 | hardcode_into_libs=yes | |
6796 | ||
6797 | # We used to test for /lib/ld.so.1 and disable shared libraries on | |
6798 | # powerpc, because MkLinux only supported shared libraries with the | |
6799 | # GNU dynamic linker. Since this was broken with cross compilers, | |
6800 | # most powerpc-linux boxes support dynamic linking these days and | |
6801 | # people can always --disable-shared, the test was removed, and we | |
6802 | # assume the GNU/Linux dynamic linker is in use. | |
6803 | dynamic_linker='GNU/Linux ld.so' | |
6804 | ;; | |
6805 | ||
6806 | netbsd*) | |
6807 | version_type=sunos | |
6808 | need_lib_prefix=no | |
6809 | need_version=no | |
6810 | if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then | |
6811 | library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' | |
6812 | finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | |
6813 | dynamic_linker='NetBSD (a.out) ld.so' | |
6814 | else | |
6815 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so' | |
6816 | soname_spec='${libname}${release}.so$major' | |
6817 | dynamic_linker='NetBSD ld.elf_so' | |
6818 | fi | |
6819 | shlibpath_var=LD_LIBRARY_PATH | |
6820 | shlibpath_overrides_runpath=yes | |
6821 | hardcode_into_libs=yes | |
6822 | ;; | |
6823 | ||
6824 | newsos6) | |
6825 | version_type=linux | |
6826 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6827 | shlibpath_var=LD_LIBRARY_PATH | |
6828 | shlibpath_overrides_runpath=yes | |
6829 | ;; | |
6830 | ||
6831 | nto-qnx) | |
6832 | version_type=linux | |
6833 | need_lib_prefix=no | |
6834 | need_version=no | |
6835 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6836 | soname_spec='${libname}${release}.so$major' | |
6837 | shlibpath_var=LD_LIBRARY_PATH | |
6838 | shlibpath_overrides_runpath=yes | |
6839 | ;; | |
6840 | ||
6841 | openbsd*) | |
6842 | version_type=sunos | |
6843 | need_lib_prefix=no | |
6844 | need_version=no | |
6845 | library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' | |
6846 | finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | |
6847 | shlibpath_var=LD_LIBRARY_PATH | |
6848 | if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | |
6849 | case $host_os in | |
6850 | openbsd2.[[89]] | openbsd2.[[89]].*) | |
6851 | shlibpath_overrides_runpath=no | |
6852 | ;; | |
6853 | *) | |
6854 | shlibpath_overrides_runpath=yes | |
6855 | ;; | |
6856 | esac | |
6857 | else | |
6858 | shlibpath_overrides_runpath=yes | |
6859 | fi | |
6860 | ;; | |
6861 | ||
6862 | os2*) | |
6863 | libname_spec='$name' | |
6864 | need_lib_prefix=no | |
6865 | library_names_spec='$libname.dll $libname.a' | |
6866 | dynamic_linker='OS/2 ld.exe' | |
6867 | shlibpath_var=LIBPATH | |
6868 | ;; | |
6869 | ||
6870 | osf3* | osf4* | osf5*) | |
6871 | version_type=osf | |
6872 | need_lib_prefix=no | |
6873 | need_version=no | |
6874 | soname_spec='${libname}${release}.so' | |
6875 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so $libname.so' | |
6876 | shlibpath_var=LD_LIBRARY_PATH | |
6877 | sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" | |
6878 | sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" | |
6879 | ;; | |
6880 | ||
6881 | sco3.2v5*) | |
6882 | version_type=osf | |
6883 | soname_spec='${libname}${release}.so$major' | |
6884 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6885 | shlibpath_var=LD_LIBRARY_PATH | |
6886 | ;; | |
6887 | ||
6888 | solaris*) | |
6889 | version_type=linux | |
6890 | need_lib_prefix=no | |
6891 | need_version=no | |
6892 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6893 | soname_spec='${libname}${release}.so$major' | |
6894 | shlibpath_var=LD_LIBRARY_PATH | |
6895 | shlibpath_overrides_runpath=yes | |
6896 | hardcode_into_libs=yes | |
6897 | # ldd complains unless libraries are executable | |
6898 | postinstall_cmds='chmod +x $lib' | |
6899 | ;; | |
6900 | ||
6901 | sunos4*) | |
6902 | version_type=sunos | |
6903 | library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix' | |
6904 | finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' | |
6905 | shlibpath_var=LD_LIBRARY_PATH | |
6906 | shlibpath_overrides_runpath=yes | |
6907 | if test "$with_gnu_ld" = yes; then | |
6908 | need_lib_prefix=no | |
6909 | fi | |
6910 | need_version=yes | |
6911 | ;; | |
6912 | ||
6913 | sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | |
6914 | version_type=linux | |
6915 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6916 | soname_spec='${libname}${release}.so$major' | |
6917 | shlibpath_var=LD_LIBRARY_PATH | |
6918 | case $host_vendor in | |
6919 | sni) | |
6920 | shlibpath_overrides_runpath=no | |
6921 | ;; | |
6922 | motorola) | |
6923 | need_lib_prefix=no | |
6924 | need_version=no | |
6925 | shlibpath_overrides_runpath=no | |
6926 | sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' | |
6927 | ;; | |
6928 | esac | |
6929 | ;; | |
6930 | ||
6931 | sysv4*MP*) | |
6932 | if test -d /usr/nec ;then | |
6933 | version_type=linux | |
6934 | library_names_spec='$libname.so.$versuffix $libname.so.$major $libname.so' | |
6935 | soname_spec='$libname.so.$major' | |
6936 | shlibpath_var=LD_LIBRARY_PATH | |
6937 | fi | |
6938 | ;; | |
6939 | ||
6940 | uts4*) | |
6941 | version_type=linux | |
6942 | library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' | |
6943 | soname_spec='${libname}${release}.so$major' | |
6944 | shlibpath_var=LD_LIBRARY_PATH | |
6945 | ;; | |
6946 | ||
6947 | *) | |
6948 | dynamic_linker=no | |
6949 | ;; | |
6950 | esac | |
6951 | AC_MSG_RESULT([$dynamic_linker]) | |
6952 | test "$dynamic_linker" = no && can_build_shared=no | |
6953 | ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER | |
6954 | ||
6955 | ||
6956 | # _LT_AC_TAGCONFIG | |
6957 | # ---------------- | |
6958 | AC_DEFUN([_LT_AC_TAGCONFIG], | |
6959 | [AC_ARG_WITH([tags], | |
6960 | [AC_HELP_STRING([--with-tags=TAGS], | |
6961 | [include additional configurations @<:@CXX,GCJ@:>@])], | |
6962 | [tagnames="$withval"], | |
6963 | [tagnames="CXX,GCJ" | |
6964 | case $host_os in | |
6965 | mingw*|cygwin*) tagnames="$tagnames,RC" ;; | |
6966 | esac]) | |
6967 | ||
6968 | if test -f "$ltmain" && test -n "$tagnames"; then | |
6969 | if test ! -f "${ofile}"; then | |
6970 | AC_MSG_WARN([output file `$ofile' does not exist]) | |
6971 | fi | |
6972 | ||
6973 | if test -z "$LTCC"; then | |
6974 | eval "`$SHELL ${ofile} --config | grep '^LTCC='`" | |
6975 | if test -z "$LTCC"; then | |
6976 | AC_MSG_WARN([output file `$ofile' does not look like a libtool script]) | |
6977 | else | |
6978 | AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) | |
6979 | fi | |
6980 | fi | |
6981 | ||
6982 | # Extract list of available tagged configurations in $ofile. | |
6983 | # Note that this assumes the entire list is on one line. | |
6984 | available_tags=`grep "^available_tags=" "${ofile}" | sed -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'` | |
6985 | ||
6986 | lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | |
6987 | for tagname in $tagnames; do | |
6988 | IFS="$lt_save_ifs" | |
6989 | # Check whether tagname contains only valid characters | |
6990 | case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in | |
6991 | "") ;; | |
6992 | *) AC_MSG_ERROR([invalid tag name: $tagname]) | |
6993 | ;; | |
6994 | esac | |
6995 | ||
6996 | if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null | |
6997 | then | |
6998 | AC_MSG_ERROR([tag name \"$tagname\" already exists]) | |
6999 | fi | |
7000 | ||
7001 | # Update the list of available tags. | |
7002 | if test -n "$tagname"; then | |
7003 | echo appending configuration tag \"$tagname\" to $ofile | |
7004 | ||
7005 | case $tagname in | |
7006 | CXX) | |
7007 | AC_LIBTOOL_LANG_CXX_CONFIG | |
7008 | ;; | |
7009 | ||
7010 | GCJ) | |
7011 | AC_LIBTOOL_LANG_GCJ_CONFIG | |
7012 | ;; | |
7013 | ||
7014 | RC) | |
7015 | AC_LIBTOOL_LANG_RC_CONFIG | |
7016 | ;; | |
7017 | ||
7018 | *) | |
7019 | AC_MSG_ERROR([Unsupported tag name: $tagname]) | |
7020 | ;; | |
7021 | esac | |
7022 | ||
7023 | # Append the new tag name to the list of available tags. | |
7024 | available_tags="$available_tags $tagname" | |
7025 | fi | |
7026 | done | |
7027 | IFS="$lt_save_ifs" | |
7028 | ||
7029 | # Now substitute the updated list of available tags. | |
7030 | if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then | |
7031 | mv "${ofile}T" "$ofile" | |
7032 | chmod +x "$ofile" | |
7033 | else | |
7034 | rm -f "${ofile}T" | |
7035 | AC_MSG_ERROR([unable to update list of available tagged configurations.]) | |
7036 | fi | |
7037 | fi | |
7038 | ])# _LT_AC_TAGCONFIG | |
7039 | ||
7040 | ||
7041 | # AC_LIBTOOL_DLOPEN | |
7042 | # ----------------- | |
7043 | # enable checks for dlopen support | |
7044 | AC_DEFUN([AC_LIBTOOL_DLOPEN], | |
7045 | [AC_BEFORE([$0],[AC_LIBTOOL_SETUP]) | |
7046 | ])# AC_LIBTOOL_DLOPEN | |
7047 | ||
7048 | ||
7049 | # AC_LIBTOOL_WIN32_DLL | |
7050 | # -------------------- | |
7051 | # declare package support for building win32 dll's | |
7052 | AC_DEFUN([AC_LIBTOOL_WIN32_DLL], | |
7053 | [AC_BEFORE([$0], [AC_LIBTOOL_SETUP]) | |
7054 | ])# AC_LIBTOOL_WIN32_DLL | |
7055 | ||
7056 | ||
7057 | # AC_ENABLE_SHARED([DEFAULT]) | |
7058 | # --------------------------- | |
7059 | # implement the --enable-shared flag | |
7060 | # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. | |
7061 | AC_DEFUN([AC_ENABLE_SHARED], | |
7062 | [define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl | |
7063 | AC_ARG_ENABLE([shared], | |
7064 | [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@], | |
7065 | [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])], | |
7066 | [p=${PACKAGE-default} | |
7067 | case $enableval in | |
7068 | yes) enable_shared=yes ;; | |
7069 | no) enable_shared=no ;; | |
7070 | *) | |
7071 | enable_shared=no | |
7072 | # Look at the argument we got. We use all the common list separators. | |
7073 | lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | |
7074 | for pkg in $enableval; do | |
7075 | IFS="$lt_save_ifs" | |
7076 | if test "X$pkg" = "X$p"; then | |
7077 | enable_shared=yes | |
7078 | fi | |
7079 | done | |
7080 | IFS="$lt_save_ifs" | |
7081 | ;; | |
7082 | esac], | |
7083 | [enable_shared=]AC_ENABLE_SHARED_DEFAULT) | |
7084 | ])# AC_ENABLE_SHARED | |
7085 | ||
7086 | ||
7087 | # AC_DISABLE_SHARED | |
7088 | # ----------------- | |
7089 | #- set the default shared flag to --disable-shared | |
7090 | AC_DEFUN([AC_DISABLE_SHARED], | |
7091 | [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | |
7092 | AC_ENABLE_SHARED(no) | |
7093 | ])# AC_DISABLE_SHARED | |
7094 | ||
7095 | ||
7096 | # AC_ENABLE_STATIC([DEFAULT]) | |
7097 | # --------------------------- | |
7098 | # implement the --enable-static flag | |
7099 | # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. | |
7100 | AC_DEFUN([AC_ENABLE_STATIC], | |
7101 | [define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl | |
7102 | AC_ARG_ENABLE([static], | |
7103 | [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@], | |
7104 | [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])], | |
7105 | [p=${PACKAGE-default} | |
7106 | case $enableval in | |
7107 | yes) enable_static=yes ;; | |
7108 | no) enable_static=no ;; | |
7109 | *) | |
7110 | enable_static=no | |
7111 | # Look at the argument we got. We use all the common list separators. | |
7112 | lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | |
7113 | for pkg in $enableval; do | |
7114 | IFS="$lt_save_ifs" | |
7115 | if test "X$pkg" = "X$p"; then | |
7116 | enable_static=yes | |
7117 | fi | |
7118 | done | |
7119 | IFS="$lt_save_ifs" | |
7120 | ;; | |
7121 | esac], | |
7122 | [enable_static=]AC_ENABLE_STATIC_DEFAULT) | |
7123 | ])# AC_ENABLE_STATIC | |
7124 | ||
7125 | ||
7126 | # AC_DISABLE_STATIC | |
7127 | # ----------------- | |
7128 | # set the default static flag to --disable-static | |
7129 | AC_DEFUN([AC_DISABLE_STATIC], | |
7130 | [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | |
7131 | AC_ENABLE_STATIC(no) | |
7132 | ])# AC_DISABLE_STATIC | |
7133 | ||
7134 | ||
7135 | # AC_ENABLE_FAST_INSTALL([DEFAULT]) | |
7136 | # --------------------------------- | |
7137 | # implement the --enable-fast-install flag | |
7138 | # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. | |
7139 | AC_DEFUN([AC_ENABLE_FAST_INSTALL], | |
7140 | [define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl | |
7141 | AC_ARG_ENABLE([fast-install], | |
7142 | [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], | |
7143 | [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], | |
7144 | [p=${PACKAGE-default} | |
7145 | case $enableval in | |
7146 | yes) enable_fast_install=yes ;; | |
7147 | no) enable_fast_install=no ;; | |
7148 | *) | |
7149 | enable_fast_install=no | |
7150 | # Look at the argument we got. We use all the common list separators. | |
7151 | lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | |
7152 | for pkg in $enableval; do | |
7153 | IFS="$lt_save_ifs" | |
7154 | if test "X$pkg" = "X$p"; then | |
7155 | enable_fast_install=yes | |
7156 | fi | |
7157 | done | |
7158 | IFS="$lt_save_ifs" | |
7159 | ;; | |
7160 | esac], | |
7161 | [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT) | |
7162 | ])# AC_ENABLE_FAST_INSTALL | |
7163 | ||
7164 | ||
7165 | # AC_DISABLE_FAST_INSTALL | |
7166 | # ----------------------- | |
7167 | # set the default to --disable-fast-install | |
7168 | AC_DEFUN([AC_DISABLE_FAST_INSTALL], | |
7169 | [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | |
7170 | AC_ENABLE_FAST_INSTALL(no) | |
7171 | ])# AC_DISABLE_FAST_INSTALL | |
7172 | ||
7173 | ||
7174 | # AC_LIBTOOL_PICMODE([MODE]) | |
7175 | # -------------------------- | |
7176 | # implement the --with-pic flag | |
7177 | # MODE is either `yes' or `no'. If omitted, it defaults to `both'. | |
7178 | AC_DEFUN([AC_LIBTOOL_PICMODE], | |
7179 | [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | |
7180 | pic_mode=ifelse($#,1,$1,default) | |
7181 | ])# AC_LIBTOOL_PICMODE | |
7182 | ||
7183 | ||
7184 | # AC_PATH_TOOL_PREFIX | |
7185 | # ------------------- | |
7186 | # find a file program which can recognise shared library | |
7187 | AC_DEFUN([AC_PATH_TOOL_PREFIX], | |
7188 | [AC_MSG_CHECKING([for $1]) | |
7189 | AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, | |
7190 | [case $MAGIC_CMD in | |
7191 | [[\\/*] | ?:[\\/]*]) | |
7192 | lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. | |
7193 | ;; | |
7194 | *) | |
7195 | lt_save_MAGIC_CMD="$MAGIC_CMD" | |
7196 | lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | |
7197 | dnl $ac_dummy forces splitting on constant user-supplied paths. | |
7198 | dnl POSIX.2 word splitting is done only on the output of word expansions, | |
7199 | dnl not every word. This closes a longstanding sh security hole. | |
7200 | ac_dummy="ifelse([$2], , $PATH, [$2])" | |
7201 | for ac_dir in $ac_dummy; do | |
7202 | IFS="$lt_save_ifs" | |
7203 | test -z "$ac_dir" && ac_dir=. | |
7204 | if test -f $ac_dir/$1; then | |
7205 | lt_cv_path_MAGIC_CMD="$ac_dir/$1" | |
7206 | if test -n "$file_magic_test_file"; then | |
7207 | case $deplibs_check_method in | |
7208 | "file_magic "*) | |
7209 | file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`" | |
7210 | MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | |
7211 | if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | | |
7212 | egrep "$file_magic_regex" > /dev/null; then | |
7213 | : | |
7214 | else | |
7215 | cat <<EOF 1>&2 | |
7216 | ||
7217 | *** Warning: the command libtool uses to detect shared libraries, | |
7218 | *** $file_magic_cmd, produces output that libtool cannot recognize. | |
7219 | *** The result is that libtool may fail to recognize shared libraries | |
7220 | *** as such. This will affect the creation of libtool libraries that | |
7221 | *** depend on shared libraries, but programs linked with such libtool | |
7222 | *** libraries will work regardless of this problem. Nevertheless, you | |
7223 | *** may want to report the problem to your system manager and/or to | |
7224 | *** bug-libtool@gnu.org | |
7225 | ||
7226 | EOF | |
7227 | fi ;; | |
7228 | esac | |
7229 | fi | |
7230 | break | |
7231 | fi | |
7232 | done | |
7233 | IFS="$lt_save_ifs" | |
7234 | MAGIC_CMD="$lt_save_MAGIC_CMD" | |
7235 | ;; | |
7236 | esac]) | |
7237 | MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | |
7238 | if test -n "$MAGIC_CMD"; then | |
7239 | AC_MSG_RESULT($MAGIC_CMD) | |
7240 | else | |
7241 | AC_MSG_RESULT(no) | |
7242 | fi | |
7243 | ])# AC_PATH_TOOL_PREFIX | |
7244 | ||
7245 | ||
7246 | # AC_PATH_MAGIC | |
7247 | # ------------- | |
7248 | # find a file program which can recognise a shared library | |
7249 | AC_DEFUN([AC_PATH_MAGIC], | |
7250 | [AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) | |
7251 | if test -z "$lt_cv_path_MAGIC_CMD"; then | |
7252 | if test -n "$ac_tool_prefix"; then | |
7253 | AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) | |
7254 | else | |
7255 | MAGIC_CMD=: | |
7256 | fi | |
7257 | fi | |
7258 | ])# AC_PATH_MAGIC | |
7259 | ||
7260 | ||
7261 | # AC_PROG_LD | |
7262 | # ---------- | |
7263 | # find the path to the GNU or non-GNU linker | |
7264 | AC_DEFUN([AC_PROG_LD], | |
7265 | [AC_ARG_WITH([gnu-ld], | |
7266 | [AC_HELP_STRING([--with-gnu-ld], | |
7267 | [assume the C compiler uses GNU ld @<:@default=no@:>@])], | |
7268 | [test "$withval" = no || with_gnu_ld=yes], | |
7269 | [with_gnu_ld=no]) | |
7270 | AC_REQUIRE([AC_PROG_CC])dnl | |
7271 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | |
7272 | AC_REQUIRE([AC_CANONICAL_BUILD])dnl | |
7273 | ac_prog=ld | |
7274 | if test "$GCC" = yes; then | |
7275 | # Check if gcc -print-prog-name=ld gives a path. | |
7276 | AC_MSG_CHECKING([for ld used by GCC]) | |
7277 | case $host in | |
7278 | *-*-mingw*) | |
7279 | # gcc leaves a trailing carriage return which upsets mingw | |
7280 | ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | |
7281 | *) | |
7282 | ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; | |
7283 | esac | |
7284 | case $ac_prog in | |
7285 | # Accept absolute paths. | |
7286 | [[\\/]]* | ?:[[\\/]]*) | |
7287 | re_direlt='/[[^/]][[^/]]*/\.\./' | |
7288 | # Canonicalize the path of ld | |
7289 | ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` | |
7290 | while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do | |
7291 | ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` | |
7292 | done | |
7293 | test -z "$LD" && LD="$ac_prog" | |
7294 | ;; | |
7295 | "") | |
7296 | # If it fails, then pretend we aren't using GCC. | |
7297 | ac_prog=ld | |
7298 | ;; | |
7299 | *) | |
7300 | # If it is relative, then search for the first ld in PATH. | |
7301 | with_gnu_ld=unknown | |
7302 | ;; | |
7303 | esac | |
7304 | elif test "$with_gnu_ld" = yes; then | |
7305 | AC_MSG_CHECKING([for GNU ld]) | |
7306 | else | |
7307 | AC_MSG_CHECKING([for non-GNU ld]) | |
7308 | fi | |
7309 | AC_CACHE_VAL(lt_cv_path_LD, | |
7310 | [if test -z "$LD"; then | |
7311 | lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | |
7312 | for ac_dir in $PATH; do | |
7313 | IFS="$lt_save_ifs" | |
7314 | test -z "$ac_dir" && ac_dir=. | |
7315 | if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | |
7316 | lt_cv_path_LD="$ac_dir/$ac_prog" | |
7317 | # Check to see if the program is GNU ld. I'd rather use --version, | |
7318 | # but apparently some GNU ld's only accept -v. | |
7319 | # Break only if it was the GNU/non-GNU ld that we prefer. | |
7320 | if "$lt_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then | |
7321 | test "$with_gnu_ld" != no && break | |
7322 | else | |
7323 | test "$with_gnu_ld" != yes && break | |
7324 | fi | |
7325 | fi | |
7326 | done | |
7327 | IFS="$lt_save_ifs" | |
7328 | else | |
7329 | lt_cv_path_LD="$LD" # Let the user override the test with a path. | |
7330 | fi]) | |
7331 | LD="$lt_cv_path_LD" | |
7332 | if test -n "$LD"; then | |
7333 | AC_MSG_RESULT($LD) | |
7334 | else | |
7335 | AC_MSG_RESULT(no) | |
7336 | fi | |
7337 | test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | |
7338 | AC_PROG_LD_GNU | |
7339 | ])# AC_PROG_LD | |
7340 | ||
7341 | ||
7342 | # AC_PROG_LD_GNU | |
7343 | # -------------- | |
7344 | AC_DEFUN([AC_PROG_LD_GNU], | |
7345 | [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, | |
7346 | [# I'd rather use --version here, but apparently some GNU ld's only accept -v. | |
7347 | if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then | |
7348 | lt_cv_prog_gnu_ld=yes | |
7349 | else | |
7350 | lt_cv_prog_gnu_ld=no | |
7351 | fi]) | |
7352 | with_gnu_ld=$lt_cv_prog_gnu_ld | |
7353 | ])# AC_PROG_LD_GNU | |
7354 | ||
7355 | ||
7356 | # AC_PROG_LD_RELOAD_FLAG | |
7357 | # ---------------------- | |
7358 | # find reload flag for linker | |
7359 | # -- PORTME Some linkers may need a different reload flag. | |
7360 | AC_DEFUN([AC_PROG_LD_RELOAD_FLAG], | |
7361 | [AC_CACHE_CHECK([for $LD option to reload object files], | |
7362 | lt_cv_ld_reload_flag, | |
7363 | [lt_cv_ld_reload_flag='-r']) | |
7364 | reload_flag=$lt_cv_ld_reload_flag | |
7365 | case $reload_flag in | |
7366 | "" | " "*) ;; | |
7367 | *) reload_flag=" $reload_flag" ;; | |
7368 | esac | |
7369 | reload_cmds='$LD$reload_flag -o $output$reload_objs' | |
7370 | ])# AC_PROG_LD_RELOAD_FLAG | |
7371 | ||
7372 | ||
7373 | # AC_DEPLIBS_CHECK_METHOD | |
7374 | # ----------------------- | |
7375 | # how to check for library dependencies | |
7376 | # -- PORTME fill in with the dynamic library characteristics | |
7377 | AC_DEFUN([AC_DEPLIBS_CHECK_METHOD], | |
7378 | [AC_CACHE_CHECK([how to recognise dependant libraries], | |
7379 | lt_cv_deplibs_check_method, | |
7380 | [lt_cv_file_magic_cmd='$MAGIC_CMD' | |
7381 | lt_cv_file_magic_test_file= | |
7382 | lt_cv_deplibs_check_method='unknown' | |
7383 | # Need to set the preceding variable on all platforms that support | |
7384 | # interlibrary dependencies. | |
7385 | # 'none' -- dependencies not supported. | |
7386 | # `unknown' -- same as none, but documents that we really don't know. | |
7387 | # 'pass_all' -- all dependencies passed with no checks. | |
7388 | # 'test_compile' -- check by making test program. | |
7389 | # 'file_magic [[regex]]' -- check by looking for files in library path | |
7390 | # which responds to the $file_magic_cmd with a given egrep regex. | |
7391 | # If you have `file' or equivalent on your system and you're not sure | |
7392 | # whether `pass_all' will *always* work, you probably want this one. | |
7393 | ||
7394 | case $host_os in | |
7395 | aix4* | aix5*) | |
7396 | lt_cv_deplibs_check_method=pass_all | |
7397 | ;; | |
7398 | ||
7399 | beos*) | |
7400 | lt_cv_deplibs_check_method=pass_all | |
7401 | ;; | |
7402 | ||
7403 | bsdi4*) | |
7404 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' | |
7405 | lt_cv_file_magic_cmd='/usr/bin/file -L' | |
7406 | lt_cv_file_magic_test_file=/shlib/libc.so | |
7407 | ;; | |
7408 | ||
7409 | cygwin* | mingw* | pw32*) | |
7410 | lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' | |
7411 | lt_cv_file_magic_cmd='$OBJDUMP -f' | |
7412 | ;; | |
7413 | ||
7414 | darwin* | rhapsody*) | |
7415 | lt_cv_deplibs_check_method='file_magic Mach-O dynamically linked shared library' | |
7416 | lt_cv_file_magic_cmd='/usr/bin/file -L' | |
7417 | case "$host_os" in | |
7418 | rhapsody* | darwin1.[[012]]) | |
7419 | lt_cv_file_magic_test_file=`/System/Library/Frameworks/System.framework/System` | |
7420 | ;; | |
7421 | *) # Darwin 1.3 on | |
7422 | lt_cv_file_magic_test_file='/usr/lib/libSystem.dylib' | |
7423 | ;; | |
7424 | esac | |
7425 | ;; | |
7426 | ||
7427 | freebsd*) | |
7428 | if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then | |
7429 | case $host_cpu in | |
7430 | i*86 ) | |
7431 | # Not sure whether the presence of OpenBSD here was a mistake. | |
7432 | # Let's accept both of them until this is cleared up. | |
7433 | lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[[3-9]]86 (compact )?demand paged shared library' | |
7434 | lt_cv_file_magic_cmd=/usr/bin/file | |
7435 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` | |
7436 | ;; | |
7437 | esac | |
7438 | else | |
7439 | lt_cv_deplibs_check_method=pass_all | |
7440 | fi | |
7441 | ;; | |
7442 | ||
7443 | gnu*) | |
7444 | lt_cv_deplibs_check_method=pass_all | |
7445 | ;; | |
7446 | ||
7447 | hpux10.20* | hpux11*) | |
7448 | lt_cv_file_magic_cmd=/usr/bin/file | |
7449 | if test "$host_cpu" = ia64; then | |
7450 | lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' | |
7451 | lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so | |
7452 | else | |
7453 | lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' | |
7454 | lt_cv_file_magic_test_file=/usr/lib/libc.sl | |
7455 | fi | |
7456 | ;; | |
7457 | ||
7458 | irix5* | irix6* | nonstopux*) | |
7459 | case $host_os in | |
7460 | irix5* | nonstopux*) | |
7461 | # this will be overridden with pass_all, but let us keep it just in case | |
7462 | lt_cv_deplibs_check_method="file_magic ELF 32-bit MSB dynamic lib MIPS - version 1" | |
7463 | ;; | |
7464 | *) | |
7465 | case $LD in | |
7466 | *-32|*"-32 ") libmagic=32-bit;; | |
7467 | *-n32|*"-n32 ") libmagic=N32;; | |
7468 | *-64|*"-64 ") libmagic=64-bit;; | |
7469 | *) libmagic=never-match;; | |
7470 | esac | |
7471 | # this will be overridden with pass_all, but let us keep it just in case | |
7472 | lt_cv_deplibs_check_method="file_magic ELF ${libmagic} MSB mips-[[1234]] dynamic lib MIPS - version 1" | |
7473 | ;; | |
7474 | esac | |
7475 | lt_cv_file_magic_test_file=`echo /lib${libsuff}/libc.so*` | |
7476 | lt_cv_deplibs_check_method=pass_all | |
7477 | ;; | |
7478 | ||
7479 | # This must be Linux ELF. | |
7480 | linux*) | |
7481 | case $host_cpu in | |
7482 | alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh* | x86_64* ) | |
7483 | lt_cv_deplibs_check_method=pass_all ;; | |
7484 | *) | |
7485 | # glibc up to 2.1.1 does not perform some relocations on ARM | |
7486 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; | |
7487 | esac | |
7488 | lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` | |
7489 | ;; | |
7490 | ||
7491 | netbsd*) | |
7492 | if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then | |
7493 | lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so\.[[0-9]]+\.[[0-9]]+$' | |
7494 | else | |
7495 | lt_cv_deplibs_check_method='match_pattern /lib[[^/\.]]+\.so$' | |
7496 | fi | |
7497 | ;; | |
7498 | ||
7499 | newos6*) | |
7500 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' | |
7501 | lt_cv_file_magic_cmd=/usr/bin/file | |
7502 | lt_cv_file_magic_test_file=/usr/lib/libnls.so | |
7503 | ;; | |
7504 | ||
7505 | nto-qnx) | |
7506 | lt_cv_deplibs_check_method=unknown | |
7507 | ;; | |
7508 | ||
7509 | openbsd*) | |
7510 | lt_cv_file_magic_cmd=/usr/bin/file | |
7511 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` | |
7512 | if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | |
7513 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' | |
7514 | else | |
7515 | lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' | |
7516 | fi | |
7517 | ;; | |
7518 | ||
7519 | osf3* | osf4* | osf5*) | |
7520 | # this will be overridden with pass_all, but let us keep it just in case | |
7521 | lt_cv_deplibs_check_method='file_magic COFF format alpha shared library' | |
7522 | lt_cv_file_magic_test_file=/shlib/libc.so | |
7523 | lt_cv_deplibs_check_method=pass_all | |
7524 | ;; | |
7525 | ||
7526 | sco3.2v5*) | |
7527 | lt_cv_deplibs_check_method=pass_all | |
7528 | ;; | |
7529 | ||
7530 | solaris*) | |
7531 | lt_cv_deplibs_check_method=pass_all | |
7532 | lt_cv_file_magic_test_file=/lib/libc.so | |
7533 | ;; | |
7534 | ||
7535 | sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | |
7536 | case $host_vendor in | |
7537 | motorola) | |
7538 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' | |
7539 | lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` | |
7540 | ;; | |
7541 | ncr) | |
7542 | lt_cv_deplibs_check_method=pass_all | |
7543 | ;; | |
7544 | sequent) | |
7545 | lt_cv_file_magic_cmd='/bin/file' | |
7546 | lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' | |
7547 | ;; | |
7548 | sni) | |
7549 | lt_cv_file_magic_cmd='/bin/file' | |
7550 | lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" | |
7551 | lt_cv_file_magic_test_file=/lib/libc.so | |
7552 | ;; | |
7553 | esac | |
7554 | ;; | |
7555 | ||
7556 | sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) | |
7557 | lt_cv_deplibs_check_method=pass_all | |
7558 | ;; | |
7559 | esac | |
7560 | ]) | |
7561 | file_magic_cmd=$lt_cv_file_magic_cmd | |
7562 | deplibs_check_method=$lt_cv_deplibs_check_method | |
7563 | test -z "$deplibs_check_method" && deplibs_check_method=unknown | |
7564 | ])# AC_DEPLIBS_CHECK_METHOD | |
7565 | ||
7566 | ||
7567 | # AC_PROG_NM | |
7568 | # ---------- | |
7569 | # find the path to a BSD-compatible name lister | |
7570 | AC_DEFUN([AC_PROG_NM], | |
7571 | [AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM, | |
7572 | [if test -n "$NM"; then | |
7573 | # Let the user override the test. | |
7574 | lt_cv_path_NM="$NM" | |
7575 | else | |
7576 | lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | |
7577 | for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do | |
7578 | IFS="$lt_save_ifs" | |
7579 | test -z "$ac_dir" && ac_dir=. | |
7580 | tmp_nm="$ac_dir/${ac_tool_prefix}nm" | |
7581 | if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then | |
7582 | # Check to see if the nm accepts a BSD-compat flag. | |
7583 | # Adding the `sed 1q' prevents false positives on HP-UX, which says: | |
7584 | # nm: unknown option "B" ignored | |
7585 | # Tru64's nm complains that /dev/null is an invalid object file | |
7586 | if ("$tmp_nm" -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep '(/dev/null|Invalid file or object type)' >/dev/null; then | |
7587 | lt_cv_path_NM="$tmp_nm -B" | |
7588 | break | |
7589 | elif ("$tmp_nm" -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then | |
7590 | lt_cv_path_NM="$tmp_nm -p" | |
7591 | break | |
7592 | else | |
7593 | lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but | |
7594 | continue # so that we can try to find one that supports BSD flags | |
7595 | fi | |
7596 | fi | |
7597 | done | |
7598 | IFS="$lt_save_ifs" | |
7599 | test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm | |
7600 | fi]) | |
7601 | NM="$lt_cv_path_NM" | |
7602 | ])# AC_PROG_NM | |
7603 | ||
7604 | ||
7605 | # AC_CHECK_LIBM | |
7606 | # ------------- | |
7607 | # check for math library | |
7608 | AC_DEFUN([AC_CHECK_LIBM], | |
7609 | [AC_REQUIRE([AC_CANONICAL_HOST])dnl | |
7610 | LIBM= | |
7611 | case $host in | |
7612 | *-*-beos* | *-*-cygwin* | *-*-pw32*) | |
7613 | # These system don't have libm | |
7614 | ;; | |
7615 | *-ncr-sysv4.3*) | |
7616 | AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") | |
7617 | AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") | |
7618 | ;; | |
7619 | *) | |
7620 | AC_CHECK_LIB(m, main, LIBM="-lm") | |
7621 | ;; | |
7622 | esac | |
7623 | ])# AC_CHECK_LIBM | |
7624 | ||
7625 | ||
7626 | # AC_LIBLTDL_CONVENIENCE([DIRECTORY]) | |
7627 | # ----------------------------------- | |
7628 | # sets LIBLTDL to the link flags for the libltdl convenience library and | |
7629 | # LTDLINCL to the include flags for the libltdl header and adds | |
7630 | # --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL | |
7631 | # and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If | |
7632 | # DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will | |
7633 | # be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with | |
7634 | # '${top_srcdir}/' (note the single quotes!). If your package is not | |
7635 | # flat and you're not using automake, define top_builddir and | |
7636 | # top_srcdir appropriately in the Makefiles. | |
7637 | AC_DEFUN([AC_LIBLTDL_CONVENIENCE], | |
7638 | [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | |
7639 | case $enable_ltdl_convenience in | |
7640 | no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; | |
7641 | "") enable_ltdl_convenience=yes | |
7642 | ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; | |
7643 | esac | |
7644 | LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la | |
7645 | LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) | |
7646 | # For backwards non-gettext consistent compatibility... | |
7647 | INCLTDL="$LTDLINCL" | |
7648 | ])# AC_LIBLTDL_CONVENIENCE | |
7649 | ||
7650 | ||
7651 | # AC_LIBLTDL_INSTALLABLE([DIRECTORY]) | |
7652 | # ----------------------------------- | |
7653 | # sets LIBLTDL to the link flags for the libltdl installable library and | |
7654 | # LTDLINCL to the include flags for the libltdl header and adds | |
7655 | # --enable-ltdl-install to the configure arguments. Note that LIBLTDL | |
7656 | # and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If | |
7657 | # DIRECTORY is not provided and an installed libltdl is not found, it is | |
7658 | # assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/' | |
7659 | # and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single | |
7660 | # quotes!). If your package is not flat and you're not using automake, | |
7661 | # define top_builddir and top_srcdir appropriately in the Makefiles. | |
7662 | # In the future, this macro may have to be called after AC_PROG_LIBTOOL. | |
7663 | AC_DEFUN([AC_LIBLTDL_INSTALLABLE], | |
7664 | [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl | |
7665 | AC_CHECK_LIB(ltdl, main, | |
7666 | [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], | |
7667 | [if test x"$enable_ltdl_install" = xno; then | |
7668 | AC_MSG_WARN([libltdl not installed, but installation disabled]) | |
7669 | else | |
7670 | enable_ltdl_install=yes | |
7671 | fi | |
7672 | ]) | |
7673 | if test x"$enable_ltdl_install" = x"yes"; then | |
7674 | ac_configure_args="$ac_configure_args --enable-ltdl-install" | |
7675 | LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la | |
7676 | LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl']) | |
7677 | else | |
7678 | ac_configure_args="$ac_configure_args --enable-ltdl-install=no" | |
7679 | LIBLTDL="-lltdl" | |
7680 | LTDLINCL= | |
7681 | fi | |
7682 | # For backwards non-gettext consistent compatibility... | |
7683 | INCLTDL="$LTDLINCL" | |
7684 | ])# AC_LIBLTDL_INSTALLABLE | |
7685 | ||
7686 | ||
7687 | # If this macro is not defined by Autoconf, define it here. | |
7688 | ifdef([AC_PROVIDE_IFELSE], | |
7689 | [], | |
7690 | [define([AC_PROVIDE_IFELSE], | |
7691 | [ifdef([AC_PROVIDE_$1], | |
7692 | [$2], [$3])])]) | |
7693 | ||
7694 | ||
7695 | # AC_LIBTOOL_CXX | |
7696 | # -------------- | |
7697 | # enable support for C++ libraries | |
7698 | AC_DEFUN([AC_LIBTOOL_CXX], | |
7699 | [AC_REQUIRE([_LT_AC_LANG_CXX]) | |
7700 | ])# AC_LIBTOOL_CXX | |
7701 | ||
7702 | ||
7703 | # _LT_AC_LANG_CXX | |
7704 | # --------------- | |
7705 | AC_DEFUN([_LT_AC_LANG_CXX], | |
7706 | [AC_REQUIRE([AC_PROG_CXX]) | |
7707 | AC_REQUIRE([AC_PROG_CXXCPP]) | |
7708 | ])# _LT_AC_LANG_CXX | |
7709 | ||
7710 | ||
7711 | # AC_LIBTOOL_GCJ | |
7712 | # -------------- | |
7713 | # enable support for GCJ libraries | |
7714 | AC_DEFUN([AC_LIBTOOL_GCJ], | |
7715 | [AC_REQUIRE([_LT_AC_LANG_GCJ]) | |
7716 | ])# AC_LIBTOOL_GCJ | |
7717 | ||
7718 | ||
7719 | # _LT_AC_LANG_GCJ | |
7720 | # --------------- | |
7721 | AC_DEFUN([_LT_AC_LANG_GCJ], | |
7722 | [AC_PROVIDE_IFELSE([AC_PROG_GCJ],[], | |
7723 | [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[], | |
7724 | [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[], | |
7725 | [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])], | |
7726 | [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])], | |
7727 | [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])]) | |
7728 | ])# _LT_AC_LANG_GCJ | |
7729 | ||
7730 | ||
7731 | # AC_LIBTOOL_RC | |
7732 | # -------------- | |
7733 | # enable support for Windows resource files | |
7734 | AC_DEFUN([AC_LIBTOOL_RC], | |
7735 | [AC_REQUIRE([AC_PROG_RC]) | |
7736 | ])# AC_LIBTOOL_RC | |
7737 | ||
7738 | ||
7739 | # AC_LIBTOOL_LANG_C_CONFIG | |
7740 | # ------------------------ | |
7741 | # Ensure that the configuration vars for the C compiler are | |
7742 | # suitably defined. Those variables are subsequently used by | |
7743 | # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. | |
7744 | AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG]) | |
7745 | AC_DEFUN([_LT_AC_LANG_C_CONFIG], | |
7746 | [lt_save_CC="$CC" | |
7747 | AC_LANG_PUSH(C) | |
7748 | ||
7749 | # Source file extension for C test sources. | |
7750 | ac_ext=c | |
7751 | ||
7752 | # Object file extension for compiled C test sources. | |
7753 | objext=o | |
7754 | _LT_AC_TAGVAR(objext, $1)=$objext | |
7755 | ||
7756 | # Code to be used in simple compile tests | |
7757 | lt_simple_compile_test_code="int some_variable = 0;" | |
7758 | ||
7759 | # Code to be used in simple link tests | |
7760 | lt_simple_link_test_code='main(){return(0);}' | |
7761 | ||
7762 | _LT_AC_SYS_COMPILER | |
7763 | ||
7764 | # | |
7765 | # Check for any special shared library compilation flags. | |
7766 | # | |
7767 | _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= | |
7768 | if test "$GCC" = no; then | |
7769 | case $host_os in | |
7770 | sco3.2v5*) | |
7771 | _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' | |
7772 | ;; | |
7773 | esac | |
7774 | fi | |
7775 | if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then | |
7776 | AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) | |
7777 | if echo "$old_CC $old_CFLAGS " | egrep -e "[[ ]]$]_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[[ ]]" >/dev/null; then : | |
7778 | else | |
7779 | AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) | |
7780 | _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no | |
7781 | fi | |
7782 | fi | |
7783 | ||
7784 | ||
7785 | # | |
7786 | # Check to make sure the static flag actually works. | |
7787 | # | |
7788 | AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], | |
7789 | _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), | |
7790 | $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), | |
7791 | [], | |
7792 | [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) | |
7793 | ||
7794 | ||
7795 | ## CAVEAT EMPTOR: | |
7796 | ## There is no encapsulation within the following macros, do not change | |
7797 | ## the running order or otherwise move them around unless you know exactly | |
7798 | ## what you are doing... | |
7799 | AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) | |
7800 | AC_LIBTOOL_PROG_COMPILER_PIC($1) | |
7801 | AC_LIBTOOL_PROG_CC_C_O($1) | |
7802 | AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) | |
7803 | AC_LIBTOOL_PROG_LD_SHLIBS($1) | |
7804 | AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) | |
7805 | AC_LIBTOOL_SYS_LIB_STRIP | |
7806 | AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) | |
7807 | AC_LIBTOOL_DLOPEN_SELF($1) | |
7808 | ||
7809 | # Report which librarie types wil actually be built | |
7810 | AC_MSG_CHECKING([if libtool supports shared libraries]) | |
7811 | AC_MSG_RESULT([$can_build_shared]) | |
7812 | ||
7813 | AC_MSG_CHECKING([whether to build shared libraries]) | |
7814 | test "$can_build_shared" = "no" && enable_shared=no | |
7815 | ||
7816 | # On AIX, shared libraries and static libraries use the same namespace, and | |
7817 | # are all built from PIC. | |
7818 | case "$host_os" in | |
7819 | aix3*) | |
7820 | test "$enable_shared" = yes && enable_static=no | |
7821 | if test -n "$RANLIB"; then | |
7822 | archive_cmds="$archive_cmds~\$RANLIB \$lib" | |
7823 | postinstall_cmds='$RANLIB $lib' | |
7824 | fi | |
7825 | ;; | |
7826 | ||
7827 | aix4*) | |
7828 | if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | |
7829 | test "$enable_shared" = yes && enable_static=no | |
7830 | fi | |
7831 | ;; | |
7832 | esac | |
7833 | AC_MSG_RESULT([$enable_shared]) | |
7834 | ||
7835 | AC_MSG_CHECKING([whether to build static libraries]) | |
7836 | # Make sure either enable_shared or enable_static is yes. | |
7837 | test "$enable_shared" = yes || enable_static=yes | |
7838 | AC_MSG_RESULT([$enable_static]) | |
7839 | ||
7840 | AC_LIBTOOL_CONFIG($1) | |
7841 | ||
7842 | AC_LANG_POP | |
7843 | CC="$lt_save_CC" | |
7844 | ])# AC_LIBTOOL_LANG_C_CONFIG | |
7845 | ||
7846 | ||
7847 | # AC_LIBTOOL_LANG_CXX_CONFIG | |
7848 | # -------------------------- | |
7849 | # Ensure that the configuration vars for the C compiler are | |
7850 | # suitably defined. Those variables are subsequently used by | |
7851 | # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. | |
7852 | AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)]) | |
7853 | AC_DEFUN([_LT_AC_LANG_CXX_CONFIG], | |
7854 | [AC_LANG_PUSH(C++) | |
7855 | AC_REQUIRE([AC_PROG_CXX]) | |
7856 | AC_REQUIRE([AC_PROG_CXXCPP]) | |
7857 | ||
7858 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no | |
7859 | _LT_AC_TAGVAR(allow_undefined_flag, $1)= | |
7860 | _LT_AC_TAGVAR(always_export_symbols, $1)=no | |
7861 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)= | |
7862 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= | |
7863 | _LT_AC_TAGVAR(hardcode_direct, $1)=no | |
7864 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= | |
7865 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= | |
7866 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=no | |
7867 | _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown | |
7868 | _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | |
7869 | _LT_AC_TAGVAR(no_undefined_flag, $1)= | |
7870 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= | |
7871 | ||
7872 | # Dependencies to place before and after the object being linked: | |
7873 | _LT_AC_TAGVAR(predep_objects, $1)= | |
7874 | _LT_AC_TAGVAR(postdep_objects, $1)= | |
7875 | _LT_AC_TAGVAR(predeps, $1)= | |
7876 | _LT_AC_TAGVAR(postdeps, $1)= | |
7877 | _LT_AC_TAGVAR(compiler_lib_search_path, $1)= | |
7878 | ||
7879 | # Source file extension for C test sources. | |
7880 | ac_ext=cc | |
7881 | ||
7882 | # Object file extension for compiled C test sources. | |
7883 | objext=o | |
7884 | _LT_AC_TAGVAR(objext, $1)=$objext | |
7885 | ||
7886 | # Code to be used in simple compile tests | |
7887 | lt_simple_compile_test_code="int some_variable = 0;" | |
7888 | ||
7889 | # Code to be used in simple link tests | |
7890 | lt_simple_link_test_code='int main(int char *[]) { return(0); }' | |
7891 | ||
7892 | # ltmain only uses $CC for tagged configurations so make sure $CC is set. | |
7893 | _LT_AC_SYS_COMPILER | |
7894 | ||
7895 | # Allow CC to be a program name with arguments. | |
7896 | lt_save_CC="$CC" | |
7897 | CC=${CXX-"c++"} | |
7898 | set dummy $CC | |
7899 | compiler="[$]2" | |
7900 | _LT_AC_TAGVAR(compiler, $1)=$CC | |
7901 | cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` | |
7902 | ||
7903 | # We don't want -fno-exception wen compiling C++ code, so set the | |
7904 | # no_builtin_flag separately | |
7905 | if test "$GXX" = yes; then | |
7906 | _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' | |
7907 | else | |
7908 | _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= | |
7909 | fi | |
7910 | ||
7911 | if test "$GXX" = yes; then | |
7912 | # Set up default GNU C++ configuration | |
7913 | ||
7914 | # Check if GNU C++ uses GNU ld as the underlying linker, since the | |
7915 | # archiving commands below assume that GNU ld is being used. | |
7916 | if eval "`$CC -print-prog-name=ld` --version 2>&1" | \ | |
7917 | egrep 'GNU ld' > /dev/null; then | |
7918 | with_gnu_ld=yes | |
7919 | ||
7920 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | |
7921 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | |
7922 | ||
7923 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' | |
7924 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | |
7925 | ||
7926 | # If archive_cmds runs LD, not CC, wlarc should be empty | |
7927 | # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to | |
7928 | # investigate it a little bit more. (MM) | |
7929 | wlarc='${wl}' | |
7930 | ||
7931 | # ancient GNU ld didn't support --whole-archive et. al. | |
7932 | if eval "`$CC -print-prog-name=ld` --help 2>&1" | \ | |
7933 | egrep 'no-whole-archive' > /dev/null; then | |
7934 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | |
7935 | else | |
7936 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= | |
7937 | fi | |
7938 | else | |
7939 | with_gnu_ld=no | |
7940 | wlarc= | |
7941 | ||
7942 | # A generic and very simple default shared library creation | |
7943 | # command for GNU C++ for the case where it uses the native | |
7944 | # linker, instead of GNU ld. If possible, this setting should | |
7945 | # overridden to take advantage of the native linker features on | |
7946 | # the platform it is being used on. | |
7947 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' | |
7948 | fi | |
7949 | ||
7950 | # Commands to make compiler produce verbose output that lists | |
7951 | # what "hidden" libraries, object files and flags are used when | |
7952 | # linking a shared library. | |
7953 | output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' | |
7954 | ||
7955 | else | |
7956 | GXX=no | |
7957 | with_gnu_ld=no | |
7958 | wlarc= | |
7959 | fi | |
7960 | ||
7961 | # PORTME: fill in a description of your system's C++ link characteristics | |
7962 | AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) | |
7963 | _LT_AC_TAGVAR(ld_shlibs, $1)=yes | |
7964 | case $host_os in | |
7965 | aix3*) | |
7966 | # FIXME: insert proper C++ library support | |
7967 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
7968 | ;; | |
7969 | aix4* | aix5*) | |
7970 | if test "$host_cpu" = ia64; then | |
7971 | # On IA64, the linker does run time linking by default, so we don't | |
7972 | # have to do anything special. | |
7973 | aix_use_runtimelinking=no | |
7974 | exp_sym_flag='-Bexport' | |
7975 | no_entry_flag="" | |
7976 | else | |
7977 | # KDE requires run time linking. Make it the default. | |
7978 | aix_use_runtimelinking=yes | |
7979 | exp_sym_flag='-bexport' | |
7980 | no_entry_flag='-bnoentry' | |
7981 | fi | |
7982 | ||
7983 | # When large executables or shared objects are built, AIX ld can | |
7984 | # have problems creating the table of contents. If linking a library | |
7985 | # or program results in "error TOC overflow" add -mminimal-toc to | |
7986 | # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not | |
7987 | # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. | |
7988 | ||
7989 | _LT_AC_TAGVAR(archive_cmds, $1)='' | |
7990 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
7991 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' | |
7992 | _LT_AC_TAGVAR(link_all_deplibs, $1)=yes | |
7993 | ||
7994 | if test "$GXX" = yes; then | |
7995 | case $host_os in aix4.[012]|aix4.[012].*) | |
7996 | # We only want to do this on AIX 4.2 and lower, the check | |
7997 | # below for broken collect2 doesn't work under 4.3+ | |
7998 | collect2name=`${CC} -print-prog-name=collect2` | |
7999 | if test -f "$collect2name" && \ | |
8000 | strings "$collect2name" | grep resolve_lib_name >/dev/null | |
8001 | then | |
8002 | # We have reworked collect2 | |
8003 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
8004 | else | |
8005 | # We have old collect2 | |
8006 | _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported | |
8007 | # It fails to find uninstalled libraries when the uninstalled | |
8008 | # path is not listed in the libpath. Setting hardcode_minus_L | |
8009 | # to unsupported forces relinking | |
8010 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes | |
8011 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
8012 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= | |
8013 | fi | |
8014 | esac | |
8015 | shared_flag='-shared' | |
8016 | else | |
8017 | # not using gcc | |
8018 | if test "$host_cpu" = ia64; then | |
8019 | # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release | |
8020 | # chokes on -Wl,-G. The following line is correct: | |
8021 | shared_flag='-G' | |
8022 | else | |
8023 | if test "$aix_use_runtimelinking" = yes; then | |
8024 | shared_flag='-qmkshrobj ${wl}-G' | |
8025 | else | |
8026 | shared_flag='-qmkshrobj' | |
8027 | fi | |
8028 | fi | |
8029 | fi | |
8030 | ||
8031 | # Let the compiler handle the export list. | |
8032 | _LT_AC_TAGVAR(always_export_symbols, $1)=no | |
8033 | if test "$aix_use_runtimelinking" = yes; then | |
8034 | # Warning - without using the other runtime loading flags (-brtl), | |
8035 | # -berok will link without error, but may produce a broken library. | |
8036 | _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' | |
8037 | # Determine the default libpath from the value encoded in an empty executable. | |
8038 | _LT_AC_SYS_LIBPATH_AIX | |
8039 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | |
8040 | ||
8041 | _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" | |
8042 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" | |
8043 | else | |
8044 | if test "$host_cpu" = ia64; then | |
8045 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' | |
8046 | _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" | |
8047 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" | |
8048 | else | |
8049 | # Determine the default libpath from the value encoded in an empty executable. | |
8050 | _LT_AC_SYS_LIBPATH_AIX | |
8051 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | |
8052 | # Warning - without using the other run time loading flags, | |
8053 | # -berok will link without error, but may produce a broken library. | |
8054 | _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' | |
8055 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' | |
8056 | # -bexpall does not export symbols beginning with underscore (_) | |
8057 | _LT_AC_TAGVAR(always_export_symbols, $1)=yes | |
8058 | # Exported symbols can be pulled into shared objects from archives | |
8059 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' | |
8060 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes | |
8061 | # This is similar to how AIX traditionally builds it's shared libraries. | |
8062 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' | |
8063 | fi | |
8064 | fi | |
8065 | ;; | |
8066 | chorus*) | |
8067 | case $cc_basename in | |
8068 | *) | |
8069 | # FIXME: insert proper C++ library support | |
8070 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8071 | ;; | |
8072 | esac | |
8073 | ;; | |
8074 | dgux*) | |
8075 | case $cc_basename in | |
8076 | ec++) | |
8077 | # FIXME: insert proper C++ library support | |
8078 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8079 | ;; | |
8080 | ghcx) | |
8081 | # Green Hills C++ Compiler | |
8082 | # FIXME: insert proper C++ library support | |
8083 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8084 | ;; | |
8085 | *) | |
8086 | # FIXME: insert proper C++ library support | |
8087 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8088 | ;; | |
8089 | esac | |
8090 | ;; | |
8091 | freebsd[12]*) | |
8092 | # C++ shared libraries reported to be fairly broken before switch to ELF | |
8093 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8094 | ;; | |
8095 | freebsd-elf*) | |
8096 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no | |
8097 | ;; | |
8098 | freebsd*) | |
8099 | # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF | |
8100 | # conventions | |
8101 | _LT_AC_TAGVAR(ld_shlibs, $1)=yes | |
8102 | ;; | |
8103 | gnu*) | |
8104 | ;; | |
8105 | hpux*) | |
8106 | if test $with_gnu_ld = no; then | |
8107 | if test "$host_cpu" = ia64; then | |
8108 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
8109 | else | |
8110 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | |
8111 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
8112 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | |
8113 | fi | |
8114 | fi | |
8115 | if test "$host_cpu" = ia64; then | |
8116 | _LT_AC_TAGVAR(hardcode_direct, $1)=no | |
8117 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
8118 | else | |
8119 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
8120 | fi | |
8121 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, | |
8122 | # but as the default | |
8123 | # location of the library. | |
8124 | ||
8125 | case $cc_basename in | |
8126 | CC) | |
8127 | # FIXME: insert proper C++ library support | |
8128 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8129 | ;; | |
8130 | aCC) | |
8131 | case $host_os in | |
8132 | hpux9*) | |
8133 | _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | |
8134 | ;; | |
8135 | *) | |
8136 | if test "$host_cpu" = ia64; then | |
8137 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' | |
8138 | else | |
8139 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | |
8140 | fi | |
8141 | ;; | |
8142 | esac | |
8143 | # Commands to make compiler produce verbose output that lists | |
8144 | # what "hidden" libraries, object files and flags are used when | |
8145 | # linking a shared library. | |
8146 | # | |
8147 | # There doesn't appear to be a way to prevent this compiler from | |
8148 | # explicitly linking system object files so we need to strip them | |
8149 | # from the output so that they don't get included in the library | |
8150 | # dependencies. | |
8151 | output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' | |
8152 | ;; | |
8153 | *) | |
8154 | if test "$GXX" = yes; then | |
8155 | if test $with_gnu_ld = no; then | |
8156 | case $host_os in | |
8157 | hpux9*) | |
8158 | _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | |
8159 | ;; | |
8160 | *) | |
8161 | if test "$host_cpu" = ia64; then | |
8162 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' | |
8163 | else | |
8164 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | |
8165 | fi | |
8166 | ;; | |
8167 | esac | |
8168 | fi | |
8169 | else | |
8170 | # FIXME: insert proper C++ library support | |
8171 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8172 | fi | |
8173 | ;; | |
8174 | esac | |
8175 | ;; | |
8176 | irix5* | irix6*) | |
8177 | case $cc_basename in | |
8178 | CC) | |
8179 | # SGI C++ | |
8180 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' | |
8181 | ||
8182 | # Archives containing C++ object files must be created using | |
8183 | # "CC -ar", where "CC" is the IRIX C++ compiler. This is | |
8184 | # necessary to make sure instantiated templates are included | |
8185 | # in the archive. | |
8186 | _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' | |
8187 | ;; | |
8188 | *) | |
8189 | if test "$GXX" = yes; then | |
8190 | if test "$with_gnu_ld" = no; then | |
8191 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' | |
8192 | else | |
8193 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -o $lib' | |
8194 | fi | |
8195 | fi | |
8196 | _LT_AC_TAGVAR(link_all_deplibs, $1)=yes | |
8197 | ;; | |
8198 | esac | |
8199 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | |
8200 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
8201 | ;; | |
8202 | linux*) | |
8203 | case $cc_basename in | |
8204 | KCC) | |
8205 | # Kuck and Associates, Inc. (KAI) C++ Compiler | |
8206 | ||
8207 | # KCC will only create a shared library if the output file | |
8208 | # ends with ".so" (or ".sl" for HP-UX), so rename the library | |
8209 | # to its proper name (with version) after linking. | |
8210 | _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' | |
8211 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' | |
8212 | ||
8213 | # Commands to make compiler produce verbose output that lists | |
8214 | # what "hidden" libraries, object files and flags are used when | |
8215 | # linking a shared library. | |
8216 | # | |
8217 | # There doesn't appear to be a way to prevent this compiler from | |
8218 | # explicitly linking system object files so we need to strip them | |
8219 | # from the output so that they don't get included in the library | |
8220 | # dependencies. | |
8221 | output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest.so 2>&1 | egrep "ld"`; rm -f libconftest.so; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' | |
8222 | ||
8223 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir' | |
8224 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | |
8225 | ||
8226 | # Archives containing C++ object files must be created using | |
8227 | # "CC -Bstatic", where "CC" is the KAI C++ compiler. | |
8228 | _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' | |
8229 | ;; | |
8230 | cxx) | |
8231 | # Compaq C++ | |
8232 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | |
8233 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' | |
8234 | ||
8235 | runpath_var=LD_RUN_PATH | |
8236 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | |
8237 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
8238 | ||
8239 | # Commands to make compiler produce verbose output that lists | |
8240 | # what "hidden" libraries, object files and flags are used when | |
8241 | # linking a shared library. | |
8242 | # | |
8243 | # There doesn't appear to be a way to prevent this compiler from | |
8244 | # explicitly linking system object files so we need to strip them | |
8245 | # from the output so that they don't get included in the library | |
8246 | # dependencies. | |
8247 | output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' | |
8248 | ;; | |
8249 | esac | |
8250 | ;; | |
8251 | lynxos*) | |
8252 | # FIXME: insert proper C++ library support | |
8253 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8254 | ;; | |
8255 | m88k*) | |
8256 | # FIXME: insert proper C++ library support | |
8257 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8258 | ;; | |
8259 | mvs*) | |
8260 | case $cc_basename in | |
8261 | cxx) | |
8262 | # FIXME: insert proper C++ library support | |
8263 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8264 | ;; | |
8265 | *) | |
8266 | # FIXME: insert proper C++ library support | |
8267 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8268 | ;; | |
8269 | esac | |
8270 | ;; | |
8271 | netbsd*) | |
8272 | # NetBSD uses g++ - do we need to do anything? | |
8273 | ;; | |
8274 | osf3*) | |
8275 | case $cc_basename in | |
8276 | KCC) | |
8277 | # Kuck and Associates, Inc. (KAI) C++ Compiler | |
8278 | ||
8279 | # KCC will only create a shared library if the output file | |
8280 | # ends with ".so" (or ".sl" for HP-UX), so rename the library | |
8281 | # to its proper name (with version) after linking. | |
8282 | _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' | |
8283 | ||
8284 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | |
8285 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
8286 | ||
8287 | # Archives containing C++ object files must be created using | |
8288 | # "CC -Bstatic", where "CC" is the KAI C++ compiler. | |
8289 | _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' | |
8290 | ||
8291 | ;; | |
8292 | RCC) | |
8293 | # Rational C++ 2.4.1 | |
8294 | # FIXME: insert proper C++ library support | |
8295 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8296 | ;; | |
8297 | cxx) | |
8298 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | |
8299 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' | |
8300 | ||
8301 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | |
8302 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
8303 | ||
8304 | # Commands to make compiler produce verbose output that lists | |
8305 | # what "hidden" libraries, object files and flags are used when | |
8306 | # linking a shared library. | |
8307 | # | |
8308 | # There doesn't appear to be a way to prevent this compiler from | |
8309 | # explicitly linking system object files so we need to strip them | |
8310 | # from the output so that they don't get included in the library | |
8311 | # dependencies. | |
8312 | output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' | |
8313 | ;; | |
8314 | *) | |
8315 | if test "$GXX" = yes && test "$with_gnu_ld" = no; then | |
8316 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | |
8317 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' | |
8318 | ||
8319 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | |
8320 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
8321 | ||
8322 | # Commands to make compiler produce verbose output that lists | |
8323 | # what "hidden" libraries, object files and flags are used when | |
8324 | # linking a shared library. | |
8325 | output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' | |
8326 | ||
8327 | else | |
8328 | # FIXME: insert proper C++ library support | |
8329 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8330 | fi | |
8331 | ;; | |
8332 | esac | |
8333 | ;; | |
8334 | osf4* | osf5*) | |
8335 | case $cc_basename in | |
8336 | KCC) | |
8337 | # Kuck and Associates, Inc. (KAI) C++ Compiler | |
8338 | ||
8339 | # KCC will only create a shared library if the output file | |
8340 | # ends with ".so" (or ".sl" for HP-UX), so rename the library | |
8341 | # to its proper name (with version) after linking. | |
8342 | _LT_AC_TAGVAR(archive_cmds, $1)='templib=`echo $lib | sed -e "s/\.so\..*/\.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' | |
8343 | ||
8344 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | |
8345 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
8346 | ||
8347 | # Archives containing C++ object files must be created using | |
8348 | # the KAI C++ compiler. | |
8349 | _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' | |
8350 | ;; | |
8351 | RCC) | |
8352 | # Rational C++ 2.4.1 | |
8353 | # FIXME: insert proper C++ library support | |
8354 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8355 | ;; | |
8356 | cxx) | |
8357 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | |
8358 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib' | |
8359 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done~ | |
8360 | echo "-hidden">> $lib.exp~ | |
8361 | $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry $objdir/so_locations -o $lib~ | |
8362 | $rm $lib.exp' | |
8363 | ||
8364 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | |
8365 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
8366 | ||
8367 | # Commands to make compiler produce verbose output that lists | |
8368 | # what "hidden" libraries, object files and flags are used when | |
8369 | # linking a shared library. | |
8370 | # | |
8371 | # There doesn't appear to be a way to prevent this compiler from | |
8372 | # explicitly linking system object files so we need to strip them | |
8373 | # from the output so that they don't get included in the library | |
8374 | # dependencies. | |
8375 | output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' | |
8376 | ;; | |
8377 | *) | |
8378 | if test "$GXX" = yes && test "$with_gnu_ld" = no; then | |
8379 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | |
8380 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib' | |
8381 | ||
8382 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | |
8383 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
8384 | ||
8385 | # Commands to make compiler produce verbose output that lists | |
8386 | # what "hidden" libraries, object files and flags are used when | |
8387 | # linking a shared library. | |
8388 | output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"' | |
8389 | ||
8390 | else | |
8391 | # FIXME: insert proper C++ library support | |
8392 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8393 | fi | |
8394 | ;; | |
8395 | esac | |
8396 | ;; | |
8397 | psos*) | |
8398 | # FIXME: insert proper C++ library support | |
8399 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8400 | ;; | |
8401 | sco*) | |
8402 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no | |
8403 | case $cc_basename in | |
8404 | CC) | |
8405 | # FIXME: insert proper C++ library support | |
8406 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8407 | ;; | |
8408 | *) | |
8409 | # FIXME: insert proper C++ library support | |
8410 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8411 | ;; | |
8412 | esac | |
8413 | ;; | |
8414 | sunos4*) | |
8415 | case $cc_basename in | |
8416 | CC) | |
8417 | # Sun C++ 4.x | |
8418 | # FIXME: insert proper C++ library support | |
8419 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8420 | ;; | |
8421 | lcc) | |
8422 | # Lucid | |
8423 | # FIXME: insert proper C++ library support | |
8424 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8425 | ;; | |
8426 | *) | |
8427 | # FIXME: insert proper C++ library support | |
8428 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8429 | ;; | |
8430 | esac | |
8431 | ;; | |
8432 | solaris*) | |
8433 | case $cc_basename in | |
8434 | CC) | |
8435 | # Sun C++ 4.2, 5.x and Centerline C++ | |
8436 | _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' | |
8437 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | |
8438 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ | |
8439 | $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' | |
8440 | ||
8441 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | |
8442 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
8443 | case $host_os in | |
8444 | solaris2.[0-5] | solaris2.[0-5].*) ;; | |
8445 | *) | |
8446 | # The C++ compiler is used as linker so we must use $wl | |
8447 | # flag to pass the commands to the underlying system | |
8448 | # linker. | |
8449 | # Supported since Solaris 2.6 (maybe 2.5.1?) | |
8450 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' | |
8451 | ;; | |
8452 | esac | |
8453 | _LT_AC_TAGVAR(link_all_deplibs, $1)=yes | |
8454 | ||
8455 | # Commands to make compiler produce verbose output that lists | |
8456 | # what "hidden" libraries, object files and flags are used when | |
8457 | # linking a shared library. | |
8458 | # | |
8459 | # There doesn't appear to be a way to prevent this compiler from | |
8460 | # explicitly linking system object files so we need to strip them | |
8461 | # from the output so that they don't get included in the library | |
8462 | # dependencies. | |
8463 | output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep "\-R|\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list' | |
8464 | ||
8465 | # Archives containing C++ object files must be created using | |
8466 | # "CC -xar", where "CC" is the Sun C++ compiler. This is | |
8467 | # necessary to make sure instantiated templates are included | |
8468 | # in the archive. | |
8469 | _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' | |
8470 | ;; | |
8471 | gcx) | |
8472 | # Green Hills C++ Compiler | |
8473 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' | |
8474 | ||
8475 | # The C++ compiler must be used to create the archive. | |
8476 | _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' | |
8477 | ;; | |
8478 | *) | |
8479 | # GNU C++ compiler with Solaris linker | |
8480 | if test "$GXX" = yes && test "$with_gnu_ld" = no; then | |
8481 | _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' | |
8482 | if $CC --version | egrep -v '^2\.7' > /dev/null; then | |
8483 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib' | |
8484 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ | |
8485 | $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp' | |
8486 | ||
8487 | # Commands to make compiler produce verbose output that lists | |
8488 | # what "hidden" libraries, object files and flags are used when | |
8489 | # linking a shared library. | |
8490 | output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" | |
8491 | else | |
8492 | # g++ 2.7 appears to require `-G' NOT `-shared' on this | |
8493 | # platform. | |
8494 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $linker_flags ${wl}-h $wl$soname -o $lib' | |
8495 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ | |
8496 | $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags~$rm $lib.exp' | |
8497 | ||
8498 | # Commands to make compiler produce verbose output that lists | |
8499 | # what "hidden" libraries, object files and flags are used when | |
8500 | # linking a shared library. | |
8501 | output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | egrep \"\-L\"" | |
8502 | fi | |
8503 | ||
8504 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' | |
8505 | fi | |
8506 | ;; | |
8507 | esac | |
8508 | ;; | |
8509 | sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) | |
8510 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no | |
8511 | ;; | |
8512 | tandem*) | |
8513 | case $cc_basename in | |
8514 | NCC) | |
8515 | # NonStop-UX NCC 3.20 | |
8516 | # FIXME: insert proper C++ library support | |
8517 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8518 | ;; | |
8519 | *) | |
8520 | # FIXME: insert proper C++ library support | |
8521 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8522 | ;; | |
8523 | esac | |
8524 | ;; | |
8525 | vxworks*) | |
8526 | # FIXME: insert proper C++ library support | |
8527 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8528 | ;; | |
8529 | *) | |
8530 | # FIXME: insert proper C++ library support | |
8531 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
8532 | ;; | |
8533 | esac | |
8534 | AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) | |
8535 | test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no | |
8536 | ||
8537 | # Figure out "hidden" C++ library dependencies from verbose | |
8538 | # compiler output whening linking a shared library. | |
8539 | cat > conftest.$ac_ext <<EOF | |
8540 | class Foo | |
8541 | { | |
8542 | public: | |
8543 | Foo (void) { a = 0; } | |
8544 | private: | |
8545 | int a; | |
8546 | }; | |
8547 | EOF | |
8548 | ||
8549 | ||
8550 | if AC_TRY_EVAL(ac_compile); then | |
8551 | # Parse the compiler output and extract the necessary | |
8552 | # objects, libraries and library flags. | |
8553 | ||
8554 | # Sentinel used to keep track of whether or not we are before | |
8555 | # the conftest object file. | |
8556 | pre_test_object_deps_done=no | |
8557 | ||
8558 | # The `*' in the case matches for architectures that use `case' in | |
8559 | # $output_verbose_cmd can trigger glob expansion during the loop | |
8560 | # eval without this substitution. | |
8561 | output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`" | |
8562 | ||
8563 | for p in `eval $output_verbose_link_cmd`; do | |
8564 | case $p in | |
8565 | ||
8566 | -L* | -R* | -l*) | |
8567 | # Some compilers place space between "-{L,R}" and the path. | |
8568 | # Remove the space. | |
8569 | if test $p = "-L" \ | |
8570 | || test $p = "-R"; then | |
8571 | prev=$p | |
8572 | continue | |
8573 | else | |
8574 | prev= | |
8575 | fi | |
8576 | ||
8577 | if test "$pre_test_object_deps_done" = no; then | |
8578 | case $p in | |
8579 | -L* | -R*) | |
8580 | # Internal compiler library paths should come after those | |
8581 | # provided the user. The postdeps already come after the | |
8582 | # user supplied libs so there is no need to process them. | |
8583 | if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then | |
8584 | _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" | |
8585 | else | |
8586 | _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" | |
8587 | fi | |
8588 | ;; | |
8589 | # The "-l" case would never come before the object being | |
8590 | # linked, so don't bother handling this case. | |
8591 | esac | |
8592 | else | |
8593 | if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then | |
8594 | _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}" | |
8595 | else | |
8596 | _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}" | |
8597 | fi | |
8598 | fi | |
8599 | ;; | |
8600 | ||
8601 | *.$objext|*.$libext) | |
8602 | # This assumes that the test object file only shows up | |
8603 | # once in the compiler output. | |
8604 | if test "$p" = "conftest.$objext"; then | |
8605 | pre_test_object_deps_done=yes | |
8606 | continue | |
8607 | fi | |
8608 | ||
8609 | if test "$pre_test_object_deps_done" = no; then | |
8610 | if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then | |
8611 | _LT_AC_TAGVAR(predep_objects, $1)="$p" | |
8612 | else | |
8613 | _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p" | |
8614 | fi | |
8615 | else | |
8616 | if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then | |
8617 | _LT_AC_TAGVAR(postdep_objects, $1)="$p" | |
8618 | else | |
8619 | _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p" | |
8620 | fi | |
8621 | fi | |
8622 | ;; | |
8623 | ||
8624 | *) ;; # Ignore the rest. | |
8625 | ||
8626 | esac | |
8627 | done | |
8628 | ||
8629 | # Clean up. | |
8630 | rm -f a.out | |
8631 | else | |
8632 | echo "libtool.m4: error: problem compiling C++ test program" | |
8633 | fi | |
8634 | ||
8635 | $rm -f confest.$objext | |
8636 | ||
8637 | case " $_LT_AC_TAGVAR(postdeps, $1) " in | |
8638 | *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; | |
8639 | *) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes ;; | |
8640 | esac | |
8641 | ||
8642 | _LT_AC_TAGVAR(GCC, $1)="$GXX" | |
8643 | _LT_AC_TAGVAR(LD, $1)="$LD" | |
8644 | ||
8645 | ## CAVEAT EMPTOR: | |
8646 | ## There is no encapsulation within the following macros, do not change | |
8647 | ## the running order or otherwise move them around unless you know exactly | |
8648 | ## what you are doing... | |
8649 | AC_LIBTOOL_PROG_COMPILER_PIC($1) | |
8650 | AC_LIBTOOL_PROG_CC_C_O($1) | |
8651 | AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) | |
8652 | AC_LIBTOOL_PROG_LD_SHLIBS($1) | |
8653 | AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) | |
8654 | AC_LIBTOOL_SYS_LIB_STRIP | |
8655 | AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) | |
8656 | AC_LIBTOOL_DLOPEN_SELF($1) | |
8657 | ||
8658 | AC_LIBTOOL_CONFIG($1) | |
8659 | ||
8660 | AC_LANG_POP | |
8661 | CC="$lt_save_CC" | |
8662 | ])# AC_LIBTOOL_LANG_CXX_CONFIG | |
8663 | ||
8664 | ||
8665 | # AC_LIBTOOL_LANG_GCJ_CONFIG | |
8666 | # -------------------------- | |
8667 | # Ensure that the configuration vars for the C compiler are | |
8668 | # suitably defined. Those variables are subsequently used by | |
8669 | # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. | |
8670 | AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) | |
8671 | AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], | |
8672 | [AC_LANG_SAVE | |
8673 | ||
8674 | # Source file extension for C test sources. | |
8675 | ac_ext=java | |
8676 | ||
8677 | # Object file extension for compiled C test sources. | |
8678 | objext=o | |
8679 | _LT_AC_TAGVAR(objext, $1)=$objext | |
8680 | ||
8681 | # Code to be used in simple compile tests | |
8682 | lt_simple_compile_test_code="class foo {}" | |
8683 | ||
8684 | # Code to be used in simple link tests | |
8685 | lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' | |
8686 | ||
8687 | # ltmain only uses $CC for tagged configurations so make sure $CC is set. | |
8688 | _LT_AC_SYS_COMPILER | |
8689 | ||
8690 | # Allow CC to be a program name with arguments. | |
8691 | lt_save_CC="$CC" | |
8692 | CC=${GCJ-"gcj"} | |
8693 | set dummy $CC | |
8694 | compiler="[$]2" | |
8695 | _LT_AC_TAGVAR(compiler, $1)=$CC | |
8696 | ||
8697 | # GCJ did not exist at the time GCC didn't implicitly link libc in. | |
8698 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no | |
8699 | ||
8700 | ## CAVEAT EMPTOR: | |
8701 | ## There is no encapsulation within the following macros, do not change | |
8702 | ## the running order or otherwise move them around unless you know exactly | |
8703 | ## what you are doing... | |
8704 | AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) | |
8705 | AC_LIBTOOL_PROG_COMPILER_PIC($1) | |
8706 | AC_LIBTOOL_PROG_CC_C_O($1) | |
8707 | AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1) | |
8708 | AC_LIBTOOL_PROG_LD_SHLIBS($1) | |
8709 | AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) | |
8710 | AC_LIBTOOL_SYS_LIB_STRIP | |
8711 | AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) | |
8712 | AC_LIBTOOL_DLOPEN_SELF($1) | |
8713 | ||
8714 | AC_LIBTOOL_CONFIG($1) | |
8715 | ||
8716 | AC_LANG_RESTORE | |
8717 | CC="$lt_save_CC" | |
8718 | ])# AC_LIBTOOL_LANG_GCJ_CONFIG | |
8719 | ||
8720 | ||
8721 | # AC_LIBTOOL_LANG_RC_CONFIG | |
8722 | # -------------------------- | |
8723 | # Ensure that the configuration vars for the Windows resource compiler are | |
8724 | # suitably defined. Those variables are subsequently used by | |
8725 | # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. | |
8726 | AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) | |
8727 | AC_DEFUN([_LT_AC_LANG_RC_CONFIG], | |
8728 | [AC_LANG_SAVE | |
8729 | ||
8730 | # Source file extension for RC test sources. | |
8731 | ac_ext=rc | |
8732 | ||
8733 | # Object file extension for compiled RC test sources. | |
8734 | objext=o | |
8735 | _LT_AC_TAGVAR(objext, $1)=$objext | |
8736 | ||
8737 | # Code to be used in simple compile tests | |
8738 | lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' | |
8739 | ||
8740 | # Code to be used in simple link tests | |
8741 | lt_simple_link_test_code="$lt_simple_compile_test_code" | |
8742 | ||
8743 | # ltmain only uses $CC for tagged configurations so make sure $CC is set. | |
8744 | _LT_AC_SYS_COMPILER | |
8745 | ||
8746 | # Allow CC to be a program name with arguments. | |
8747 | lt_save_CC="$CC" | |
8748 | CC=${RC-"windres"} | |
8749 | set dummy $CC | |
8750 | compiler="[$]2" | |
8751 | _LT_AC_TAGVAR(compiler, $1)=$CC | |
8752 | _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes | |
8753 | ||
8754 | AC_LIBTOOL_CONFIG($1) | |
8755 | ||
8756 | AC_LANG_RESTORE | |
8757 | CC="$lt_save_CC" | |
8758 | ])# AC_LIBTOOL_LANG_RC_CONFIG | |
8759 | ||
8760 | ||
8761 | # AC_LIBTOOL_CONFIG([TAGNAME]) | |
8762 | # ---------------------------- | |
8763 | # If TAGNAME is not passed, then create an initial libtool script | |
8764 | # with a default configuration from the untagged config vars. Otherwise | |
8765 | # add code to config.status for appending the configuration named by | |
8766 | # TAGNAME from the matching tagged config vars. | |
8767 | AC_DEFUN([AC_LIBTOOL_CONFIG], | |
8768 | [# The else clause should only fire when bootstrapping the | |
8769 | # libtool distribution, otherwise you forgot to ship ltmain.sh | |
8770 | # with your package, and you will get complaints that there are | |
8771 | # no rules to generate ltmain.sh. | |
8772 | if test -f "$ltmain"; then | |
8773 | # Now quote all the things that may contain metacharacters while being | |
8774 | # careful not to overquote the AC_SUBSTed values. We take copies of the | |
8775 | # variables and quote the copies for generation of the libtool script. | |
8776 | for var in echo old_CC old_CFLAGS AR AR_FLAGS RANLIB LN_S LTCC NM SED SHELL \ | |
8777 | libname_spec library_names_spec soname_spec extract_expsyms_cmds \ | |
8778 | old_striplib striplib file_magic_cmd finish_cmds finish_eval \ | |
8779 | deplibs_check_method reload_flag reload_cmds need_locks \ | |
8780 | lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \ | |
8781 | lt_cv_sys_global_symbol_to_c_name_address \ | |
8782 | sys_lib_search_path_spec sys_lib_dlsearch_path_spec \ | |
8783 | old_postinstall_cmds old_postuninstall_cmds \ | |
8784 | _LT_AC_TAGVAR(compiler, $1) \ | |
8785 | _LT_AC_TAGVAR(CC, $1) \ | |
8786 | _LT_AC_TAGVAR(LD, $1) \ | |
8787 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ | |
8788 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ | |
8789 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ | |
8790 | _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ | |
8791 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ | |
8792 | _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ | |
8793 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ | |
8794 | _LT_AC_TAGVAR(old_archive_cmds, $1) \ | |
8795 | _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ | |
8796 | _LT_AC_TAGVAR(predep_objects, $1) \ | |
8797 | _LT_AC_TAGVAR(postdep_objects, $1) \ | |
8798 | _LT_AC_TAGVAR(predeps, $1) \ | |
8799 | _LT_AC_TAGVAR(postdeps, $1) \ | |
8800 | _LT_AC_TAGVAR(compiler_lib_search_path, $1) \ | |
8801 | _LT_AC_TAGVAR(archive_cmds, $1) \ | |
8802 | _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ | |
8803 | _LT_AC_TAGVAR(postinstall_cmds, $1) \ | |
8804 | _LT_AC_TAGVAR(postuninstall_cmds, $1) \ | |
8805 | _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ | |
8806 | _LT_AC_TAGVAR(allow_undefined_flag, $1) \ | |
8807 | _LT_AC_TAGVAR(no_undefined_flag, $1) \ | |
8808 | _LT_AC_TAGVAR(export_symbols_cmds, $1) \ | |
8809 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \ | |
8810 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \ | |
8811 | _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ | |
8812 | _LT_AC_TAGVAR(exclude_expsyms, $1) \ | |
8813 | _LT_AC_TAGVAR(include_expsyms, $1); do | |
8814 | ||
8815 | case $var in | |
8816 | _LT_AC_TAGVAR(old_archive_cmds, $1) | \ | |
8817 | _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ | |
8818 | _LT_AC_TAGVAR(archive_cmds, $1) | \ | |
8819 | _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ | |
8820 | _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ | |
8821 | _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ | |
8822 | extract_expsyms_cmds | reload_cmds | finish_cmds | \ | |
8823 | postinstall_cmds | postuninstall_cmds | \ | |
8824 | old_postinstall_cmds | old_postuninstall_cmds | \ | |
8825 | sys_lib_search_path_spec | sys_lib_dlsearch_path_spec) | |
8826 | # Double-quote double-evaled strings. | |
8827 | eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\"" | |
8828 | ;; | |
8829 | *) | |
8830 | eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\"" | |
8831 | ;; | |
8832 | esac | |
8833 | done | |
8834 | ||
8835 | case $lt_echo in | |
8836 | *'\[$]0 --fallback-echo"') | |
8837 | lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'` | |
8838 | ;; | |
8839 | esac | |
8840 | ||
8841 | ifelse([$1], [], | |
8842 | [cfgfile="${ofile}T" | |
8843 | trap "$rm \"$cfgfile\"; exit 1" 1 2 15 | |
8844 | $rm -f "$cfgfile" | |
8845 | AC_MSG_NOTICE([creating $ofile])], | |
8846 | [cfgfile="$ofile"]) | |
8847 | ||
8848 | cat <<__EOF__ >> "$cfgfile" | |
8849 | ifelse([$1], [], | |
8850 | [#! $SHELL | |
8851 | ||
8852 | # `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services. | |
8853 | # Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP) | |
8854 | # NOTE: Changes made to this file will be lost: look at ltmain.sh. | |
8855 | # | |
8856 | # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 | |
8857 | # Free Software Foundation, Inc. | |
8858 | # | |
8859 | # This file is part of GNU Libtool: | |
8860 | # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 | |
8861 | # | |
8862 | # This program is free software; you can redistribute it and/or modify | |
8863 | # it under the terms of the GNU General Public License as published by | |
8864 | # the Free Software Foundation; either version 2 of the License, or | |
8865 | # (at your option) any later version. | |
8866 | # | |
8867 | # This program is distributed in the hope that it will be useful, but | |
8868 | # WITHOUT ANY WARRANTY; without even the implied warranty of | |
8869 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
8870 | # General Public License for more details. | |
8871 | # | |
8872 | # You should have received a copy of the GNU General Public License | |
8873 | # along with this program; if not, write to the Free Software | |
8874 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
8875 | # | |
8876 | # As a special exception to the GNU General Public License, if you | |
8877 | # distribute this file as part of a program that contains a | |
8878 | # configuration script generated by Autoconf, you may include it under | |
8879 | # the same distribution terms that you use for the rest of that program. | |
8880 | ||
8881 | # Sed that helps us avoid accidentally triggering echo(1) options like -n. | |
8882 | Xsed="sed -e s/^X//" | |
8883 | ||
8884 | # The HP-UX ksh and POSIX shell print the target directory to stdout | |
8885 | # if CDPATH is set. | |
8886 | if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi | |
8887 | ||
8888 | # The names of the tagged configurations supported by this script. | |
8889 | available_tags= | |
8890 | ||
8891 | # ### BEGIN LIBTOOL CONFIG], | |
8892 | [# ### BEGIN LIBTOOL TAG CONFIG: $tagname]) | |
8893 | ||
8894 | # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | |
8895 | ||
8896 | # Shell to use when invoking shell scripts. | |
8897 | SHELL=$lt_SHELL | |
8898 | ||
8899 | # Whether or not to build shared libraries. | |
8900 | build_libtool_libs=$enable_shared | |
8901 | ||
8902 | # Whether or not to build static libraries. | |
8903 | build_old_libs=$enable_static | |
8904 | ||
8905 | # Whether or not to add -lc for building shared libraries. | |
8906 | build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1) | |
8907 | ||
8908 | # Whether or not to optimize for fast installation. | |
8909 | fast_install=$enable_fast_install | |
8910 | ||
8911 | # The host system. | |
8912 | host_alias=$host_alias | |
8913 | host=$host | |
8914 | ||
8915 | # An echo program that does not interpret backslashes. | |
8916 | echo=$lt_echo | |
8917 | ||
8918 | # The archiver. | |
8919 | AR=$lt_AR | |
8920 | AR_FLAGS=$lt_AR_FLAGS | |
8921 | ||
8922 | # A C compiler. | |
8923 | LTCC=$lt_LTCC | |
8924 | ||
8925 | # A language-specific compiler. | |
8926 | CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) | |
8927 | ||
8928 | # Is the compiler the GNU C compiler? | |
8929 | with_gcc=$_LT_AC_TAGVAR(GCC, $1) | |
8930 | ||
8931 | # The linker used to build libraries. | |
8932 | LD=$lt_[]_LT_AC_TAGVAR(LD, $1) | |
8933 | ||
8934 | # Whether we need hard or soft links. | |
8935 | LN_S=$lt_LN_S | |
8936 | ||
8937 | # A BSD-compatible nm program. | |
8938 | NM=$lt_NM | |
8939 | ||
8940 | # A sed program that does not truncate output. | |
8941 | SED=$lt_SED | |
8942 | ||
8943 | # A symbol stripping program | |
8944 | STRIP=$STRIP | |
8945 | ||
8946 | # Used to examine libraries when file_magic_cmd begins "file" | |
8947 | MAGIC_CMD=$MAGIC_CMD | |
8948 | ||
8949 | # Used on cygwin: DLL creation program. | |
8950 | DLLTOOL="$DLLTOOL" | |
8951 | ||
8952 | # Used on cygwin: object dumper. | |
8953 | OBJDUMP="$OBJDUMP" | |
8954 | ||
8955 | # Used on cygwin: assembler. | |
8956 | AS="$AS" | |
8957 | ||
8958 | # The name of the directory that contains temporary libtool files. | |
8959 | objdir=$objdir | |
8960 | ||
8961 | # How to create reloadable object files. | |
8962 | reload_flag=$lt_reload_flag | |
8963 | reload_cmds=$lt_reload_cmds | |
8964 | ||
8965 | # How to pass a linker flag through the compiler. | |
8966 | wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) | |
8967 | ||
8968 | # Object file suffix (normally "o"). | |
8969 | objext="$ac_objext" | |
8970 | ||
8971 | # Old archive suffix (normally "a"). | |
8972 | libext="$libext" | |
8973 | ||
8974 | # Executable file suffix (normally ""). | |
8975 | exeext="$exeext" | |
8976 | ||
8977 | # Additional compiler flags for building library objects. | |
8978 | pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) | |
8979 | pic_mode=$pic_mode | |
8980 | ||
8981 | # What is the maximum length of a command? | |
8982 | max_cmd_len=$lt_cv_sys_max_cmd_len | |
8983 | ||
8984 | # Does compiler simultaneously support -c and -o options? | |
8985 | compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) | |
8986 | ||
8987 | # Must we lock files when doing compilation ? | |
8988 | need_locks=$lt_need_locks | |
8989 | ||
8990 | # Do we need the lib prefix for modules? | |
8991 | need_lib_prefix=$need_lib_prefix | |
8992 | ||
8993 | # Do we need a version for libraries? | |
8994 | need_version=$need_version | |
8995 | ||
8996 | # Whether dlopen is supported. | |
8997 | dlopen_support=$enable_dlopen | |
8998 | ||
8999 | # Whether dlopen of programs is supported. | |
9000 | dlopen_self=$enable_dlopen_self | |
9001 | ||
9002 | # Whether dlopen of statically linked programs is supported. | |
9003 | dlopen_self_static=$enable_dlopen_self_static | |
9004 | ||
9005 | # Compiler flag to prevent dynamic linking. | |
9006 | link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1) | |
9007 | ||
9008 | # Compiler flag to turn off builtin functions. | |
9009 | no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) | |
9010 | ||
9011 | # Compiler flag to allow reflexive dlopens. | |
9012 | export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1) | |
9013 | ||
9014 | # Compiler flag to generate shared objects directly from archives. | |
9015 | whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1) | |
9016 | ||
9017 | # Compiler flag to generate thread-safe objects. | |
9018 | thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1) | |
9019 | ||
9020 | # Library versioning type. | |
9021 | version_type=$version_type | |
9022 | ||
9023 | # Format of library name prefix. | |
9024 | libname_spec=$lt_libname_spec | |
9025 | ||
9026 | # List of archive names. First name is the real one, the rest are links. | |
9027 | # The last name is the one that the linker finds with -lNAME. | |
9028 | library_names_spec=$lt_library_names_spec | |
9029 | ||
9030 | # The coded name of the library, if different from the real name. | |
9031 | soname_spec=$lt_soname_spec | |
9032 | ||
9033 | # Commands used to build and install an old-style archive. | |
9034 | RANLIB=$lt_RANLIB | |
9035 | old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1) | |
9036 | old_postinstall_cmds=$lt_old_postinstall_cmds | |
9037 | old_postuninstall_cmds=$lt_old_postuninstall_cmds | |
9038 | ||
9039 | # Create an old-style archive from a shared archive. | |
9040 | old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | |
9041 | ||
9042 | # Create a temporary old-style archive to link instead of a shared archive. | |
9043 | old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | |
9044 | ||
9045 | # Commands used to build and install a shared archive. | |
9046 | archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1) | |
9047 | archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1) | |
9048 | postinstall_cmds=$lt_postinstall_cmds | |
9049 | postuninstall_cmds=$lt_postuninstall_cmds | |
9050 | ||
9051 | # Commands to strip libraries. | |
9052 | old_striplib=$lt_old_striplib | |
9053 | striplib=$lt_striplib | |
9054 | ||
9055 | # Dependencies to place before the objects being linked to create a | |
9056 | # shared library. | |
9057 | predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1) | |
9058 | ||
9059 | # Dependencies to place after the objects being linked to create a | |
9060 | # shared library. | |
9061 | postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1) | |
9062 | ||
9063 | # Dependencies to place before the objects being linked to create a | |
9064 | # shared library. | |
9065 | predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1) | |
9066 | ||
9067 | # Dependencies to place after the objects being linked to create a | |
9068 | # shared library. | |
9069 | postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1) | |
9070 | ||
9071 | # The library search path used internally by the compiler when linking | |
9072 | # a shared library. | |
9073 | compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1) | |
9074 | ||
9075 | # Method to check whether dependent libraries are shared objects. | |
9076 | deplibs_check_method=$lt_deplibs_check_method | |
9077 | ||
9078 | # Command to use when deplibs_check_method == file_magic. | |
9079 | file_magic_cmd=$lt_file_magic_cmd | |
9080 | ||
9081 | # Flag that allows shared libraries with undefined symbols to be built. | |
9082 | allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1) | |
9083 | ||
9084 | # Flag that forces no undefined symbols. | |
9085 | no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1) | |
9086 | ||
9087 | # Commands used to finish a libtool library installation in a directory. | |
9088 | finish_cmds=$lt_finish_cmds | |
9089 | ||
9090 | # Same as above, but a single script fragment to be evaled but not shown. | |
9091 | finish_eval=$lt_finish_eval | |
9092 | ||
9093 | # Take the output of nm and produce a listing of raw symbols and C names. | |
9094 | global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe | |
9095 | ||
9096 | # Transform the output of nm in a proper C declaration | |
9097 | global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl | |
9098 | ||
9099 | # Transform the output of nm in a C name address pair | |
9100 | global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address | |
9101 | ||
9102 | # This is the shared library runtime path variable. | |
9103 | runpath_var=$runpath_var | |
9104 | ||
9105 | # This is the shared library path variable. | |
9106 | shlibpath_var=$shlibpath_var | |
9107 | ||
9108 | # Is shlibpath searched before the hard-coded library search path? | |
9109 | shlibpath_overrides_runpath=$shlibpath_overrides_runpath | |
9110 | ||
9111 | # How to hardcode a shared library path into an executable. | |
9112 | hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1) | |
9113 | ||
9114 | # Whether we should hardcode library paths into libraries. | |
9115 | hardcode_into_libs=$hardcode_into_libs | |
9116 | ||
9117 | # Flag to hardcode \$libdir into a binary during linking. | |
9118 | # This must work even if \$libdir does not exist. | |
9119 | hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) | |
9120 | ||
9121 | # Whether we need a single -rpath flag with a separated argument. | |
9122 | hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1) | |
9123 | ||
9124 | # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the | |
9125 | # resulting binary. | |
9126 | hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1) | |
9127 | ||
9128 | # Set to yes if using the -LDIR flag during linking hardcodes DIR into the | |
9129 | # resulting binary. | |
9130 | hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1) | |
9131 | ||
9132 | # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into | |
9133 | # the resulting binary. | |
9134 | hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1) | |
9135 | ||
9136 | # Variables whose values should be saved in libtool wrapper scripts and | |
9137 | # restored at relink time. | |
9138 | variables_saved_for_relink="$variables_saved_for_relink" | |
9139 | ||
9140 | # Whether libtool must link a program against all its dependency libraries. | |
9141 | link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1) | |
9142 | ||
9143 | # Compile-time system search path for libraries | |
9144 | sys_lib_search_path_spec=$lt_sys_lib_search_path_spec | |
9145 | ||
9146 | # Run-time system search path for libraries | |
9147 | sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec | |
9148 | ||
9149 | # Fix the shell variable \$srcfile for the compiler. | |
9150 | fix_srcfile_path="$_LT_AC_TAGVAR(fix_srcfile_path, $1)" | |
9151 | ||
9152 | # Set to yes if exported symbols are required. | |
9153 | always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1) | |
9154 | ||
9155 | # The commands to list exported symbols. | |
9156 | export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1) | |
9157 | ||
9158 | # The commands to extract the exported symbol list from a shared archive. | |
9159 | extract_expsyms_cmds=$lt_extract_expsyms_cmds | |
9160 | ||
9161 | # Symbols that should not be listed in the preloaded symbols. | |
9162 | exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1) | |
9163 | ||
9164 | # Symbols that must always be exported. | |
9165 | include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1) | |
9166 | ||
9167 | ifelse([$1],[], | |
9168 | [# ### END LIBTOOL CONFIG], | |
9169 | [# ### END LIBTOOL TAG CONFIG: $tagname]) | |
9170 | ||
9171 | __EOF__ | |
9172 | ||
9173 | ifelse([$1],[], [ | |
9174 | case $host_os in | |
9175 | aix3*) | |
9176 | cat <<\EOF >> "$cfgfile" | |
9177 | ||
9178 | # AIX sometimes has problems with the GCC collect2 program. For some | |
9179 | # reason, if we set the COLLECT_NAMES environment variable, the problems | |
9180 | # vanish in a puff of smoke. | |
9181 | if test "X${COLLECT_NAMES+set}" != Xset; then | |
9182 | COLLECT_NAMES= | |
9183 | export COLLECT_NAMES | |
9184 | fi | |
9185 | EOF | |
9186 | ;; | |
9187 | ||
9188 | cygwin* | mingw* | pw32* | os2*) | |
9189 | cat <<'EOF' >> "$cfgfile" | |
9190 | # This is a source program that is used to create dlls on Windows | |
9191 | # Don't remove nor modify the starting and closing comments | |
9192 | _LT_AC_FILE_LTDLL_C | |
9193 | # This is a source program that is used to create import libraries | |
9194 | # on Windows for dlls which lack them. Don't remove nor modify the | |
9195 | # starting and closing comments | |
9196 | _LT_AC_FILE_IMPGEN_C | |
9197 | EOF | |
9198 | ;; | |
9199 | esac | |
9200 | ||
9201 | # We use sed instead of cat because bash on DJGPP gets confused if | |
9202 | # if finds mixed CR/LF and LF-only lines. Since sed operates in | |
9203 | # text mode, it properly converts lines to CR/LF. This bash problem | |
9204 | # is reportedly fixed, but why not run on old versions too? | |
9205 | sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1) | |
9206 | ||
9207 | mv -f "$cfgfile" "$ofile" || \ | |
9208 | (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") | |
9209 | chmod +x "$ofile" | |
9210 | ]) | |
9211 | else | |
9212 | # If there is no Makefile yet, we rely on a make rule to execute | |
9213 | # `config.status --recheck' to rerun these tests and create the | |
9214 | # libtool script then. | |
9215 | test -f Makefile && make "$ltmain" | |
9216 | fi | |
9217 | ])# AC_LIBTOOL_CONFIG | |
9218 | ||
9219 | ||
9220 | # AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME]) | |
9221 | # ------------------------------------------- | |
9222 | AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], | |
9223 | [AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl | |
9224 | ||
9225 | _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= | |
9226 | ||
9227 | if test "$GCC" = yes; then | |
9228 | _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' | |
9229 | ||
9230 | AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], | |
9231 | lt_cv_prog_compiler_rtti_exceptions, | |
9232 | [-fno-rtti -fno-exceptions -c conftest.$ac_ext], [], | |
9233 | [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) | |
9234 | fi | |
9235 | ])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI | |
9236 | ||
9237 | ||
9238 | # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE | |
9239 | # --------------------------------- | |
9240 | AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], | |
9241 | [AC_REQUIRE([AC_CANONICAL_HOST]) | |
9242 | AC_REQUIRE([AC_PROG_NM]) | |
9243 | AC_REQUIRE([AC_OBJEXT]) | |
9244 | # Check for command to grab the raw symbol name followed by C symbol from nm. | |
9245 | AC_MSG_CHECKING([command to parse $NM output from $compiler object]) | |
9246 | AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], | |
9247 | [ | |
9248 | # These are sane defaults that work on at least a few old systems. | |
9249 | # [They come from Ultrix. What could be older than Ultrix?!! ;)] | |
9250 | ||
9251 | # Character class describing NM global symbol codes. | |
9252 | symcode='[[BCDEGRST]]' | |
9253 | ||
9254 | # Regexp to match symbols that can be accessed directly from C. | |
9255 | sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' | |
9256 | ||
9257 | # Transform the above into a raw symbol and a C symbol. | |
9258 | symxfrm='\1 \2\3 \3' | |
9259 | ||
9260 | # Transform an extracted symbol line into a proper C declaration | |
9261 | lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'" | |
9262 | ||
9263 | # Transform an extracted symbol line into symbol name and symbol address | |
9264 | lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" | |
9265 | ||
9266 | # Define system-specific variables. | |
9267 | case $host_os in | |
9268 | aix*) | |
9269 | symcode='[[BCDT]]' | |
9270 | ;; | |
9271 | cygwin* | mingw* | pw32*) | |
9272 | symcode='[[ABCDGISTW]]' | |
9273 | ;; | |
9274 | hpux*) # Its linker distinguishes data from code symbols | |
9275 | if test "$host_cpu" = ia64; then | |
9276 | symcode='[[ABCDEGRST]]' | |
9277 | fi | |
9278 | lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" | |
9279 | lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (lt_ptr) \&\2},/p'" | |
9280 | ;; | |
9281 | irix* | nonstopux*) | |
9282 | symcode='[[BCDEGRST]]' | |
9283 | ;; | |
9284 | solaris* | sysv5*) | |
9285 | symcode='[[BDT]]' | |
9286 | ;; | |
9287 | sysv4) | |
9288 | symcode='[[DFNSTU]]' | |
9289 | ;; | |
9290 | esac | |
9291 | ||
9292 | # Handle CRLF in mingw tool chain | |
9293 | opt_cr= | |
9294 | case $host_os in | |
9295 | mingw*) | |
9296 | opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp | |
9297 | ;; | |
9298 | esac | |
9299 | ||
9300 | # If we're using GNU nm, then use its standard symbol codes. | |
9301 | if $NM -V 2>&1 | egrep '(GNU|with BFD)' > /dev/null; then | |
9302 | symcode='[[ABCDGISTW]]' | |
9303 | fi | |
9304 | ||
9305 | # Try without a prefix undercore, then with it. | |
9306 | for ac_symprfx in "" "_"; do | |
9307 | ||
9308 | # Write the raw and C identifiers. | |
9309 | lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*\($ac_symprfx\)$sympat$opt_cr$/$symxfrm/p'" | |
9310 | ||
9311 | # Check to see that the pipe works correctly. | |
9312 | pipe_works=no | |
9313 | ||
9314 | rm -f conftest* | |
9315 | cat > conftest.$ac_ext <<EOF | |
9316 | #ifdef __cplusplus | |
9317 | extern "C" { | |
9318 | #endif | |
9319 | char nm_test_var; | |
9320 | void nm_test_func(){} | |
9321 | #ifdef __cplusplus | |
9322 | } | |
9323 | #endif | |
9324 | int main(){nm_test_var='a';nm_test_func();return(0);} | |
9325 | EOF | |
9326 | ||
9327 | if AC_TRY_EVAL(ac_compile); then | |
9328 | # Now try to grab the symbols. | |
9329 | nlist=conftest.nm | |
9330 | if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then | |
9331 | # Try sorting and uniquifying the output. | |
9332 | if sort "$nlist" | uniq > "$nlist"T; then | |
9333 | mv -f "$nlist"T "$nlist" | |
9334 | else | |
9335 | rm -f "$nlist"T | |
9336 | fi | |
9337 | ||
9338 | # Make sure that we snagged all the symbols we need. | |
9339 | if egrep ' nm_test_var$' "$nlist" >/dev/null; then | |
9340 | if egrep ' nm_test_func$' "$nlist" >/dev/null; then | |
9341 | cat <<EOF > conftest.$ac_ext | |
9342 | #ifdef __cplusplus | |
9343 | extern "C" { | |
9344 | #endif | |
9345 | ||
9346 | EOF | |
9347 | # Now generate the symbol file. | |
9348 | eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext' | |
9349 | ||
9350 | cat <<EOF >> conftest.$ac_ext | |
9351 | #if defined (__STDC__) && __STDC__ | |
9352 | # define lt_ptr_t void * | |
9353 | #else | |
9354 | # define lt_ptr_t char * | |
9355 | # define const | |
9356 | #endif | |
9357 | ||
9358 | /* The mapping between symbol names and symbols. */ | |
9359 | const struct { | |
9360 | const char *name; | |
9361 | lt_ptr_t address; | |
9362 | } | |
9363 | lt_preloaded_symbols[[]] = | |
9364 | { | |
9365 | EOF | |
9366 | sed "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext | |
9367 | cat <<\EOF >> conftest.$ac_ext | |
9368 | {0, (lt_ptr_t) 0} | |
9369 | }; | |
9370 | ||
9371 | #ifdef __cplusplus | |
9372 | } | |
9373 | #endif | |
9374 | EOF | |
9375 | # Now try linking the two files. | |
9376 | mv conftest.$ac_objext conftstm.$ac_objext | |
9377 | lt_save_LIBS="$LIBS" | |
9378 | lt_save_CFLAGS="$CFLAGS" | |
9379 | LIBS="conftstm.$ac_objext" | |
9380 | CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" | |
9381 | if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then | |
9382 | pipe_works=yes | |
9383 | fi | |
9384 | LIBS="$lt_save_LIBS" | |
9385 | CFLAGS="$lt_save_CFLAGS" | |
9386 | else | |
9387 | echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD | |
9388 | fi | |
9389 | else | |
9390 | echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD | |
9391 | fi | |
9392 | else | |
9393 | echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD | |
9394 | fi | |
9395 | else | |
9396 | echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD | |
9397 | cat conftest.$ac_ext >&5 | |
9398 | fi | |
9399 | rm -f conftest* conftst* | |
9400 | ||
9401 | # Do not use the global_symbol_pipe unless it works. | |
9402 | if test "$pipe_works" = yes; then | |
9403 | break | |
9404 | else | |
9405 | lt_cv_sys_global_symbol_pipe= | |
9406 | fi | |
9407 | done | |
9408 | ]) | |
9409 | if test -z "$lt_cv_sys_global_symbol_pipe"; then | |
9410 | lt_cv_sys_global_symbol_to_cdecl= | |
9411 | fi | |
9412 | if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then | |
9413 | AC_MSG_RESULT(failed) | |
9414 | else | |
9415 | AC_MSG_RESULT(ok) | |
9416 | fi | |
9417 | ]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE | |
9418 | ||
9419 | ||
9420 | # AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME]) | |
9421 | # --------------------------------------- | |
9422 | AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC], | |
9423 | [_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)= | |
9424 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= | |
9425 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)= | |
9426 | ||
9427 | AC_MSG_CHECKING([for $compiler option to produce PIC]) | |
9428 | ifelse([$1],[CXX],[ | |
9429 | # C++ specific cases for pic, static, wl, etc. | |
9430 | if test "$GXX" = yes; then | |
9431 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9432 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' | |
9433 | ||
9434 | case $host_os in | |
9435 | aix*) | |
9436 | # All AIX code is PIC. | |
9437 | if test "$host_cpu" = ia64; then | |
9438 | # AIX 5 now supports IA64 processor | |
9439 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9440 | fi | |
9441 | ;; | |
9442 | amigaos*) | |
9443 | # FIXME: we need at least 68020 code to build shared libraries, but | |
9444 | # adding the `-m68020' flag to GCC prevents building anything better, | |
9445 | # like `-m68040'. | |
9446 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' | |
9447 | ;; | |
9448 | beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) | |
9449 | # PIC is the default for these OSes. | |
9450 | ;; | |
9451 | cygwin* | mingw* | os2*) | |
9452 | # This hack is so that the source file can tell whether it is being | |
9453 | # built for inclusion in a dll (and should export symbols for example). | |
9454 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' | |
9455 | ;; | |
9456 | darwin* | rhapsody*) | |
9457 | # PIC is the default on this platform | |
9458 | # Common symbols not allowed in MH_DYLIB files | |
9459 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' | |
9460 | ;; | |
9461 | *djgpp*) | |
9462 | # DJGPP does not support shared libraries at all | |
9463 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= | |
9464 | ;; | |
9465 | sysv4*MP*) | |
9466 | if test -d /usr/nec; then | |
9467 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic | |
9468 | fi | |
9469 | ;; | |
9470 | hpux*) | |
9471 | # PIC is the default for IA64 HP-UX, but not for PA HP-UX. | |
9472 | if test "$host_cpu" != ia64; then | |
9473 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | |
9474 | fi | |
9475 | ;; | |
9476 | *) | |
9477 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | |
9478 | ;; | |
9479 | esac | |
9480 | else | |
9481 | case $host_os in | |
9482 | aix4* | aix5*) | |
9483 | # All AIX code is PIC. | |
9484 | if test "$host_cpu" = ia64; then | |
9485 | # AIX 5 now supports IA64 processor | |
9486 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9487 | else | |
9488 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' | |
9489 | fi | |
9490 | ;; | |
9491 | chorus*) | |
9492 | case $cc_basename in | |
9493 | cxch68) | |
9494 | # Green Hills C++ Compiler | |
9495 | # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" | |
9496 | ;; | |
9497 | esac | |
9498 | ;; | |
9499 | dgux*) | |
9500 | case $cc_basename in | |
9501 | ec++) | |
9502 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | |
9503 | ;; | |
9504 | ghcx) | |
9505 | # Green Hills C++ Compiler | |
9506 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | |
9507 | ;; | |
9508 | *) | |
9509 | ;; | |
9510 | esac | |
9511 | ;; | |
9512 | freebsd*) | |
9513 | # FreeBSD uses GNU C++ | |
9514 | ;; | |
9515 | hpux9* | hpux10* | hpux11*) | |
9516 | case $cc_basename in | |
9517 | CC) | |
9518 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9519 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" | |
9520 | if test "$host_cpu" != ia64; then | |
9521 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | |
9522 | fi | |
9523 | ;; | |
9524 | aCC) | |
9525 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9526 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" | |
9527 | if test "$host_cpu" != ia64; then | |
9528 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | |
9529 | fi | |
9530 | ;; | |
9531 | *) | |
9532 | ;; | |
9533 | esac | |
9534 | ;; | |
9535 | irix5* | irix6* | nonstopux*) | |
9536 | case $cc_basename in | |
9537 | CC) | |
9538 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9539 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | |
9540 | # CC pic flag -KPIC is the default. | |
9541 | ;; | |
9542 | *) | |
9543 | ;; | |
9544 | esac | |
9545 | ;; | |
9546 | linux*) | |
9547 | case $cc_basename in | |
9548 | KCC) | |
9549 | # KAI C++ Compiler | |
9550 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' | |
9551 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | |
9552 | ;; | |
9553 | cxx) | |
9554 | # Compaq C++ | |
9555 | # Make sure the PIC flag is empty. It appears that all Alpha | |
9556 | # Linux and Compaq Tru64 Unix objects are PIC. | |
9557 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= | |
9558 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | |
9559 | ;; | |
9560 | *) | |
9561 | ;; | |
9562 | esac | |
9563 | ;; | |
9564 | lynxos*) | |
9565 | ;; | |
9566 | m88k*) | |
9567 | ;; | |
9568 | mvs*) | |
9569 | case $cc_basename in | |
9570 | cxx) | |
9571 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' | |
9572 | ;; | |
9573 | *) | |
9574 | ;; | |
9575 | esac | |
9576 | ;; | |
9577 | netbsd*) | |
9578 | ;; | |
9579 | osf3* | osf4* | osf5*) | |
9580 | case $cc_basename in | |
9581 | KCC) | |
9582 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' | |
9583 | ;; | |
9584 | RCC) | |
9585 | # Rational C++ 2.4.1 | |
9586 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | |
9587 | ;; | |
9588 | cxx) | |
9589 | # Digital/Compaq C++ | |
9590 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9591 | # Make sure the PIC flag is empty. It appears that all Alpha | |
9592 | # Linux and Compaq Tru64 Unix objects are PIC. | |
9593 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= | |
9594 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | |
9595 | ;; | |
9596 | *) | |
9597 | ;; | |
9598 | esac | |
9599 | ;; | |
9600 | psos*) | |
9601 | ;; | |
9602 | sco*) | |
9603 | case $cc_basename in | |
9604 | CC) | |
9605 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | |
9606 | ;; | |
9607 | *) | |
9608 | ;; | |
9609 | esac | |
9610 | ;; | |
9611 | solaris*) | |
9612 | case $cc_basename in | |
9613 | CC) | |
9614 | # Sun C++ 4.2, 5.x and Centerline C++ | |
9615 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | |
9616 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9617 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | |
9618 | ;; | |
9619 | gcx) | |
9620 | # Green Hills C++ Compiler | |
9621 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' | |
9622 | ;; | |
9623 | *) | |
9624 | ;; | |
9625 | esac | |
9626 | ;; | |
9627 | sunos4*) | |
9628 | case $cc_basename in | |
9629 | CC) | |
9630 | # Sun C++ 4.x | |
9631 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | |
9632 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9633 | ;; | |
9634 | lcc) | |
9635 | # Lucid | |
9636 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | |
9637 | ;; | |
9638 | *) | |
9639 | ;; | |
9640 | esac | |
9641 | ;; | |
9642 | tandem*) | |
9643 | case $cc_basename in | |
9644 | NCC) | |
9645 | # NonStop-UX NCC 3.20 | |
9646 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | |
9647 | ;; | |
9648 | *) | |
9649 | ;; | |
9650 | esac | |
9651 | ;; | |
9652 | unixware*) | |
9653 | ;; | |
9654 | vxworks*) | |
9655 | ;; | |
9656 | *) | |
9657 | _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | |
9658 | ;; | |
9659 | esac | |
9660 | fi | |
9661 | ], | |
9662 | [ | |
9663 | if test "$GCC" = yes; then | |
9664 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9665 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static' | |
9666 | ||
9667 | case $host_os in | |
9668 | aix*) | |
9669 | # All AIX code is PIC. | |
9670 | if test "$host_cpu" = ia64; then | |
9671 | # AIX 5 now supports IA64 processor | |
9672 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9673 | fi | |
9674 | ;; | |
9675 | ||
9676 | amigaos*) | |
9677 | # FIXME: we need at least 68020 code to build shared libraries, but | |
9678 | # adding the `-m68020' flag to GCC prevents building anything better, | |
9679 | # like `-m68040'. | |
9680 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' | |
9681 | ;; | |
9682 | ||
9683 | beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) | |
9684 | # PIC is the default for these OSes. | |
9685 | ;; | |
9686 | ||
9687 | cygwin* | mingw* | pw32* | os2*) | |
9688 | # This hack is so that the source file can tell whether it is being | |
9689 | # built for inclusion in a dll (and should export symbols for example). | |
9690 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' | |
9691 | ;; | |
9692 | ||
9693 | darwin* | rhapsody*) | |
9694 | # PIC is the default on this platform | |
9695 | # Common symbols not allowed in MH_DYLIB files | |
9696 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' | |
9697 | ;; | |
9698 | ||
9699 | msdosdjgpp*) | |
9700 | # Just because we use GCC doesn't mean we suddenly get shared libraries | |
9701 | # on systems that don't support them. | |
9702 | _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | |
9703 | enable_shared=no | |
9704 | ;; | |
9705 | ||
9706 | sysv4*MP*) | |
9707 | if test -d /usr/nec; then | |
9708 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic | |
9709 | fi | |
9710 | ;; | |
9711 | ||
9712 | hpux*) | |
9713 | # PIC is the default for IA64 HP-UX, but not for PA HP-UX. | |
9714 | if test "$host_cpu" != ia64; then | |
9715 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | |
9716 | fi | |
9717 | ;; | |
9718 | ||
9719 | *) | |
9720 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | |
9721 | ;; | |
9722 | esac | |
9723 | else | |
9724 | # PORTME Check for flag to pass linker flags through the system compiler. | |
9725 | case $host_os in | |
9726 | aix*) | |
9727 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9728 | if test "$host_cpu" = ia64; then | |
9729 | # AIX 5 now supports IA64 processor | |
9730 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9731 | else | |
9732 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' | |
9733 | fi | |
9734 | ;; | |
9735 | ||
9736 | cygwin* | mingw* | pw32* | os2*) | |
9737 | # This hack is so that the source file can tell whether it is being | |
9738 | # built for inclusion in a dll (and should export symbols for example). | |
9739 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' | |
9740 | ;; | |
9741 | ||
9742 | hpux9* | hpux10* | hpux11*) | |
9743 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9744 | if test "$host_cpu" != ia64; then | |
9745 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | |
9746 | fi | |
9747 | # Is there a better lt_prog_compiler_static that works with the bundled CC? | |
9748 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' | |
9749 | ;; | |
9750 | ||
9751 | irix5* | irix6* | nonstopux*) | |
9752 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9753 | # PIC (with -KPIC) is the default. | |
9754 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | |
9755 | ;; | |
9756 | ||
9757 | newsos6) | |
9758 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | |
9759 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9760 | ;; | |
9761 | ||
9762 | osf3* | osf4* | osf5*) | |
9763 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9764 | # All OSF/1 code is PIC. | |
9765 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | |
9766 | ;; | |
9767 | ||
9768 | sco3.2v5*) | |
9769 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' | |
9770 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' | |
9771 | ;; | |
9772 | ||
9773 | solaris*) | |
9774 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9775 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | |
9776 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9777 | ;; | |
9778 | ||
9779 | sunos4*) | |
9780 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | |
9781 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' | |
9782 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9783 | ;; | |
9784 | ||
9785 | sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | |
9786 | if test "x$host_vendor" = xsni; then | |
9787 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-LD' | |
9788 | else | |
9789 | _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | |
9790 | fi | |
9791 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | |
9792 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9793 | ;; | |
9794 | ||
9795 | sysv4*MP*) | |
9796 | if test -d /usr/nec ;then | |
9797 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' | |
9798 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9799 | fi | |
9800 | ;; | |
9801 | ||
9802 | uts4*) | |
9803 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | |
9804 | _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | |
9805 | ;; | |
9806 | ||
9807 | *) | |
9808 | _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | |
9809 | ;; | |
9810 | esac | |
9811 | fi | |
9812 | ]) | |
9813 | AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)]) | |
9814 | ||
9815 | # | |
9816 | # Check to make sure the PIC flag actually works. | |
9817 | # | |
9818 | if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then | |
9819 | AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works], | |
9820 | _LT_AC_TAGVAR(lt_prog_compiler_pic_works, $1), | |
9821 | [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC], [], | |
9822 | [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in | |
9823 | "" | " "*) ;; | |
9824 | *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;; | |
9825 | esac], | |
9826 | [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= | |
9827 | _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) | |
9828 | fi | |
9829 | case "$host_os" in | |
9830 | # For platforms which do not support PIC, -DPIC is meaningless: | |
9831 | *djgpp*) | |
9832 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= | |
9833 | ;; | |
9834 | *) | |
9835 | _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) -DPIC" | |
9836 | ;; | |
9837 | esac | |
9838 | ]) | |
9839 | ||
9840 | ||
9841 | # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) | |
9842 | # ------------------------------------ | |
9843 | # See if the linker supports building shared libraries. | |
9844 | AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], | |
9845 | [AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) | |
9846 | ifelse([$1],[CXX],[ | |
9847 | _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' | |
9848 | case $host_os in | |
9849 | aix4* | aix5*) | |
9850 | # If we're using GNU nm, then we don't want the "-C" option. | |
9851 | # -C means demangle to AIX nm, but means don't demangle with GNU nm | |
9852 | if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then | |
9853 | _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' | |
9854 | else | |
9855 | _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' | |
9856 | fi | |
9857 | ;; | |
9858 | cygwin* | mingw* | pw32*) | |
9859 | _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" | |
9860 | ;; | |
9861 | *) | |
9862 | _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' | |
9863 | ;; | |
9864 | esac | |
9865 | ],[ | |
9866 | runpath_var= | |
9867 | _LT_AC_TAGVAR(allow_undefined_flag, $1)= | |
9868 | ||
9869 | _LT_AC_TAGVAR(archive_cmds, $1)= | |
9870 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)= | |
9871 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)= | |
9872 | _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)= | |
9873 | _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)= | |
9874 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= | |
9875 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= | |
9876 | _LT_AC_TAGVAR(thread_safe_flag_spec, $1)= | |
9877 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= | |
9878 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= | |
9879 | _LT_AC_TAGVAR(hardcode_direct, $1)=no | |
9880 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=no | |
9881 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | |
9882 | _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown | |
9883 | _LT_AC_TAGVAR(always_export_symbols, $1)=no | |
9884 | _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | sed '\''s/.* //'\'' | sort | uniq > $export_symbols' | |
9885 | # include_expsyms should be a list of space-separated symbols to be *always* | |
9886 | # included in the symbol list | |
9887 | _LT_AC_TAGVAR(include_expsyms, $1)= | |
9888 | # exclude_expsyms can be an egrep regular expression of symbols to exclude | |
9889 | # it will be wrapped by ` (' and `)$', so one must not match beginning or | |
9890 | # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', | |
9891 | # as well as any symbol that contains `d'. | |
9892 | _LT_AC_TAGVAR(exclude_expsyms, $1)="_GLOBAL_OFFSET_TABLE_" | |
9893 | # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out | |
9894 | # platforms (ab)use it in PIC code, but their linkers get confused if | |
9895 | # the symbol is explicitly referenced. Since portable code cannot | |
9896 | # rely on this symbol name, it's probably fine to never include it in | |
9897 | # preloaded symbol tables. | |
9898 | extract_expsyms_cmds= | |
9899 | ||
9900 | case $host_os in | |
9901 | cygwin* | mingw* | pw32*) | |
9902 | # FIXME: the MSVC++ port hasn't been tested in a loooong time | |
9903 | # When not using gcc, we currently assume that we are using | |
9904 | # Microsoft Visual C++. | |
9905 | if test "$GCC" != yes; then | |
9906 | with_gnu_ld=no | |
9907 | fi | |
9908 | ;; | |
9909 | openbsd*) | |
9910 | with_gnu_ld=no | |
9911 | ;; | |
9912 | esac | |
9913 | ||
9914 | _LT_AC_TAGVAR(ld_shlibs, $1)=yes | |
9915 | if test "$with_gnu_ld" = yes; then | |
9916 | # If archive_cmds runs LD, not CC, wlarc should be empty | |
9917 | wlarc='${wl}' | |
9918 | ||
9919 | # See if GNU ld supports shared libraries. | |
9920 | case $host_os in | |
9921 | aix3* | aix4* | aix5*) | |
9922 | # On AIX/PPC, the GNU linker is very broken | |
9923 | if test "$host_cpu" != ia64; then | |
9924 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
9925 | cat <<EOF 1>&2 | |
9926 | ||
9927 | *** Warning: the GNU linker, at least up to release 2.9.1, is reported | |
9928 | *** to be unable to reliably create shared libraries on AIX. | |
9929 | *** Therefore, libtool is disabling shared libraries support. If you | |
9930 | *** really care for shared libraries, you may want to modify your PATH | |
9931 | *** so that a non-GNU linker is found, and then restart. | |
9932 | ||
9933 | EOF | |
9934 | fi | |
9935 | ;; | |
9936 | ||
9937 | amigaos*) | |
9938 | _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' | |
9939 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
9940 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes | |
9941 | ||
9942 | # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports | |
9943 | # that the semantics of dynamic libraries on AmigaOS, at least up | |
9944 | # to version 4, is to share data among multiple programs linked | |
9945 | # with the same dynamic library. Since this doesn't match the | |
9946 | # behavior of shared libraries on other platforms, we can't use | |
9947 | # them. | |
9948 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
9949 | ;; | |
9950 | ||
9951 | beos*) | |
9952 | if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then | |
9953 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported | |
9954 | # Joseph Beckenbach <jrb3@best.com> says some releases of gcc | |
9955 | # support --undefined. This deserves some investigation. FIXME | |
9956 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | |
9957 | else | |
9958 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
9959 | fi | |
9960 | ;; | |
9961 | ||
9962 | cygwin* | mingw* | pw32*) | |
9963 | # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, as there is | |
9964 | # no search path for DLLs. | |
9965 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
9966 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported | |
9967 | _LT_AC_TAGVAR(always_export_symbols, $1)=yes | |
9968 | ||
9969 | extract_expsyms_cmds='test -f $output_objdir/impgen.c || \ | |
9970 | sed -e "/^# \/\* impgen\.c starts here \*\//,/^# \/\* impgen.c ends here \*\// { s/^# //;s/^# *$//; p; }" -e d < $''0 > $output_objdir/impgen.c~ | |
9971 | test -f $output_objdir/impgen.exe || (cd $output_objdir && \ | |
9972 | if test "x$HOST_CC" != "x" ; then $HOST_CC -o impgen impgen.c ; \ | |
9973 | else $CC -o impgen impgen.c ; fi)~ | |
9974 | $output_objdir/impgen $dir/$soroot > $output_objdir/$soname-def' | |
9975 | ||
9976 | _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)='$DLLTOOL --as=$AS --dllname $soname --def $output_objdir/$soname-def --output-lib $output_objdir/$newlib' | |
9977 | ||
9978 | # cygwin and mingw dlls have different entry points and sets of symbols | |
9979 | # to exclude. | |
9980 | # FIXME: what about values for MSVC? | |
9981 | dll_entry=__cygwin_dll_entry@12 | |
9982 | dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12~ | |
9983 | case $host_os in | |
9984 | mingw*) | |
9985 | # mingw values | |
9986 | dll_entry=_DllMainCRTStartup@12 | |
9987 | dll_exclude_symbols=DllMain@12,DllMainCRTStartup@12,DllEntryPoint@12~ | |
9988 | ;; | |
9989 | esac | |
9990 | ||
9991 | # mingw and cygwin differ, and it's simplest to just exclude the union | |
9992 | # of the two symbol sets. | |
9993 | dll_exclude_symbols=DllMain@12,_cygwin_dll_entry@12,_cygwin_noncygwin_dll_entry@12,DllMainCRTStartup@12,DllEntryPoint@12 | |
9994 | ||
9995 | # recent cygwin and mingw systems supply a stub DllMain which the user | |
9996 | # can override, but on older systems we have to supply one (in ltdll.c) | |
9997 | if test "x$lt_cv_need_dllmain" = "xyes"; then | |
9998 | ltdll_obj='$output_objdir/$soname-ltdll.'"$ac_objext " | |
9999 | ltdll_cmds='test -f $output_objdir/$soname-ltdll.c || sed -e "/^# \/\* ltdll\.c starts here \*\//,/^# \/\* ltdll.c ends here \*\// { s/^# //; p; }" -e d < $''0 > $output_objdir/$soname-ltdll.c~ | |
10000 | test -f $output_objdir/$soname-ltdll.$ac_objext || (cd $output_objdir && $CC -c $soname-ltdll.c)~' | |
10001 | else | |
10002 | ltdll_obj= | |
10003 | ltdll_cmds= | |
10004 | fi | |
10005 | ||
10006 | # Extract the symbol export list from an `--export-all' def file, | |
10007 | # then regenerate the def file from the symbol export list, so that | |
10008 | # the compiled dll only exports the symbol export list. | |
10009 | # Be careful not to strip the DATA tag left by newer dlltools. | |
10010 | _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"' | |
10011 | $DLLTOOL --export-all --exclude-symbols '$dll_exclude_symbols' --output-def $output_objdir/$soname-def '$ltdll_obj'$libobjs $convenience~ | |
10012 | sed -e "1,/EXPORTS/d" -e "s/ @ [[0-9]]*//" -e "s/ *;.*$//" < $output_objdir/$soname-def > $export_symbols' | |
10013 | ||
10014 | # If the export-symbols file already is a .def file (1st line | |
10015 | # is EXPORTS), use it as is. | |
10016 | # If DATA tags from a recent dlltool are present, honour them! | |
10017 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`head -1 $export_symbols`" = xEXPORTS; then | |
10018 | cp $export_symbols $output_objdir/$soname-def; | |
10019 | else | |
10020 | echo EXPORTS > $output_objdir/$soname-def; | |
10021 | _lt_hint=1; | |
10022 | cat $export_symbols | while read symbol; do | |
10023 | set dummy \$symbol; | |
10024 | case \[$]# in | |
10025 | 2) echo " \[$]2 @ \$_lt_hint ; " >> $output_objdir/$soname-def;; | |
10026 | *) echo " \[$]2 @ \$_lt_hint \[$]3 ; " >> $output_objdir/$soname-def;; | |
10027 | esac; | |
10028 | _lt_hint=`expr 1 + \$_lt_hint`; | |
10029 | done; | |
10030 | fi~ | |
10031 | '"$ltdll_cmds"' | |
10032 | $CC -Wl,--base-file,$output_objdir/$soname-base '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ | |
10033 | $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp~ | |
10034 | $CC -Wl,--base-file,$output_objdir/$soname-base $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags~ | |
10035 | $DLLTOOL --as=$AS --dllname $soname --exclude-symbols '$dll_exclude_symbols' --def $output_objdir/$soname-def --base-file $output_objdir/$soname-base --output-exp $output_objdir/$soname-exp --output-lib $output_objdir/$libname.dll.a~ | |
10036 | $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags' | |
10037 | ;; | |
10038 | ||
10039 | netbsd*) | |
10040 | if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then | |
10041 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' | |
10042 | wlarc= | |
10043 | else | |
10044 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | |
10045 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nodefaultlibs $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | |
10046 | fi | |
10047 | ;; | |
10048 | ||
10049 | solaris* | sysv5*) | |
10050 | if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then | |
10051 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
10052 | cat <<EOF 1>&2 | |
10053 | ||
10054 | *** Warning: The releases 2.8.* of the GNU linker cannot reliably | |
10055 | *** create shared libraries on Solaris systems. Therefore, libtool | |
10056 | *** is disabling shared libraries support. We urge you to upgrade GNU | |
10057 | *** binutils to release 2.9.1 or newer. Another option is to modify | |
10058 | *** your PATH or compiler configuration so that the native linker is | |
10059 | *** used, and then restart. | |
10060 | ||
10061 | EOF | |
10062 | elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then | |
10063 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | |
10064 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | |
10065 | else | |
10066 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
10067 | fi | |
10068 | ;; | |
10069 | ||
10070 | sunos4*) | |
10071 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' | |
10072 | wlarc= | |
10073 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10074 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10075 | ;; | |
10076 | ||
10077 | *) | |
10078 | if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then | |
10079 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | |
10080 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | |
10081 | else | |
10082 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
10083 | fi | |
10084 | ;; | |
10085 | esac | |
10086 | ||
10087 | if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = yes; then | |
10088 | runpath_var=LD_RUN_PATH | |
10089 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' | |
10090 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | |
10091 | case $host_os in | |
10092 | cygwin* | mingw* | pw32*) | |
10093 | # dlltool doesn't understand --whole-archive et. al. | |
10094 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= | |
10095 | ;; | |
10096 | *) | |
10097 | # ancient GNU ld didn't support --whole-archive et. al. | |
10098 | if $LD --help 2>&1 | egrep 'no-whole-archive' > /dev/null; then | |
10099 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | |
10100 | else | |
10101 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= | |
10102 | fi | |
10103 | ;; | |
10104 | esac | |
10105 | fi | |
10106 | else | |
10107 | # PORTME fill in a description of your system's linker (not GNU ld) | |
10108 | case $host_os in | |
10109 | aix3*) | |
10110 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported | |
10111 | _LT_AC_TAGVAR(always_export_symbols, $1)=yes | |
10112 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' | |
10113 | # Note: this linker hardcodes the directories in LIBPATH if there | |
10114 | # are no directories specified by -L. | |
10115 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes | |
10116 | if test "$GCC" = yes && test -z "$link_static_flag"; then | |
10117 | # Neither direct hardcoding nor static linking is supported with a | |
10118 | # broken collect2. | |
10119 | _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported | |
10120 | fi | |
10121 | ;; | |
10122 | ||
10123 | aix4* | aix5*) | |
10124 | if test "$host_cpu" = ia64; then | |
10125 | # On IA64, the linker does run time linking by default, so we don't | |
10126 | # have to do anything special. | |
10127 | aix_use_runtimelinking=no | |
10128 | exp_sym_flag='-Bexport' | |
10129 | no_entry_flag="" | |
10130 | else | |
10131 | # If we're using GNU nm, then we don't want the "-C" option. | |
10132 | # -C means demangle to AIX nm, but means don't demangle with GNU nm | |
10133 | if $NM -V 2>&1 | egrep '(GNU)' > /dev/null; then | |
10134 | _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' | |
10135 | else | |
10136 | _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols' | |
10137 | fi | |
10138 | ||
10139 | # KDE requires run time linking. Make it the default. | |
10140 | aix_use_runtimelinking=yes | |
10141 | exp_sym_flag='-bexport' | |
10142 | no_entry_flag='-bnoentry' | |
10143 | fi | |
10144 | ||
10145 | # When large executables or shared objects are built, AIX ld can | |
10146 | # have problems creating the table of contents. If linking a library | |
10147 | # or program results in "error TOC overflow" add -mminimal-toc to | |
10148 | # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not | |
10149 | # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. | |
10150 | ||
10151 | _LT_AC_TAGVAR(archive_cmds, $1)='' | |
10152 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10153 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' | |
10154 | _LT_AC_TAGVAR(link_all_deplibs, $1)=yes | |
10155 | ||
10156 | if test "$GCC" = yes; then | |
10157 | case $host_os in aix4.[012]|aix4.[012].*) | |
10158 | # We only want to do this on AIX 4.2 and lower, the check | |
10159 | # below for broken collect2 doesn't work under 4.3+ | |
10160 | collect2name=`${CC} -print-prog-name=collect2` | |
10161 | if test -f "$collect2name" && \ | |
10162 | strings "$collect2name" | grep resolve_lib_name >/dev/null | |
10163 | then | |
10164 | # We have reworked collect2 | |
10165 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10166 | else | |
10167 | # We have old collect2 | |
10168 | _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported | |
10169 | # It fails to find uninstalled libraries when the uninstalled | |
10170 | # path is not listed in the libpath. Setting hardcode_minus_L | |
10171 | # to unsupported forces relinking | |
10172 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes | |
10173 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
10174 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= | |
10175 | fi | |
10176 | esac | |
10177 | shared_flag='-shared' | |
10178 | else | |
10179 | # not using gcc | |
10180 | if test "$host_cpu" = ia64; then | |
10181 | # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release | |
10182 | # chokes on -Wl,-G. The following line is correct: | |
10183 | shared_flag='-G' | |
10184 | else | |
10185 | if test "$aix_use_runtimelinking" = yes; then | |
10186 | shared_flag='-qmkshrobj ${wl}-G' | |
10187 | else | |
10188 | shared_flag='-qmkshrobj' | |
10189 | fi | |
10190 | fi | |
10191 | fi | |
10192 | ||
10193 | # Let the compiler handle the export list. | |
10194 | _LT_AC_TAGVAR(always_export_symbols, $1)=no | |
10195 | if test "$aix_use_runtimelinking" = yes; then | |
10196 | # Warning - without using the other runtime loading flags (-brtl), | |
10197 | # -berok will link without error, but may produce a broken library. | |
10198 | _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok' | |
10199 | # Determine the default libpath from the value encoded in an empty executable. | |
10200 | _LT_AC_SYS_LIBPATH_AIX | |
10201 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | |
10202 | _LT_AC_TAGVAR(archive_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '" $shared_flag" | |
10203 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" | |
10204 | else | |
10205 | if test "$host_cpu" = ia64; then | |
10206 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' | |
10207 | _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" | |
10208 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" | |
10209 | else | |
10210 | # Determine the default libpath from the value encoded in an empty executable. | |
10211 | _LT_AC_SYS_LIBPATH_AIX | |
10212 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | |
10213 | # Warning - without using the other run time loading flags, | |
10214 | # -berok will link without error, but may produce a broken library. | |
10215 | _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' | |
10216 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' | |
10217 | # -bexpall does not export symbols beginning with underscore (_) | |
10218 | _LT_AC_TAGVAR(always_export_symbols, $1)=yes | |
10219 | # Exported symbols can be pulled into shared objects from archives | |
10220 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' | |
10221 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes | |
10222 | # This is similar to how AIX traditionally builds it's shared libraries. | |
10223 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' | |
10224 | fi | |
10225 | fi | |
10226 | ;; | |
10227 | ||
10228 | amigaos*) | |
10229 | _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' | |
10230 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
10231 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes | |
10232 | # see comment about different semantics on the GNU ld section | |
10233 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
10234 | ;; | |
10235 | ||
10236 | bsdi4*) | |
10237 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic | |
10238 | ;; | |
10239 | ||
10240 | cygwin* | mingw* | pw32*) | |
10241 | # When not using gcc, we currently assume that we are using | |
10242 | # Microsoft Visual C++. | |
10243 | # hardcode_libdir_flag_spec is actually meaningless, as there is | |
10244 | # no search path for DLLs. | |
10245 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' | |
10246 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported | |
10247 | # Tell ltmain to make .lib files, not .a files. | |
10248 | libext=lib | |
10249 | # FIXME: Setting linknames here is a bad hack. | |
10250 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | sed -e '\''s/ -lc$//'\''` -link -dll~linknames=' | |
10251 | # The linker will automatically build a .lib file if we build a DLL. | |
10252 | _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true' | |
10253 | # FIXME: Should let the user specify the lib program. | |
10254 | _LT_AC_TAGVAR(old_archive_cmds, $1)='lib /OUT:$oldlib$oldobjs$old_deplibs' | |
10255 | fix_srcfile_path='`cygpath -w "$srcfile"`' | |
10256 | ;; | |
10257 | ||
10258 | darwin* | rhapsody*) | |
10259 | case "$host_os" in | |
10260 | rhapsody* | darwin1.[[012]]) | |
10261 | _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' | |
10262 | ;; | |
10263 | *) # Darwin 1.3 on | |
10264 | _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' | |
10265 | ;; | |
10266 | esac | |
10267 | ||
10268 | # FIXME: Relying on posixy $() will cause problems for | |
10269 | # cross-compilation, but unfortunately the echo tests do not | |
10270 | # yet detect zsh echo's removal of \ escapes. Also zsh mangles | |
10271 | # `"' quotes if we put them in here... so don't! | |
10272 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs$linker_flags -install_name $rpath/$soname $verstring' | |
10273 | # We need to add '_' to the symbols in $export_symbols first | |
10274 | #_LT_AC_TAGVAR(archive_expsym_cmds, $1)="$_LT_AC_TAGVAR(archive_cmds, $1)"' && strip -s $export_symbols' | |
10275 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10276 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10277 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' | |
10278 | ;; | |
10279 | ||
10280 | dgux*) | |
10281 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10282 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
10283 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10284 | ;; | |
10285 | ||
10286 | freebsd1*) | |
10287 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
10288 | ;; | |
10289 | ||
10290 | # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor | |
10291 | # support. Future versions do this automatically, but an explicit c++rt0.o | |
10292 | # does not break anything, and helps significantly (at the cost of a little | |
10293 | # extra space). | |
10294 | freebsd2.2*) | |
10295 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' | |
10296 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | |
10297 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10298 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10299 | ;; | |
10300 | ||
10301 | # Unfortunately, older versions of FreeBSD 2 do not have this feature. | |
10302 | freebsd2*) | |
10303 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' | |
10304 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10305 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes | |
10306 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10307 | ;; | |
10308 | ||
10309 | # FreeBSD 3 and greater uses gcc -shared to do shared libraries. | |
10310 | freebsd*) | |
10311 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' | |
10312 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | |
10313 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10314 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10315 | ;; | |
10316 | ||
10317 | hpux9* | hpux10* | hpux11*) | |
10318 | if test "$GCC" = yes; then | |
10319 | case $host_os in | |
10320 | hpux9*) | |
10321 | _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | |
10322 | ;; | |
10323 | *) | |
10324 | if test "$host_cpu" = ia64; then | |
10325 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | |
10326 | else | |
10327 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | |
10328 | fi | |
10329 | ;; | |
10330 | esac | |
10331 | else | |
10332 | case $host_os in | |
10333 | hpux9*) | |
10334 | _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | |
10335 | ;; | |
10336 | *) | |
10337 | if test "$host_cpu" = ia64; then | |
10338 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10339 | else | |
10340 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' | |
10341 | fi | |
10342 | ;; | |
10343 | esac | |
10344 | fi | |
10345 | if test "$host_cpu" = ia64; then | |
10346 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
10347 | _LT_AC_TAGVAR(hardcode_direct, $1)=no | |
10348 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10349 | else | |
10350 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | |
10351 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
10352 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10353 | fi | |
10354 | # hardcode_minus_L: Not really in the search PATH, | |
10355 | # but as the default location of the library. | |
10356 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes | |
10357 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | |
10358 | ;; | |
10359 | ||
10360 | irix5* | irix6* | nonstopux*) | |
10361 | if test "$GCC" = yes; then | |
10362 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | |
10363 | else | |
10364 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' | |
10365 | fi | |
10366 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | |
10367 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
10368 | _LT_AC_TAGVAR(link_all_deplibs, $1)=yes | |
10369 | ;; | |
10370 | ||
10371 | netbsd*) | |
10372 | if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then | |
10373 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out | |
10374 | else | |
10375 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF | |
10376 | fi | |
10377 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | |
10378 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10379 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10380 | ;; | |
10381 | ||
10382 | newsos6) | |
10383 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10384 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10385 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | |
10386 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
10387 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10388 | ;; | |
10389 | ||
10390 | openbsd*) | |
10391 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10392 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10393 | ||
10394 | if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | |
10395 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' | |
10396 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | |
10397 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | |
10398 | else | |
10399 | case $host_os in | |
10400 | openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) | |
10401 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' | |
10402 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | |
10403 | ;; | |
10404 | *) | |
10405 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linker_flags' | |
10406 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | |
10407 | ;; | |
10408 | esac | |
10409 | fi | |
10410 | ;; | |
10411 | ||
10412 | os2*) | |
10413 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
10414 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes | |
10415 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported | |
10416 | _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' | |
10417 | _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' | |
10418 | ;; | |
10419 | ||
10420 | osf3*) | |
10421 | if test "$GCC" = yes; then | |
10422 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | |
10423 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | |
10424 | else | |
10425 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | |
10426 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' | |
10427 | fi | |
10428 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | |
10429 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
10430 | ;; | |
10431 | ||
10432 | osf4* | osf5*) # as osf3* with the addition of -msym flag | |
10433 | if test "$GCC" = yes; then | |
10434 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | |
10435 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | |
10436 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | |
10437 | else | |
10438 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | |
10439 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' | |
10440 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "-exported_symbol " >> $lib.exp; echo "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~ | |
10441 | $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp' | |
10442 | ||
10443 | # Both c and cxx compiler support -rpath directly | |
10444 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | |
10445 | fi | |
10446 | _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: | |
10447 | ;; | |
10448 | ||
10449 | sco3.2v5*) | |
10450 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10451 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10452 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' | |
10453 | runpath_var=LD_RUN_PATH | |
10454 | hardcode_runpath_var=yes | |
10455 | ;; | |
10456 | ||
10457 | solaris*) | |
10458 | _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' | |
10459 | if test "$GCC" = yes; then | |
10460 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | |
10461 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ | |
10462 | $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' | |
10463 | else | |
10464 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10465 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ | |
10466 | $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' | |
10467 | fi | |
10468 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | |
10469 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10470 | case $host_os in | |
10471 | solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; | |
10472 | *) # Supported since Solaris 2.6 (maybe 2.5.1?) | |
10473 | _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; | |
10474 | esac | |
10475 | _LT_AC_TAGVAR(link_all_deplibs, $1)=yes | |
10476 | ;; | |
10477 | ||
10478 | sunos4*) | |
10479 | if test "x$host_vendor" = xsequent; then | |
10480 | # Use $CC to link under sequent, because it throws in some extra .o | |
10481 | # files that make .init and .fini sections work. | |
10482 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' | |
10483 | else | |
10484 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' | |
10485 | fi | |
10486 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
10487 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10488 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes | |
10489 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10490 | ;; | |
10491 | ||
10492 | sysv4) | |
10493 | if test "x$host_vendor" = xsni; then | |
10494 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -Bsymbolic -h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10495 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true??? | |
10496 | else | |
10497 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10498 | _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie | |
10499 | fi | |
10500 | runpath_var='LD_RUN_PATH' | |
10501 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10502 | ;; | |
10503 | ||
10504 | sysv4.3*) | |
10505 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10506 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10507 | _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' | |
10508 | ;; | |
10509 | ||
10510 | sysv4*MP*) | |
10511 | if test -d /usr/nec; then | |
10512 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10513 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10514 | runpath_var=LD_RUN_PATH | |
10515 | hardcode_runpath_var=yes | |
10516 | _LT_AC_TAGVAR(ld_shlibs, $1)=yes | |
10517 | fi | |
10518 | ;; | |
10519 | ||
10520 | sysv4.2uw2*) | |
10521 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' | |
10522 | _LT_AC_TAGVAR(hardcode_direct, $1)=yes | |
10523 | _LT_AC_TAGVAR(hardcode_minus_L, $1)=no | |
10524 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10525 | hardcode_runpath_var=yes | |
10526 | runpath_var=LD_RUN_PATH | |
10527 | ;; | |
10528 | ||
10529 | sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) | |
10530 | _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' | |
10531 | if test "$GCC" = yes; then | |
10532 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | |
10533 | else | |
10534 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | |
10535 | fi | |
10536 | runpath_var='LD_RUN_PATH' | |
10537 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10538 | ;; | |
10539 | ||
10540 | sysv5*) | |
10541 | _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' | |
10542 | # $CC -shared without GNU ld will not create a library from C++ | |
10543 | # object files and a static libstdc++, better avoid it by now | |
10544 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10545 | _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ | |
10546 | $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' | |
10547 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= | |
10548 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10549 | runpath_var='LD_RUN_PATH' | |
10550 | ;; | |
10551 | ||
10552 | uts4*) | |
10553 | _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | |
10554 | _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | |
10555 | _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no | |
10556 | ;; | |
10557 | ||
10558 | *) | |
10559 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | |
10560 | ;; | |
10561 | esac | |
10562 | fi | |
10563 | ]) | |
10564 | AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) | |
10565 | test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no | |
10566 | ||
10567 | variables_saved_for_relink="PATH $shlibpath_var $runpath_var" | |
10568 | if test "$GCC" = yes; then | |
10569 | variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" | |
10570 | fi | |
10571 | ||
10572 | # | |
10573 | # Do we need to explicitly link libc? | |
10574 | # | |
10575 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes | |
10576 | if test "$enable_shared" = yes && test "$GCC" = yes; then | |
10577 | case $_LT_AC_TAGVAR(archive_cmds, $1) in | |
10578 | *'~'*) | |
10579 | # FIXME: we may have to deal with multi-command sequences. | |
10580 | ;; | |
10581 | '$CC '*) | |
10582 | # Test whether the compiler implicitly links with -lc since on some | |
10583 | # systems, -lgcc has to come before -lc. If gcc already passes -lc | |
10584 | # to ld, don't add -lc before -lgcc. | |
10585 | AC_MSG_CHECKING([whether -lc should be explicitly linked in]) | |
10586 | $rm conftest* | |
10587 | echo 'static int dummy;' > conftest.$ac_ext | |
10588 | ||
10589 | if AC_TRY_EVAL(ac_compile) 2>conftest.err; then | |
10590 | soname=conftest | |
10591 | lib=conftest | |
10592 | libobjs=conftest.$ac_objext | |
10593 | deplibs= | |
10594 | wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) | |
10595 | compiler_flags=-v | |
10596 | linker_flags=-v | |
10597 | verstring= | |
10598 | output_objdir=. | |
10599 | libname=conftest | |
10600 | lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1) | |
10601 | _LT_AC_TAGVAR(allow_undefined_flag, $1)= | |
10602 | if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) | |
10603 | then | |
10604 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no | |
10605 | else | |
10606 | _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes | |
10607 | fi | |
10608 | _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag | |
10609 | else | |
10610 | cat conftest.err 1>&5 | |
10611 | fi | |
10612 | $rm conftest* | |
10613 | AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)]) | |
10614 | ;; | |
10615 | esac | |
10616 | fi | |
10617 | ])# AC_LIBTOOL_PROG_LD_SHLIBS | |
10618 | ||
10619 | ||
10620 | # _LT_AC_FILE_LTDLL_C | |
10621 | # ------------------- | |
10622 | # Be careful that the start marker always follows a newline. | |
10623 | AC_DEFUN([_LT_AC_FILE_LTDLL_C], [ | |
10624 | # /* ltdll.c starts here */ | |
10625 | # #define WIN32_LEAN_AND_MEAN | |
10626 | # #include <windows.h> | |
10627 | # #undef WIN32_LEAN_AND_MEAN | |
10628 | # #include <stdio.h> | |
10629 | # | |
10630 | # #ifndef __CYGWIN__ | |
10631 | # # ifdef __CYGWIN32__ | |
10632 | # # define __CYGWIN__ __CYGWIN32__ | |
10633 | # # endif | |
10634 | # #endif | |
10635 | # | |
10636 | # #ifdef __cplusplus | |
10637 | # extern "C" { | |
10638 | # #endif | |
10639 | # BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved); | |
10640 | # #ifdef __cplusplus | |
10641 | # } | |
10642 | # #endif | |
10643 | # | |
10644 | # #ifdef __CYGWIN__ | |
10645 | # #include <cygwin/cygwin_dll.h> | |
10646 | # DECLARE_CYGWIN_DLL( DllMain ); | |
10647 | # #endif | |
10648 | # HINSTANCE __hDllInstance_base; | |
10649 | # | |
10650 | # BOOL APIENTRY | |
10651 | # DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved) | |
10652 | # { | |
10653 | # __hDllInstance_base = hInst; | |
10654 | # return TRUE; | |
10655 | # } | |
10656 | # /* ltdll.c ends here */ | |
10657 | ])# _LT_AC_FILE_LTDLL_C | |
10658 | ||
10659 | ||
10660 | # _LT_AC_FILE_IMPGEN_C | |
10661 | # -------------------- | |
10662 | # Be careful that the start marker always follows a newline. | |
10663 | AC_DEFUN([_LT_AC_FILE_IMPGEN_C], [ | |
10664 | # /* impgen.c starts here */ | |
10665 | # /* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. | |
10666 | # | |
10667 | # This file is part of GNU libtool. | |
10668 | # | |
10669 | # This program is free software; you can redistribute it and/or modify | |
10670 | # it under the terms of the GNU General Public License as published by | |
10671 | # the Free Software Foundation; either version 2 of the License, or | |
10672 | # (at your option) any later version. | |
10673 | # | |
10674 | # This program is distributed in the hope that it will be useful, | |
10675 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10676 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
10677 | # GNU General Public License for more details. | |
10678 | # | |
10679 | # You should have received a copy of the GNU General Public License | |
10680 | # along with this program; if not, write to the Free Software | |
10681 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
10682 | # */ | |
10683 | # | |
10684 | # #include <stdio.h> /* for printf() */ | |
10685 | # #include <unistd.h> /* for open(), lseek(), read() */ | |
10686 | # #include <fcntl.h> /* for O_RDONLY, O_BINARY */ | |
10687 | # #include <string.h> /* for strdup() */ | |
10688 | # | |
10689 | # /* O_BINARY isn't required (or even defined sometimes) under Unix */ | |
10690 | # #ifndef O_BINARY | |
10691 | # #define O_BINARY 0 | |
10692 | # #endif | |
10693 | # | |
10694 | # static unsigned int | |
10695 | # pe_get16 (fd, offset) | |
10696 | # int fd; | |
10697 | # int offset; | |
10698 | # { | |
10699 | # unsigned char b[2]; | |
10700 | # lseek (fd, offset, SEEK_SET); | |
10701 | # read (fd, b, 2); | |
10702 | # return b[0] + (b[1]<<8); | |
10703 | # } | |
10704 | # | |
10705 | # static unsigned int | |
10706 | # pe_get32 (fd, offset) | |
10707 | # int fd; | |
10708 | # int offset; | |
10709 | # { | |
10710 | # unsigned char b[4]; | |
10711 | # lseek (fd, offset, SEEK_SET); | |
10712 | # read (fd, b, 4); | |
10713 | # return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); | |
10714 | # } | |
10715 | # | |
10716 | # static unsigned int | |
10717 | # pe_as32 (ptr) | |
10718 | # void *ptr; | |
10719 | # { | |
10720 | # unsigned char *b = ptr; | |
10721 | # return b[0] + (b[1]<<8) + (b[2]<<16) + (b[3]<<24); | |
10722 | # } | |
10723 | # | |
10724 | # int | |
10725 | # main (argc, argv) | |
10726 | # int argc; | |
10727 | # char *argv[]; | |
10728 | # { | |
10729 | # int dll; | |
10730 | # unsigned long pe_header_offset, opthdr_ofs, num_entries, i; | |
10731 | # unsigned long export_rva, export_size, nsections, secptr, expptr; | |
10732 | # unsigned long name_rvas, nexp; | |
10733 | # unsigned char *expdata, *erva; | |
10734 | # char *filename, *dll_name; | |
10735 | # | |
10736 | # filename = argv[1]; | |
10737 | # | |
10738 | # dll = open(filename, O_RDONLY|O_BINARY); | |
10739 | # if (dll < 1) | |
10740 | # return 1; | |
10741 | # | |
10742 | # dll_name = filename; | |
10743 | # | |
10744 | # for (i=0; filename[i]; i++) | |
10745 | # if (filename[i] == '/' || filename[i] == '\\' || filename[i] == ':') | |
10746 | # dll_name = filename + i +1; | |
10747 | # | |
10748 | # pe_header_offset = pe_get32 (dll, 0x3c); | |
10749 | # opthdr_ofs = pe_header_offset + 4 + 20; | |
10750 | # num_entries = pe_get32 (dll, opthdr_ofs + 92); | |
10751 | # | |
10752 | # if (num_entries < 1) /* no exports */ | |
10753 | # return 1; | |
10754 | # | |
10755 | # export_rva = pe_get32 (dll, opthdr_ofs + 96); | |
10756 | # export_size = pe_get32 (dll, opthdr_ofs + 100); | |
10757 | # nsections = pe_get16 (dll, pe_header_offset + 4 +2); | |
10758 | # secptr = (pe_header_offset + 4 + 20 + | |
10759 | # pe_get16 (dll, pe_header_offset + 4 + 16)); | |
10760 | # | |
10761 | # expptr = 0; | |
10762 | # for (i = 0; i < nsections; i++) | |
10763 | # { | |
10764 | # char sname[8]; | |
10765 | # unsigned long secptr1 = secptr + 40 * i; | |
10766 | # unsigned long vaddr = pe_get32 (dll, secptr1 + 12); | |
10767 | # unsigned long vsize = pe_get32 (dll, secptr1 + 16); | |
10768 | # unsigned long fptr = pe_get32 (dll, secptr1 + 20); | |
10769 | # lseek(dll, secptr1, SEEK_SET); | |
10770 | # read(dll, sname, 8); | |
10771 | # if (vaddr <= export_rva && vaddr+vsize > export_rva) | |
10772 | # { | |
10773 | # expptr = fptr + (export_rva - vaddr); | |
10774 | # if (export_rva + export_size > vaddr + vsize) | |
10775 | # export_size = vsize - (export_rva - vaddr); | |
10776 | # break; | |
10777 | # } | |
10778 | # } | |
10779 | # | |
10780 | # expdata = (unsigned char*)malloc(export_size); | |
10781 | # lseek (dll, expptr, SEEK_SET); | |
10782 | # read (dll, expdata, export_size); | |
10783 | # erva = expdata - export_rva; | |
10784 | # | |
10785 | # nexp = pe_as32 (expdata+24); | |
10786 | # name_rvas = pe_as32 (expdata+32); | |
10787 | # | |
10788 | # printf ("EXPORTS\n"); | |
10789 | # for (i = 0; i<nexp; i++) | |
10790 | # { | |
10791 | # unsigned long name_rva = pe_as32 (erva+name_rvas+i*4); | |
10792 | # printf ("\t%s @ %ld ;\n", erva+name_rva, 1+ i); | |
10793 | # } | |
10794 | # | |
10795 | # return 0; | |
10796 | # } | |
10797 | # /* impgen.c ends here */ | |
10798 | ])# _LT_AC_FILE_IMPGEN_C | |
10799 | ||
10800 | # _LT_AC_TAGVAR(VARNAME, [TAGNAME]) | |
10801 | # --------------------------------- | |
10802 | AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])]) | |
10803 | ||
10804 | ||
10805 | # old names | |
10806 | AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) | |
10807 | AC_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) | |
10808 | AC_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) | |
10809 | AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) | |
10810 | AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) | |
10811 | AC_DEFUN([AM_PROG_LD], [AC_PROG_LD]) | |
10812 | AC_DEFUN([AM_PROG_NM], [AC_PROG_NM]) | |
10813 | ||
10814 | # This is just to silence aclocal about the macro not being used | |
10815 | ifelse([AC_DISABLE_FAST_INSTALL]) | |
10816 | ||
10817 | AC_DEFUN([LT_AC_PROG_GCJ], | |
10818 | [AC_CHECK_TOOL(GCJ, gcj, no) | |
10819 | test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" | |
10820 | AC_SUBST(GCJFLAGS) | |
10821 | ]) | |
10822 | ||
10823 | AC_DEFUN([LT_AC_PROG_RC], | |
10824 | [AC_CHECK_TOOL(RC, windres, no) | |
10825 | ]) | |
10826 | ||
10827 | ############################################################ | |
10828 | # NOTE: This macro has been submitted for inclusion into # | |
10829 | # GNU Autoconf as AC_PROG_SED. When it is available in # | |
10830 | # a released version of Autoconf we should remove this # | |
10831 | # macro and use it instead. # | |
10832 | ############################################################ | |
10833 | # LT_AC_PROG_SED | |
10834 | # -------------- | |
10835 | # Check for a fully-functional sed program, that truncates | |
10836 | # as few characters as possible. Prefer GNU sed if found. | |
10837 | AC_DEFUN([LT_AC_PROG_SED], | |
10838 | [AC_MSG_CHECKING([for a sed that does not truncate output]) | |
10839 | AC_CACHE_VAL(lt_cv_path_SED, | |
10840 | [# Loop through the user's path and test for sed and gsed. | |
10841 | # Then use that list of sed's as ones to test for truncation. | |
10842 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | |
10843 | for as_dir in $PATH | |
10844 | do | |
10845 | IFS=$as_save_IFS | |
10846 | test -z "$as_dir" && as_dir=. | |
10847 | for ac_prog in sed gsed; do | |
10848 | for ac_exec_ext in '' $ac_executable_extensions; do | |
10849 | if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then | |
10850 | _sed_list="$_sed_list $as_dir/$ac_prog$ac_exec_ext" | |
10851 | fi | |
10852 | done | |
10853 | done | |
10854 | done | |
10855 | ||
10856 | # Create a temporary directory, and hook for its removal unless debugging. | |
10857 | $debug || | |
10858 | { | |
10859 | trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 | |
10860 | trap '{ (exit 1); exit 1; }' 1 2 13 15 | |
10861 | } | |
10862 | ||
10863 | # Create a (secure) tmp directory for tmp files. | |
10864 | : ${TMPDIR=/tmp} | |
10865 | { | |
10866 | tmp=`(umask 077 && mktemp -d -q "$TMPDIR/sedXXXXXX") 2>/dev/null` && | |
10867 | test -n "$tmp" && test -d "$tmp" | |
10868 | } || | |
10869 | { | |
10870 | tmp=$TMPDIR/sed$$-$RANDOM | |
10871 | (umask 077 && mkdir $tmp) | |
10872 | } || | |
10873 | { | |
10874 | echo "$me: cannot create a temporary directory in $TMPDIR" >&2 | |
10875 | { (exit 1); exit 1; } | |
10876 | } | |
10877 | _max=0 | |
10878 | _count=0 | |
10879 | # Add /usr/xpg4/bin/sed as it is typically found on Solaris | |
10880 | # along with /bin/sed that truncates output. | |
10881 | for _sed in $_sed_list /usr/xpg4/bin/sed; do | |
10882 | test ! -f ${_sed} && break | |
10883 | cat /dev/null > "$tmp/sed.in" | |
10884 | _count=0 | |
10885 | echo $ECHO_N "0123456789$ECHO_C" >"$tmp/sed.in" | |
10886 | # Check for GNU sed and select it if it is found. | |
10887 | if "${_sed}" --version 2>&1 < /dev/null | egrep '(GNU)' > /dev/null; then | |
10888 | lt_cv_path_SED=${_sed} | |
10889 | break; | |
10890 | fi | |
10891 | while true; do | |
10892 | cat "$tmp/sed.in" "$tmp/sed.in" >"$tmp/sed.tmp" | |
10893 | mv "$tmp/sed.tmp" "$tmp/sed.in" | |
10894 | cp "$tmp/sed.in" "$tmp/sed.nl" | |
10895 | echo >>"$tmp/sed.nl" | |
10896 | ${_sed} -e 's/a$//' < "$tmp/sed.nl" >"$tmp/sed.out" || break | |
10897 | cmp -s "$tmp/sed.out" "$tmp/sed.nl" || break | |
10898 | # 10000 chars as input seems more than enough | |
10899 | test $_count -gt 10 && break | |
10900 | _count=`expr $_count + 1` | |
10901 | if test $_count -gt $_max; then | |
10902 | _max=$_count | |
10903 | lt_cv_path_SED=$_sed | |
10904 | fi | |
10905 | done | |
10906 | done | |
10907 | rm -rf "$tmp" | |
10908 | ]) | |
10909 | AC_MSG_RESULT([$SED]) | |
10910 | ]) |