[6274] | 1 | |
---|
| 2 | |
---|
| 3 | dnl AX_CHECK_HEADER_LIB([HEADER-NAME], [LIBRARY-NAME], [FUNCTION-IN-LIB], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [LIB-WEB-PAGE]) |
---|
| 4 | AC_DEFUN([AX_CHECK_HEADER_LIB], [ |
---|
| 5 | _header_check="" |
---|
| 6 | _lib_check="" |
---|
| 7 | |
---|
| 8 | AC_CHECK_HEADER([$1], [_header_check="yes"], [_header_check="no"]) |
---|
| 9 | AC_CHECK_LIB([$2], [$3], [_lib_check="yes"], [_lib_check="no"]) |
---|
| 10 | if [test "x$_header_check" = "xyes" && test "x$_lib_check" = "xyes"] ; then |
---|
| 11 | LIBS="$LIBS -l$2" |
---|
| 12 | $4 |
---|
| 13 | else |
---|
| 14 | echo "no Support for $2" |
---|
| 15 | $5 |
---|
| 16 | fi |
---|
| 17 | ]) |
---|
| 18 | |
---|
| 19 | |
---|
| 20 | |
---|
| 21 | dnl AX_CHECK_REQUIRED_HEADER_LIB([HEADER-NAME], [LIBRARY-NAME], [FUNCTION-IN-LIB], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [LIB-WEB-PAGE]) |
---|
| 22 | AC_DEFUN([AX_CHECK_REQUIRED_HEADER_LIB], [ |
---|
| 23 | _header_check="" |
---|
| 24 | _lib_check="" |
---|
| 25 | |
---|
| 26 | for _header in $1 |
---|
| 27 | do |
---|
| 28 | AC_CHECK_HEADER([$_header], [_header_check="yes"], [_header_check="no"]) |
---|
| 29 | if test "x$_header_check" = "xyes" ; then |
---|
| 30 | break |
---|
| 31 | fi |
---|
| 32 | done |
---|
| 33 | AC_CHECK_LIB([$2], [$3], [_lib_check="yes"], [_lib_check="no"]) |
---|
| 34 | if [test x$_header_check = "xyes" && test "x$_lib_check" = "xyes"] ; then |
---|
| 35 | LIBS="$LIBS -l$2" |
---|
| 36 | $4 |
---|
| 37 | else |
---|
| 38 | echo "------------------" |
---|
| 39 | echo "LIBRARY $2 not found." |
---|
| 40 | echo "please install the $2-LIBRARY-package which can be found at $6" |
---|
| 41 | echo "------------------" |
---|
| 42 | $5 |
---|
| 43 | exit -1 |
---|
| 44 | fi |
---|
| 45 | ]) |
---|
[7442] | 46 | |
---|
| 47 | |
---|
| 48 | |
---|
| 49 | dnl AX_CHECK_REQUIRED_LIB([LIBRARY-NAME], [FUNCTION-IN-LIB], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND], [LIB-WEB-PAGE]) |
---|
| 50 | AC_DEFUN([AX_CHECK_REQUIRED_LIB], [ |
---|
| 51 | _lib_check="" |
---|
| 52 | _found_lib="" |
---|
| 53 | |
---|
| 54 | |
---|
| 55 | for _lib in $1 |
---|
| 56 | do |
---|
| 57 | AC_CHECK_LIB([$_lib], [$2], [_lib_check="yes"], [_lib_check="no"]) |
---|
| 58 | if test "x$_lib_check" = "xyes" ; then |
---|
| 59 | _found_lib=$_lib |
---|
| 60 | break |
---|
| 61 | fi |
---|
| 62 | done |
---|
| 63 | |
---|
| 64 | if [test "x$_lib_check" = "xyes"] ; then |
---|
| 65 | LIBS="$LIBS -l$_found_lib" |
---|
| 66 | $3 |
---|
| 67 | else |
---|
| 68 | echo "------------------" |
---|
| 69 | echo "LIBRARY $1 not found." |
---|
| 70 | echo "please install the $1-LIBRARY-package which can be found at $5" |
---|
| 71 | echo "------------------" |
---|
| 72 | $4 |
---|
| 73 | exit -1 |
---|
| 74 | fi |
---|
| 75 | ]) |
---|
| 76 | |
---|
| 77 | |
---|
| 78 | |
---|
| 79 | |
---|
| 80 | dnl Copyright (C) 2001, 2002, 2003, 2005, 2006 Bastiaan Veelo |
---|
| 81 | |
---|
| 82 | dnl THANKS! This code includes bug fixes and contributions made by: |
---|
| 83 | dnl Tim McClarren, |
---|
| 84 | dnl Dennis R. Weilert, |
---|
| 85 | dnl Qingning Huo, |
---|
| 86 | dnl Brian Mingus, |
---|
| 87 | dnl Jens Hannemann, |
---|
| 88 | dnl Pavel Roskin. |
---|
| 89 | |
---|
| 90 | dnl ChangeLog |
---|
| 91 | dnl 2006-02-13 * Check compiler return value instead of parsing the error stream, |
---|
| 92 | dnl which detected warnings as false negatives (due to Jens Hannemann). |
---|
| 93 | dnl 2006-02-02 * Spelling of "Success". |
---|
| 94 | dnl * Fixed unsave test for $bnv_qt_lib without quotes. |
---|
| 95 | dnl * Put dnl in front of all comments. |
---|
| 96 | dnl * Changed -l$bnv_qt_lib_dir into -L$bnv_qt_lib_dir (all due to Pavel Roskin). |
---|
| 97 | dnl 2006-01-19 * Support for 64bit architectures. |
---|
| 98 | dnl * Updated documentation. |
---|
| 99 | dnl 2006-01-18: * Fix "cat: bnv_qt_test.c: No such file or directory" (due to Jens Hannemann). |
---|
| 100 | dnl * Hide output of failing ls. |
---|
| 101 | dnl 2006-01-11: * Check in /Developer on Mac OS X; Check in $QTDIR (due to Brian Mingus). |
---|
| 102 | |
---|
| 103 | dnl Calls BNV_PATH_QT_DIRECT (contained in this file) as a subroutine. |
---|
| 104 | AC_DEFUN([BNV_HAVE_QT], |
---|
| 105 | [ |
---|
| 106 | AC_REQUIRE([AC_PROG_CXX]) |
---|
| 107 | AC_REQUIRE([AC_PATH_X]) |
---|
| 108 | AC_REQUIRE([AC_PATH_XTRA]) |
---|
| 109 | |
---|
| 110 | AC_MSG_CHECKING(for Qt) |
---|
| 111 | |
---|
| 112 | AC_ARG_WITH([Qt-dir], |
---|
| 113 | [ --with-Qt-dir=DIR DIR is equal to $QTDIR if you have followed the |
---|
| 114 | installation instructions of Trolltech. Header |
---|
| 115 | files are in DIR/include, binary utilities are |
---|
| 116 | in DIR/bin. The library is in DIR/lib, unless |
---|
| 117 | --with-Qt-lib-dir is also set.]) |
---|
| 118 | AC_ARG_WITH([Qt-include-dir], |
---|
| 119 | [ --with-Qt-include-dir=DIR |
---|
| 120 | Qt header files are in DIR]) |
---|
| 121 | AC_ARG_WITH([Qt-bin-dir], |
---|
| 122 | [ --with-Qt-bin-dir=DIR Qt utilities such as moc and uic are in DIR]) |
---|
| 123 | AC_ARG_WITH([Qt-lib-dir], |
---|
| 124 | [ --with-Qt-lib-dir=DIR The Qt library is in DIR]) |
---|
| 125 | AC_ARG_WITH([Qt-lib], |
---|
| 126 | [ --with-Qt-lib=LIB Use -lLIB to link with the Qt library]) |
---|
| 127 | if test x"$with_Qt_dir" = x"no" || |
---|
| 128 | test x"$with_Qt_include-dir" = x"no" || |
---|
| 129 | test x"$with_Qt_bin_dir" = x"no" || |
---|
| 130 | test x"$with_Qt_lib_dir" = x"no" || |
---|
| 131 | test x"$with_Qt_lib" = x"no"; then |
---|
| 132 | # user disabled Qt. Leave cache alone. |
---|
| 133 | have_qt="User disabled Qt." |
---|
| 134 | else |
---|
| 135 | # "yes" is a bogus option |
---|
| 136 | if test x"$with_Qt_dir" = xyes; then |
---|
| 137 | with_Qt_dir= |
---|
| 138 | fi |
---|
| 139 | if test x"$with_Qt_include_dir" = xyes; then |
---|
| 140 | with_Qt_include_dir= |
---|
| 141 | fi |
---|
| 142 | if test x"$with_Qt_bin_dir" = xyes; then |
---|
| 143 | with_Qt_bin_dir= |
---|
| 144 | fi |
---|
| 145 | if test x"$with_Qt_lib_dir" = xyes; then |
---|
| 146 | with_Qt_lib_dir= |
---|
| 147 | fi |
---|
| 148 | if test x"$with_Qt_lib" = xyes; then |
---|
| 149 | with_Qt_lib= |
---|
| 150 | fi |
---|
| 151 | # No Qt unless we discover otherwise |
---|
| 152 | have_qt=no |
---|
| 153 | # Check whether we are requested to link with a specific version |
---|
| 154 | if test x"$with_Qt_lib" != x; then |
---|
| 155 | bnv_qt_lib="$with_Qt_lib" |
---|
| 156 | fi |
---|
| 157 | # Check whether we were supplied with an answer already |
---|
| 158 | if test x"$with_Qt_dir" != x; then |
---|
| 159 | have_qt=yes |
---|
| 160 | bnv_qt_dir="$with_Qt_dir" |
---|
| 161 | bnv_qt_include_dir="$with_Qt_dir/include" |
---|
| 162 | bnv_qt_bin_dir="$with_Qt_dir/bin" |
---|
| 163 | bnv_qt_lib_dir="$with_Qt_dir/lib" |
---|
| 164 | # Only search for the lib if the user did not define one already |
---|
| 165 | if test x"$bnv_qt_lib" = x; then |
---|
| 166 | bnv_qt_lib="`ls $bnv_qt_lib_dir/libqt* | sed -n 1p | |
---|
| 167 | sed s@$bnv_qt_lib_dir/lib@@ | [sed s@[.].*@@]`" |
---|
| 168 | fi |
---|
| 169 | bnv_qt_LIBS="-L$bnv_qt_lib_dir -l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS" |
---|
| 170 | else |
---|
| 171 | # Use cached value or do search, starting with suggestions from |
---|
| 172 | # the command line |
---|
| 173 | AC_CACHE_VAL(bnv_cv_have_qt, |
---|
| 174 | [ |
---|
| 175 | # We are not given a solution and there is no cached value. |
---|
| 176 | bnv_qt_dir=NO |
---|
| 177 | bnv_qt_include_dir=NO |
---|
| 178 | bnv_qt_lib_dir=NO |
---|
| 179 | if test x"$bnv_qt_lib" = x; then |
---|
| 180 | bnv_qt_lib=NO |
---|
| 181 | fi |
---|
| 182 | BNV_PATH_QT_DIRECT |
---|
| 183 | if test "$bnv_qt_dir" = NO || |
---|
| 184 | test "$bnv_qt_include_dir" = NO || |
---|
| 185 | test "$bnv_qt_lib_dir" = NO || |
---|
| 186 | test "$bnv_qt_lib" = NO; then |
---|
| 187 | # Problem with finding complete Qt. Cache the known absence of Qt. |
---|
| 188 | bnv_cv_have_qt="have_qt=no" |
---|
| 189 | else |
---|
| 190 | # Record where we found Qt for the cache. |
---|
| 191 | bnv_cv_have_qt="have_qt=yes \ |
---|
| 192 | bnv_qt_dir=$bnv_qt_dir \ |
---|
| 193 | bnv_qt_include_dir=$bnv_qt_include_dir \ |
---|
| 194 | bnv_qt_bin_dir=$bnv_qt_bin_dir \ |
---|
| 195 | bnv_qt_LIBS=\"$bnv_qt_LIBS\"" |
---|
| 196 | fi |
---|
| 197 | ])dnl |
---|
| 198 | eval "$bnv_cv_have_qt" |
---|
| 199 | fi # all $bnv_qt_* are set |
---|
| 200 | fi # $have_qt reflects the system status |
---|
| 201 | if test x"$have_qt" = xyes; then |
---|
| 202 | QT_CXXFLAGS="-I$bnv_qt_include_dir" |
---|
| 203 | if test x"$bnv_qt_lib" = xqt-mt; then |
---|
| 204 | QT_CXXFLAGS="$QT_CXXFLAGS -DQT_THREAD_SUPPORT" |
---|
| 205 | fi |
---|
| 206 | QT_DIR="$bnv_qt_dir" |
---|
| 207 | QT_LIBS="$bnv_qt_LIBS" |
---|
| 208 | # If bnv_qt_dir is defined, utilities are expected to be in the |
---|
| 209 | # bin subdirectory |
---|
| 210 | if test x"$bnv_qt_dir" != x; then |
---|
| 211 | if test -x "$bnv_qt_dir/bin/uic"; then |
---|
| 212 | QT_UIC="$bnv_qt_dir/bin/uic" |
---|
| 213 | else |
---|
| 214 | # Old versions of Qt don't have uic |
---|
| 215 | QT_UIC= |
---|
| 216 | fi |
---|
| 217 | QT_MOC="$bnv_qt_dir/bin/moc" |
---|
| 218 | else |
---|
| 219 | # Or maybe we are told where to look for the utilities |
---|
| 220 | if test x"$bnv_qt_bin_dir" != x; then |
---|
| 221 | if test -x "$bnv_qt_bin_dir/uic"; then |
---|
| 222 | QT_UIC="$bnv_qt_bin_dir/uic" |
---|
| 223 | else |
---|
| 224 | # Old versions of Qt don't have uic |
---|
| 225 | QT_UIC= |
---|
| 226 | fi |
---|
| 227 | QT_MOC="$bnv_qt_bin_dir/moc" |
---|
| 228 | else |
---|
| 229 | # Last possibility is that they are in $PATH |
---|
| 230 | QT_UIC="`which uic`" |
---|
| 231 | QT_MOC="`which moc`" |
---|
| 232 | fi |
---|
| 233 | fi |
---|
| 234 | # All variables are defined, report the result |
---|
| 235 | AC_MSG_RESULT([$have_qt: |
---|
| 236 | QT_CXXFLAGS=$QT_CXXFLAGS |
---|
| 237 | QT_DIR=$QT_DIR |
---|
| 238 | QT_LIBS=$QT_LIBS |
---|
| 239 | QT_UIC=$QT_UIC |
---|
| 240 | QT_MOC=$QT_MOC]) |
---|
| 241 | else |
---|
| 242 | # Qt was not found |
---|
| 243 | QT_CXXFLAGS= |
---|
| 244 | QT_DIR= |
---|
| 245 | QT_LIBS= |
---|
| 246 | QT_UIC= |
---|
| 247 | QT_MOC= |
---|
| 248 | AC_MSG_RESULT($have_qt) |
---|
| 249 | fi |
---|
| 250 | AC_SUBST(QT_CXXFLAGS) |
---|
| 251 | AC_SUBST(QT_DIR) |
---|
| 252 | AC_SUBST(QT_LIBS) |
---|
| 253 | AC_SUBST(QT_UIC) |
---|
| 254 | AC_SUBST(QT_MOC) |
---|
| 255 | |
---|
| 256 | #### Being paranoid: |
---|
| 257 | if test x"$have_qt" = xyes; then |
---|
| 258 | AC_MSG_CHECKING(correct functioning of Qt installation) |
---|
| 259 | AC_CACHE_VAL(bnv_cv_qt_test_result, |
---|
| 260 | [ |
---|
| 261 | cat > bnv_qt_test.h << EOF |
---|
| 262 | #include <qobject.h> |
---|
| 263 | class Test : public QObject |
---|
| 264 | { |
---|
| 265 | Q_OBJECT |
---|
| 266 | public: |
---|
| 267 | Test() {} |
---|
| 268 | ~Test() {} |
---|
| 269 | public slots: |
---|
| 270 | void receive() {} |
---|
| 271 | signals: |
---|
| 272 | void send(); |
---|
| 273 | }; |
---|
| 274 | EOF |
---|
| 275 | |
---|
| 276 | cat > bnv_qt_main.$ac_ext << EOF |
---|
| 277 | #include "bnv_qt_test.h" |
---|
| 278 | #include <qapplication.h> |
---|
| 279 | int main( int argc, char **argv ) |
---|
| 280 | { |
---|
| 281 | QApplication app( argc, argv ); |
---|
| 282 | Test t; |
---|
| 283 | QObject::connect( &t, SIGNAL(send()), &t, SLOT(receive()) ); |
---|
| 284 | } |
---|
| 285 | EOF |
---|
| 286 | |
---|
| 287 | bnv_cv_qt_test_result="failure" |
---|
| 288 | bnv_try_1="$QT_MOC bnv_qt_test.h -o moc_bnv_qt_test.$ac_ext >/dev/null 2>/dev/null" |
---|
| 289 | AC_TRY_EVAL(bnv_try_1) |
---|
| 290 | if test x"$ac_status" != x0; then |
---|
| 291 | echo "$bnv_err_1" >&AC_FD_CC |
---|
| 292 | echo "configure: could not run $QT_MOC on:" >&AC_FD_CC |
---|
| 293 | cat bnv_qt_test.h >&AC_FD_CC |
---|
| 294 | else |
---|
| 295 | bnv_try_2="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o moc_bnv_qt_test.o moc_bnv_qt_test.$ac_ext >/dev/null 2>/dev/null" |
---|
| 296 | AC_TRY_EVAL(bnv_try_2) |
---|
| 297 | if test x"$ac_status" != x0; then |
---|
| 298 | echo "$bnv_err_2" >&AC_FD_CC |
---|
| 299 | echo "configure: could not compile:" >&AC_FD_CC |
---|
| 300 | cat moc_bnv_qt_test.$ac_ext >&AC_FD_CC |
---|
| 301 | else |
---|
| 302 | bnv_try_3="$CXX $QT_CXXFLAGS -c $CXXFLAGS -o bnv_qt_main.o bnv_qt_main.$ac_ext >/dev/null 2>/dev/null" |
---|
| 303 | AC_TRY_EVAL(bnv_try_3) |
---|
| 304 | if test x"$ac_status" != x0; then |
---|
| 305 | echo "$bnv_err_3" >&AC_FD_CC |
---|
| 306 | echo "configure: could not compile:" >&AC_FD_CC |
---|
| 307 | cat bnv_qt_main.$ac_ext >&AC_FD_CC |
---|
| 308 | else |
---|
| 309 | bnv_try_4="$CXX $QT_LIBS $LIBS -o bnv_qt_main bnv_qt_main.o moc_bnv_qt_test.o >/dev/null 2>/dev/null" |
---|
| 310 | AC_TRY_EVAL(bnv_try_4) |
---|
| 311 | if test x"$ac_status" != x0; then |
---|
| 312 | echo "$bnv_err_4" >&AC_FD_CC |
---|
| 313 | else |
---|
| 314 | bnv_cv_qt_test_result="success" |
---|
| 315 | fi |
---|
| 316 | fi |
---|
| 317 | fi |
---|
| 318 | fi |
---|
| 319 | ])dnl AC_CACHE_VAL bnv_cv_qt_test_result |
---|
| 320 | AC_MSG_RESULT([$bnv_cv_qt_test_result]); |
---|
| 321 | if test x"$bnv_cv_qt_test_result" = "xfailure"; then |
---|
| 322 | AC_MSG_ERROR([Failed to find matching components of a complete |
---|
| 323 | Qt installation. Try using more options, |
---|
| 324 | see ./configure --help.]) |
---|
| 325 | fi |
---|
| 326 | |
---|
| 327 | rm -f bnv_qt_test.h moc_bnv_qt_test.$ac_ext moc_bnv_qt_test.o \ |
---|
| 328 | bnv_qt_main.$ac_ext bnv_qt_main.o bnv_qt_main |
---|
| 329 | fi |
---|
| 330 | ]) |
---|
| 331 | |
---|
| 332 | dnl Internal subroutine of BNV_HAVE_QT |
---|
| 333 | dnl Set bnv_qt_dir bnv_qt_include_dir bnv_qt_bin_dir bnv_qt_lib_dir bnv_qt_lib |
---|
| 334 | AC_DEFUN([BNV_PATH_QT_DIRECT], |
---|
| 335 | [ |
---|
| 336 | ## Binary utilities ## |
---|
| 337 | if test x"$with_Qt_bin_dir" != x; then |
---|
| 338 | bnv_qt_bin_dir=$with_Qt_bin_dir |
---|
| 339 | fi |
---|
| 340 | ## Look for header files ## |
---|
| 341 | if test x"$with_Qt_include_dir" != x; then |
---|
| 342 | bnv_qt_include_dir="$with_Qt_include_dir" |
---|
| 343 | else |
---|
| 344 | # The following header file is expected to define QT_VERSION. |
---|
| 345 | qt_direct_test_header=qglobal.h |
---|
| 346 | # Look for the header file in a standard set of common directories. |
---|
| 347 | bnv_include_path_list=" |
---|
| 348 | /usr/include |
---|
| 349 | `ls -dr ${QTDIR}/include 2>/dev/null` |
---|
| 350 | `ls -dr /usr/include/qt* 2>/dev/null` |
---|
| 351 | `ls -dr /usr/lib/qt*/include 2>/dev/null` |
---|
| 352 | `ls -dr /usr/local/qt*/include 2>/dev/null` |
---|
| 353 | `ls -dr /opt/qt*/include 2>/dev/null` |
---|
| 354 | `ls -dr /Developer/qt*/include 2>/dev/null` |
---|
| 355 | " |
---|
| 356 | for bnv_dir in $bnv_include_path_list; do |
---|
| 357 | if test -r "$bnv_dir/$qt_direct_test_header"; then |
---|
| 358 | bnv_dirs="$bnv_dirs $bnv_dir" |
---|
| 359 | fi |
---|
| 360 | done |
---|
| 361 | # Now look for the newest in this list |
---|
| 362 | bnv_prev_ver=0 |
---|
| 363 | for bnv_dir in $bnv_dirs; do |
---|
| 364 | bnv_this_ver=`egrep -w '#define QT_VERSION' $bnv_dir/$qt_direct_test_header | sed s/'#define QT_VERSION'//` |
---|
| 365 | if expr $bnv_this_ver '>' $bnv_prev_ver > /dev/null; then |
---|
| 366 | bnv_qt_include_dir=$bnv_dir |
---|
| 367 | bnv_prev_ver=$bnv_this_ver |
---|
| 368 | fi |
---|
| 369 | done |
---|
| 370 | fi dnl Found header files. |
---|
| 371 | |
---|
| 372 | # Are these headers located in a traditional Trolltech installation? |
---|
| 373 | # That would be $bnv_qt_include_dir stripped from its last element: |
---|
| 374 | bnv_possible_qt_dir=`dirname $bnv_qt_include_dir` |
---|
| 375 | if (test -x $bnv_possible_qt_dir/bin/moc) && |
---|
| 376 | ((ls $bnv_possible_qt_dir/lib/libqt* > /dev/null 2>/dev/null) || |
---|
| 377 | (ls $bnv_possible_qt_dir/lib64/libqt* > /dev/null 2>/dev/null)); then |
---|
| 378 | # Then the rest is a piece of cake |
---|
| 379 | bnv_qt_dir=$bnv_possible_qt_dir |
---|
| 380 | bnv_qt_bin_dir="$bnv_qt_dir/bin" |
---|
| 381 | if test x"$with_Qt_lib_dir" != x; then |
---|
| 382 | bnv_qt_lib_dir="$with_Qt_lib_dir" |
---|
| 383 | else |
---|
| 384 | if (test -d $bnv_qt_dir/lib64); then |
---|
| 385 | bnv_qt_lib_dir="$bnv_qt_dir/lib64" |
---|
| 386 | else |
---|
| 387 | bnv_qt_lib_dir="$bnv_qt_dir/lib" |
---|
| 388 | fi |
---|
| 389 | fi |
---|
| 390 | # Only look for lib if the user did not supply it already |
---|
| 391 | if test x"$bnv_qt_lib" = xNO; then |
---|
| 392 | bnv_qt_lib="`ls $bnv_qt_lib_dir/libqt* | sed -n 1p | |
---|
| 393 | sed s@$bnv_qt_lib_dir/lib@@ | [sed s@[.].*@@]`" |
---|
| 394 | fi |
---|
| 395 | bnv_qt_LIBS="-L$bnv_qt_lib_dir -l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS" |
---|
| 396 | else |
---|
| 397 | # There is no valid definition for $QTDIR as Trolltech likes to see it |
---|
| 398 | bnv_qt_dir= |
---|
| 399 | ## Look for Qt library ## |
---|
| 400 | if test x"$with_Qt_lib_dir" != x; then |
---|
| 401 | bnv_qt_lib_dir="$with_Qt_lib_dir" |
---|
| 402 | # Only look for lib if the user did not supply it already |
---|
| 403 | if test x"$bnv_qt_lib" = xNO; then |
---|
| 404 | bnv_qt_lib="`ls $bnv_qt_lib_dir/libqt* | sed -n 1p | |
---|
| 405 | sed s@$bnv_qt_lib_dir/lib@@ | [sed s@[.].*@@]`" |
---|
| 406 | fi |
---|
| 407 | bnv_qt_LIBS="-L$bnv_qt_lib_dir -l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS" |
---|
| 408 | else |
---|
| 409 | # Normally, when there is no traditional Trolltech installation, |
---|
| 410 | # the library is installed in a place where the linker finds it |
---|
| 411 | # automatically. |
---|
| 412 | # If the user did not define the library name, try with qt |
---|
| 413 | if test x"$bnv_qt_lib" = xNO; then |
---|
| 414 | bnv_qt_lib=qt |
---|
| 415 | fi |
---|
| 416 | qt_direct_test_header=qapplication.h |
---|
| 417 | qt_direct_test_main=" |
---|
| 418 | int argc; |
---|
| 419 | char ** argv; |
---|
| 420 | QApplication app(argc,argv); |
---|
| 421 | " |
---|
| 422 | # See if we find the library without any special options. |
---|
| 423 | # Don't add top $LIBS permanently yet |
---|
| 424 | bnv_save_LIBS="$LIBS" |
---|
| 425 | LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS" |
---|
| 426 | bnv_qt_LIBS="$LIBS" |
---|
| 427 | bnv_save_CXXFLAGS="$CXXFLAGS" |
---|
| 428 | CXXFLAGS="-I$bnv_qt_include_dir" |
---|
| 429 | AC_TRY_LINK([#include <$qt_direct_test_header>], |
---|
| 430 | $qt_direct_test_main, |
---|
| 431 | [ |
---|
| 432 | # Success. |
---|
| 433 | # We can link with no special library directory. |
---|
| 434 | bnv_qt_lib_dir= |
---|
| 435 | ], [ |
---|
| 436 | # That did not work. Try the multi-threaded version |
---|
| 437 | echo "Non-critical error, please neglect the above." >&AC_FD_CC |
---|
| 438 | bnv_qt_lib=qt-mt |
---|
| 439 | LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS" |
---|
| 440 | AC_TRY_LINK([#include <$qt_direct_test_header>], |
---|
| 441 | $qt_direct_test_main, |
---|
| 442 | [ |
---|
| 443 | # Success. |
---|
| 444 | # We can link with no special library directory. |
---|
| 445 | bnv_qt_lib_dir= |
---|
| 446 | ], [ |
---|
| 447 | # That did not work. Try the OpenGL version |
---|
| 448 | echo "Non-critical error, please neglect the above." >&AC_FD_CC |
---|
| 449 | bnv_qt_lib=qt-gl |
---|
| 450 | LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS" |
---|
| 451 | AC_TRY_LINK([#include <$qt_direct_test_header>], |
---|
| 452 | $qt_direct_test_main, |
---|
| 453 | [ |
---|
| 454 | # Success. |
---|
| 455 | # We can link with no special library directory. |
---|
| 456 | bnv_qt_lib_dir= |
---|
| 457 | ], [ |
---|
| 458 | # That did not work. Maybe a library version I don't know about? |
---|
| 459 | echo "Non-critical error, please neglect the above." >&AC_FD_CC |
---|
| 460 | # Look for some Qt lib in a standard set of common directories. |
---|
| 461 | bnv_dir_list=" |
---|
| 462 | `echo $bnv_qt_includes | sed ss/includess` |
---|
| 463 | /lib |
---|
| 464 | /usr/lib64 |
---|
| 465 | /usr/lib |
---|
| 466 | /usr/local/lib64 |
---|
| 467 | /usr/local/lib |
---|
| 468 | /opt/lib64 |
---|
| 469 | /opt/lib |
---|
| 470 | `ls -dr /usr/lib64/qt* 2>/dev/null` |
---|
| 471 | `ls -dr /usr/lib64/qt*/lib64 2>/dev/null` |
---|
| 472 | `ls -dr /usr/lib/qt* 2>/dev/null` |
---|
| 473 | `ls -dr /usr/local/qt* 2>/dev/null` |
---|
| 474 | `ls -dr /opt/qt* 2>/dev/null` |
---|
| 475 | " |
---|
| 476 | for bnv_dir in $bnv_dir_list; do |
---|
| 477 | if ls $bnv_dir/libqt* 2>/dev/null; then |
---|
| 478 | # Gamble that it's the first one... |
---|
| 479 | bnv_qt_lib="`ls $bnv_dir/libqt* | sed -n 1p | |
---|
| 480 | sed s@$bnv_dir/lib@@ | sed s/[.].*//`" |
---|
| 481 | bnv_qt_lib_dir="$bnv_dir" |
---|
| 482 | break |
---|
| 483 | fi |
---|
| 484 | done |
---|
| 485 | # Try with that one |
---|
| 486 | LIBS="-l$bnv_qt_lib $X_PRE_LIBS $X_LIBS -lX11 -lXext -lXmu -lXt -lXi $X_EXTRA_LIBS" |
---|
| 487 | AC_TRY_LINK([#include <$qt_direct_test_header>], |
---|
| 488 | $qt_direct_test_main, |
---|
| 489 | [ |
---|
| 490 | # Success. |
---|
| 491 | # We can link with no special library directory. |
---|
| 492 | bnv_qt_lib_dir= |
---|
| 493 | ], [ |
---|
| 494 | # Leave bnv_qt_lib_dir defined |
---|
| 495 | ]) |
---|
| 496 | ]) |
---|
| 497 | ]) |
---|
| 498 | ]) |
---|
| 499 | if test x"$bnv_qt_lib_dir" != x; then |
---|
| 500 | bnv_qt_LIBS="-L$bnv_qt_lib_dir $LIBS" |
---|
| 501 | else |
---|
| 502 | bnv_qt_LIBS="$LIBS" |
---|
| 503 | fi |
---|
| 504 | LIBS="$bnv_save_LIBS" |
---|
| 505 | CXXFLAGS="$bnv_save_CXXFLAGS" |
---|
| 506 | fi dnl $with_Qt_lib_dir was not given |
---|
| 507 | fi dnl Done setting up for non-traditional Trolltech installation |
---|
| 508 | ]) |
---|
| 509 | |
---|