dnl Process this file with autoconf to produce a configure script. AC_INIT(src/main.cpp) AC_CANONICAL_HOST AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(qfaxreader, 0.3.1) prefix_save=$prefix AC_PREFIX_PROGRAM(qfaxreader) dnl path to docdir DOCDIR= AC_ARG_WITH(docdir, [ --with-docdir=DIR where is information about packages (README, ChangeLog, etc.) [[PREFIX/share/qfaxreader]] ], [ DOCDIR="$withval" ]) if [[ -z $DOCDIR ]]; then if [[ -z ${prefix} ]] || [[ "NONE" = ${prefix} ]] ; then DOCDIR=${ac_default_prefix}/share/qfaxreader else DOCDIR=${prefix}/share/qfaxreader fi fi AC_DEFINE_UNQUOTED(DOCDIR,"$DOCDIR/",[Path to docs directory]) AC_SUBST(DOCDIR) dnl work around a bug in AC_PREFIX_PROGRAM in autoconf 2.53-2.57 prefix_new=`echo $prefix | sed 's/^\(.\).*$/\1/'` if test "x$prefix_new" != "x/"; then prefix=$prefix_save fi dnl Various compiler setup. #AC_PROG_CC AC_ISC_POSIX AC_PROG_CXX AC_C_BIGENDIAN AC_C_INLINE AC_C_CONST dnl Set assembler and assembler flags for automake > 1.4 ifdef([AM_PROG_AS], [AM_PROG_AS]) dnl Checks for programs. AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET #AM_DISABLE_STATIC #AM_PROG_LIBTOOL AC_CHECK_HEADER(pthread.h,,AC_MSG_ERROR([*** POSIX thread support not installed - please install first ***])) PTHREAD_LIBS=error AC_MSG_CHECKING(for old style FreeBSD -pthread flag) AC_EGREP_CPP(yes, [#if (defined(__FreeBSD_cc_version) && __FreeBSD_cc_version <= 500001) || defined(__OpenBSD__) yes #endif ], AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -D_THREAD_SAFE" PTHREAD_LIBS="-pthread", AC_MSG_RESULT(no)) if test "x$PTHREAD_LIBS" = xerror; then AC_CHECK_LIB(pthread, pthread_attr_init, PTHREAD_LIBS="-lpthread") fi if test "x$PTHREAD_LIBS" = xerror; then AC_CHECK_LIB(pthreads, pthread_attr_init, PTHREAD_LIBS="-lpthreads") fi if test "x$PTHREAD_LIBS" = xerror; then AC_CHECK_LIB(c_r, pthread_attr_init, PTHREAD_LIBS="-lc_r") fi if test "x$PTHREAD_LIBS" = xerror; then AC_CHECK_FUNC(pthread_attr_init, PTHREAD_LIBS="") fi if test "x$PTHREAD_LIBS" = xerror; then AC_MSG_ERROR(*** Unable to locate working posix thread library ***) fi AC_SUBST(PTHREAD_LIBS) AC_CHECK_LIB([m],[round],[AC_DEFINE([HAVE_ROUND],[1],[libm includes round])]) AC_SUBST(HAVE_ROUND) AC_LANG_CPLUSPLUS dnl Checking for tiff AC_MSG_CHECKING([for tiff]) CXXFLAGS_save=$CXXFLAGS LDFLAGS_save=$LDFLAGS LIBS_save=$LIBS if [[ ! -f /usr/include/tiff.h ]]; then for i in "/usr/local/include"; do if [[ -f "$i/tiff.h" ]]; then CXXFLAGS="$CXXFLAGS -I$i" break fi done fi if [[ ! -f /usr/lib/libtiff.so ]]; then for i in "/usr/local/lib"; do if [[ -f "$i/libtiff.so" ]]; then LDFLAGS="$LDFLAGS -L$i" break fi done fi LIBS="$LIBS -ltiff" AC_RUN_IFELSE([ #include #include #include int main() { char str[[100]]; const char *str1 = strstr(TIFFGetVersion(), "Version ") + 8; const char *str2 = strstr(str1, "\n"); memset(str, '\0', sizeof(str)); strncpy(str, str1, str2 - str1); printf("found %s\n", str); return 0; } ], [], [AC_MSG_RESULT(no) echo echo "*******************************************************" echo " Cannot compile a small application with tiff library!" echo " Please check config.log for more information." echo "*******************************************************" echo exit 1 ] ) dnl Checking for alias AC_ARG_ENABLE(alias, [ --disable-alias disable alias support [[default=enabled]]],, enable_alias="yes") if [[ "x$enable_alias" = "xyes" ]]; then AC_MSG_CHECKING([for gdbm]) CXXFLAGS_save=$CXXFLAGS LDFLAGS_save=$LDFLAGS LIBS_save=$LIBS have_alias="no" if [[ ! -f /usr/include/gdbm.h ]]; then for i in "/usr/local/include"; do if [[ -f "$i/gdbm.h" ]]; then CXXFLAGS="$CXXFLAGS -I$i" break fi done fi if [[ ! -f /usr/lib/libgdbm.so ]]; then for i in "/usr/local/lib"; do if [[ -f "$i/libgdbm.so" ]]; then LDFLAGS="$LDFLAGS -L$i" break fi done fi LIBS="$LIBS -lgdbm" AC_RUN_IFELSE([ #include #include #include int main() { const char *str1 = strstr(gdbm_version, "version ") + 8; const char *str2 = strstr(str1, ","); if(!str2) { str2 = strstr(str1, "."); str2 = strstr(str2 + 1, "."); str2 = strstr(str2 + 1, "."); } char str[[1000]]; memset(str, '\0', sizeof(str)); if(str1 && str2) strncpy(str, str1, str2 - str1); else strncpy(str, gdbm_version, sizeof(str)); printf("found %s\n",str); return 0; } ], [ AC_DEFINE(GDBM,1,[GDBM support]) have_alias="yes" ], [ AC_MSG_RESULT(no) CXXFLAGS=$CXXFLAGS_save LDFLAGS=$LDFLAGS_save LIBS=$LIBS_save ] ) dnl check for berkeley db if [[ "x$have_alias" = "xno" ]]; then AC_MSG_CHECKING([for berkeley db]) CXXFLAGS_save=$CXXFLAGS LDFLAGS_save=$LDFLAGS LIBS_save=$LIBS if [[ ! -f /usr/include/db.h ]]; then for i in "/usr/local/include"; do if [[ -f "$i/db.h" ]]; then CXXFLAGS="$CXXFLAGS -I$i" break fi done fi if [[ ! -f /usr/lib/libdb.so ]]; then for i in "/usr/local/lib"; do if [[ -f "$i/libdb.so" ]]; then LDFLAGS="$LDFLAGS -L$i" break fi done fi LIBS="$LIBS -ldb" AC_RUN_IFELSE([ #include #include int main() { int major, minor, patch; db_version(&major, &minor, &patch); printf("found %d.%d.%d\n", major, minor, patch); return 0; } ], [ AC_DEFINE(BDB,1,[BDB support]) have_alias="yes" ], [ AC_MSG_RESULT(no) echo echo "*******************************************************" echo " GDBM or Berkeley DB not found!" echo " Please check config.log for more information." echo " Alias support was disabled." echo "*******************************************************" echo CXXFLAGS=$CXXFLAGS_save LDFLAGS=$LDFLAGS_save LIBS=$LIBS_save ] ) fi else AC_MSG_RESULT([*** alias support disabled per user request ***]) fi #AC_MSG_CHECKING([for qt-mt]) have_qt="no" QT_INC= QT_LIB= QT_MOC= QT_UIC= RES= check_for_file() { RES= echo -n " * $1... " for i in $2; do if [[ -f "$i/$1" ]]; then echo "present ($i/$1)" RES=$i return 0 fi done echo "not found" return 1 } check_qtdir() { AC_MSG_CHECKING([for QTDIR]) if [[ -z "$QTDIR" ]]; then echo "is not set"; return 1; fi echo "found $QTDIR" AC_MSG_CHECKING([QTDIR consistence]) echo if ( check_for_file qt.h $QTDIR/include && \ check_for_file libqt-mt.so $QTDIR/lib && \ check_for_file moc $QTDIR/bin && \ check_for_file uic $QTDIR/bin ) then QT_INC=$QTDIR/include QT_LIB=$QTDIR/lib QT_MOC=$QTDIR/bin/moc QT_UIC=$QTDIR/bin/uic return 0 fi echo " * QTDIR is set, but inconsistent" return 1 } guess_qt_location() { echo "trying to guess QT location... " # possible locations for QT headers DEBIAN="/usr/share/qt3/include" FREEBSD="/usr/X11R6/include" GENTOO="/usr/qt/3/include" RH9="/usr/lib/qt-3.1/include" RHEL4="/usr/lib64/qt-3.3/include /usr/lib/qt-3.3/include" SLACK="/usr/lib/qt/include" SUSE="/usr/lib64/qt3/include /usr/lib/qt3/include" if ! check_for_file qt.h "$DEBIAN $FREEBSD $GENTOO $RH9 $RHEL4 $SLACK $SUSE"; then cat < #include int main(int argc, char argv[]) { QPtrList test; printf("found %s\n", qVersion()); return 0; } ]], [have_qt="yes"],[]) # CXXFLAGS=$CXXFLAGS_save # LDFLAGS=$LDFLAGS_save # LIBS=$LIBS_save if [[ "x$have_qt" = "xno" ]]; then AC_MSG_RESULT([not usable]) echo echo "*******************************************************" echo " Cannot compile a small application with qt library!" echo " Maybe qt is too old (minimum requirement is 3.x)." echo " Please check config.log for more information." echo "*******************************************************" echo exit 1 fi AC_SUBST(UIC) AC_SUBST(MOC) KDEICO=none AC_ARG_WITH(kdeico, [ --with-kdeico[[=DIR]] path to KDE icons [[default=none]] ], [ KDEICO="$withval" ]) AC_MSG_CHECKING([for KDE icons]) if [[ "$KDEICO" = "none" ]]; then AC_MSG_RESULT([none]) KDEICO= else if [[ -z $KDEICO ]] || [[ "$KDEICO" = "auto" ]] || [[ "$KDEICO" = "yes" ]]; then KDEICO=`kde-config --expandvars --install icon 2>/dev/null` if [[ -z $KDEICO ]]; then AC_MSG_RESULT([unknown path]) else AC_MSG_RESULT([$KDEICO]) fi else AC_MSG_RESULT([$KDEICO]) fi fi AC_SUBST(KDEICO) AC_OUTPUT([ Makefile tools/Makefile pix/Makefile i18n/Makefile src/Makefile src/pixmaps/Makefile kde/Makefile ])