dnl aclocal.m4 generated automatically by aclocal 1.4-p6 dnl Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl This program is distributed in the hope that it will be useful, dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A dnl PARTICULAR PURPOSE. dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page dnl also defines GSTUFF_PKG_ERRORS on error AC_DEFUN([PKG_CHECK_MODULES], [ succeeded=no if test -z "$PKG_CONFIG"; then AC_PATH_PROG(PKG_CONFIG, pkg-config, no) fi if test "$PKG_CONFIG" = "no" ; then echo "*** The pkg-config script could not be found. Make sure it is" echo "*** in your path, or set the PKG_CONFIG environment variable" echo "*** to the full path to pkg-config." echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then AC_MSG_CHECKING(for $2) if $PKG_CONFIG --exists "$2" ; then AC_MSG_RESULT(yes) succeeded=yes AC_MSG_CHECKING($1_CFLAGS) $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` AC_MSG_RESULT($$1_CFLAGS) AC_MSG_CHECKING($1_LIBS) $1_LIBS=`$PKG_CONFIG --libs "$2"` AC_MSG_RESULT($$1_LIBS) else $1_CFLAGS="" $1_LIBS="" ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` ifelse([$4], ,echo $$1_PKG_ERRORS,) fi AC_SUBST($1_CFLAGS) AC_SUBST($1_LIBS) else echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." echo "*** See http://www.freedesktop.org/software/pkgconfig" fi fi if test $succeeded = yes; then ifelse([$3], , :, [$3]) else ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) fi ]) #QT detection from the autoqt project # Check for Qt compiler flags, linker flags, and binary packages AC_DEFUN([CHECK_QT], [ AC_REQUIRE([AC_PROG_CXX]) AC_REQUIRE([AC_PATH_X]) AC_MSG_CHECKING([QTDIR]) AC_ARG_WITH([qtdir], [ --with-qtdir=DIR Qt installation directory [default=$QTDIR]], QTDIR=$withval) AC_ARG_WITH([qt-includes], [ --with-qt-includes=DIR Directory containing the qt include files ], QT_INC_DIR=$withval) AC_ARG_WITH([qt-libs], [ --with-qt-libraries=DIR Directory containing the qt libraries ], QT_LIB_DIR=$withval) # Check that QTDIR is defined or that --with-qtdir given if test x"$QTDIR" = x; then QT_SEARCH="/usr/lib/qt31 /usr/local/qt31 /usr/lib/qt3 /usr/local/qt3 /usr/lib/qt2 /usr/local/qt2 /usr/lib/qt /usr/local/qt" for i in $QT_SEARCH; do if test -f $i/include/qglobal.h -a x$QTDIR = x; then QTDIR=$i; QT_INC_DIR=$QTDIR/include QT_LIB_DIR=$QTDIR/lib break fi done else QT_INC_DIR=$QTDIR/include QT_LIB_DIR=$QTDIR/lib fi #Some distributions don't use QTDIR and use "standard" places like /usr/include/qt3 for headers and /usr/lib for libs #We try to detect qt in those standard places when we haven't found anything in QTDIR if test x$QT_INC_DIR = x; then QT_INC_SEARCH="/usr/include/qt /usr/include/qt2 /usr/include/qt3 /usr/include/qt3" #Try to find the qt headers in places like /usr/include/qt3 for i in $QT_INC_SEARCH; do if test -f $i/qglobal.h -a x$QTDIR = x; then QT_INC_DIR=$i fi done fi if test x$QT_LIB_DIR = x; then QT_LIB_SEARCH="/usr/lib /usr/local/lib" #Try to find the qt libs in /usr/lib and /usr/local/lib for i in $QT_LIB_SEARCH; do if test "x`ls $i/libqt.* 2> /dev/null`" != x ; then QT_LIB_DIR=$i fi done fi if test x"$QT_INC_DIR" = x -o x"$QT_LIB_DIR" = x; then echo "*** Can't find qt header/library directories, you can fix this using two ways depending on your system:" echo "*** - set QTDIR or use -with-qtdir=DIR option" echo "*** - use --with-qt-includes=DIR or --with-qt-libraries=DIR to set the include/library directory" else # Change backslashes in QT_INC_DIR/QT_LIB_DIR to forward slashes to prevent escaping # problems later on in the build process, mainly for Cygwin build # environment using MSVC as the compiler # TODO: Use sed instead of perl QT_INC_DIR=`echo $QT_INC_DIR | perl -p -e 's/\\\\/\\//g'` QT_LIB_DIR=`echo $QT_LIB_DIR | perl -p -e 's/\\\\/\\//g'` # Figure out which version of Qt we are using AC_MSG_CHECKING([Qt version]) QT_VER=`grep 'define.*QT_VERSION_STR\W' $QT_INC_DIR/qglobal.h | perl -p -e 's/\D//g'` case "${QT_VER}" in 2*) QT_MAJOR="2" ;; 3*) QT_MAJOR="3" ;; *) AC_MSG_ERROR([*** Don't know how to handle this Qt major version]) ;; esac AC_MSG_RESULT([$QT_VER ($QT_MAJOR)]) # Check that moc is in path AC_CHECK_PROG(MOC, moc, moc) if test x$MOC = x ; then AC_MSG_ERROR([*** moc must be in path]) fi # uic is the Qt user interface compiler AC_CHECK_PROG(UIC, uic, uic) if test x$UIC = x ; then AC_MSG_ERROR([*** uic must be in path]) fi # qembed is the Qt data embedding utility. # It is located in $QTDIR/tools/qembed, and must be compiled and installed # manually, we'll let it slide if it isn't present AC_CHECK_PROG(QEMBED, qembed, qembed) # Calculate Qt include path QT_CXXFLAGS="-I$QT_INC_DIR" QT_IS_EMBEDDED="no" # On unix, figure out if we're doing a static or dynamic link case "${host}" in *-cygwin) AC_DEFINE_UNQUOTED(WIN32, "", Defined if on Win32 platform) if test -f "$QT_LIB_DIR/qt.lib" ; then QT_LIB="qt.lib" QT_IS_STATIC="yes" QT_IS_MT="no" elif test -f "$QT_LIB_DIR/qt-mt.lib" ; then QT_LIB="qt-mt.lib" QT_IS_STATIC="yes" QT_IS_MT="yes" elif test -f "$QT_LIB_DIR/qt$QT_VER.lib" ; then QT_LIB="qt$QT_VER.lib" QT_IS_STATIC="no" QT_IS_MT="no" elif test -f "$QT_LIB_DIR/lib/qt-mt$QT_VER.lib" ; then QT_LIB="qt-mt$QT_VER.lib" QT_IS_STATIC="no" QT_IS_MT="yes" fi ;; *) QT_IS_STATIC=`ls $QT_LIB_DIR/libqt*.a 2> /dev/null` if test "x$QT_IS_STATIC" = x; then QT_IS_STATIC="no" else QT_IS_STATIC="yes" fi if test x$QT_IS_STATIC = xno ; then QT_IS_DYNAMIC=`ls $QT_LIB_DIR/libqt*.so 2> /dev/null` if test "x$QT_IS_DYNAMIC" = x; then AC_MSG_ERROR([*** Couldn't find any Qt libraries]) fi fi if test "x`ls $QT_LIB_DIR/libqt.* 2> /dev/null`" != x ; then QT_LIB="-lqt" QT_IS_MT="no" elif test "x`ls $QT_LIB_DIR/libqt-mt.* 2> /dev/null`" != x ; then QT_LIB="-lqt-mt" QT_IS_MT="yes" elif test "x`ls $QT_LIB_DIR/libqte.* 2> /dev/null`" != x ; then QT_LIB="-lqte" QT_IS_MT="no" QT_IS_EMBEDDED="yes" elif test "x`ls $QT_LIB_DIR/libqte-mt.* 2> /dev/null`" != x ; then QT_LIB="-lqte-mt" QT_IS_MT="yes" QT_IS_EMBEDDED="yes" fi ;; esac AC_MSG_CHECKING([if Qt is static]) AC_MSG_RESULT([$QT_IS_STATIC]) AC_MSG_CHECKING([if Qt is multithreaded]) AC_MSG_RESULT([$QT_IS_MT]) AC_MSG_CHECKING([if Qt is embedded]) AC_MSG_RESULT([$QT_IS_EMBEDDED]) QT_GUILINK="" QASSISTANTCLIENT_LDADD="-lqassistantclient" case "${host}" in *irix*) QT_LIBS="$QT_LIB" if test $QT_IS_STATIC = yes ; then QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE" fi ;; *linux*) QT_LIBS="$QT_LIB" if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg" fi ;; *osf*) # Digital Unix (aka DGUX aka Tru64) QT_LIBS="$QT_LIB" if test $QT_IS_STATIC = yes ; then QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE" fi ;; *solaris*) QT_LIBS="$QT_LIB" if test $QT_IS_STATIC = yes ; then QT_LIBS="$QT_LIBS -L$x_libraries -lXext -lX11 -lm -lSM -lICE -lresolv -lsocket -lnsl" fi ;; *win*) # linker flag to suppress console when linking a GUI app on Win32 QT_GUILINK="/subsystem:windows" if test $QT_MAJOR = "3" ; then if test $QT_IS_MT = yes ; then QT_LIBS="/nodefaultlib:libcmt" else QT_LIBS="/nodefaultlib:libc" fi fi if test $QT_IS_STATIC = yes ; then QT_LIBS="$QT_LIBS $QT_LIB kernel32.lib user32.lib gdi32.lib comdlg32.lib ole32.lib shell32.lib imm32.lib advapi32.lib wsock32.lib winspool.lib winmm.lib netapi32.lib" if test $QT_MAJOR = "3" ; then QT_LIBS="$QT_LIBS qtmain.lib" fi else QT_LIBS="$QT_LIBS $QT_LIB" if test $QT_MAJOR = "3" ; then QT_CXXFLAGS="$QT_CXXFLAGS -DQT_DLL" QT_LIBS="$QT_LIBS qtmain.lib qui.lib user32.lib netapi32.lib" fi fi QASSISTANTCLIENT_LDADD="qassistantclient.lib" ;; esac if test x"$QT_IS_EMBEDDED" = "xyes" ; then QT_CXXFLAGS="-DQWS $QT_CXXFLAGS" fi if test x"$QT_IS_MT" = "xyes" ; then QT_CXXFLAGS="$QT_CXXFLAGS -D_REENTRANT -DQT_THREAD_SUPPORT" fi QT_LDADD="-L$QT_LIB_DIR $QT_LIBS" if test x$QT_IS_STATIC = xyes ; then OLDLIBS="$LIBS" LIBS="$QT_LDADD" AC_CHECK_LIB(Xft, XftFontOpen, QT_LDADD="$QT_LDADD -lXft") LIBS="$LIBS" fi AC_MSG_CHECKING([QT_CXXFLAGS]) AC_MSG_RESULT([$QT_CXXFLAGS]) AC_MSG_CHECKING([QT_LDADD]) AC_MSG_RESULT([$QT_LDADD]) AC_SUBST(QT_CXXFLAGS) AC_SUBST(QT_LDADD) AC_SUBST(QT_GUILINK) AC_SUBST(QASSISTANTCLIENT_LDADD) fi ]) # Like AC_CONFIG_HEADER, but automatically create stamp file. AC_DEFUN([AM_CONFIG_HEADER], [AC_PREREQ([2.12]) AC_CONFIG_HEADER([$1]) dnl When config.status generates a header, we must update the stamp-h file. dnl This file resides in the same directory as the config header dnl that is generated. We must strip everything past the first ":", dnl and everything past the last "/". AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>, <>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>, <>; do case " <<$>>CONFIG_HEADERS " in *" <<$>>am_file "*<<)>> echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx ;; esac am_indx=`expr "<<$>>am_indx" + 1` done<<>>dnl>>) changequote([,]))])