AC_DEFUN( LFHEX_SET_WARN_LEVEL, [ AC_REQUIRE([AC_PROG_CXX]) AC_MSG_CHECKING([for -Wall]) lfhex_tmp=$CXXFLAGS CXXFLAGS="-Wall" AC_TRY_COMPILE(, [ // I do nothing. return 0; ],lfhex_has_wall=yes,lfhex_has_wall=no) AC_MSG_RESULT([$lfhex_has_wall]) AC_MSG_CHECKING([for -Wpedantic]) CXXFLAGS="-Wpedantic" AC_TRY_COMPILE(, [ // I still do nothing return 0; ],lfhex_has_wpedantic=yes,lfhex_has_wpedantic=no) AC_MSG_RESULT([$lfhex_has_wpedantic]) CXXFLAGS=$lfhex_tmp if test $lfhex_has_wall = yes ; then CXXFLAGS="$CXXFLAGS -Wall" fi if test $lfhex_has_wpedantic = yes ; then CXXFLAGS="$CXXFLAGS -Wpedantic" fi ] ) AC_DEFUN( LFHEX_CHECK_FMTFLAGS, [ AC_REQUIRE([AC_PROG_CXX]) AC_MSG_CHECKING([for ios_base::fmtflags]) lfhex_header="#include using namespace std;" AC_TRY_COMPILE([$lfhex_header], [ ios_base::fmtflags flags = cout.flags(); return 0; ], [lfhex_ios_base_fmtflags=yes], [lfhex_ios_base_fmtflags=no]) AC_MSG_RESULT([$lfhex_ios_base_fmtflags]) if test $lfhex_ios_base_fmtflags = yes ; then AC_DEFINE(LFHEX_IOS_BASE_FMTFLAGS) fi ] ) AC_DEFUN( LFHEX_INIT, [ PROGRAM=$1 VERSION=$2 dnl make sure egrep can be found AC_REQUIRE([AC_PROGRAM_EGREP]) dnl AC_PATH_X makes sure X libs can be found AC_REQUIRE([AC_PATH_X]) AC_DEFINE_UNQUOTED(PROGRAM_STRING,"$PROGRAM $VERSION ($OFFSET_STRING)") AC_DEFINE_UNQUOTED(PROGRAM,"$PROGRAM") AC_DEFINE_UNQUOTED(VERSION,"$VERSION") AC_SUBST(PROGRAM) AC_SUBST(VERSION) ] ) dnl macros for finding qt directories AC_DEFUN( LFHEX_CHECK_MOC, [ dnl Need $QTDIR set AC_REQUIRE([LFHEX_CHECK_QT]) AC_MSG_CHECKING([for Qt MetaObject Compiler (moc)]) AC_ARG_WITH(qt-moc, [ --with-qt-moc=FILE Qt Meta Object Compiler], [ lfhex_user_moc=$withval ] ) if test -x "$lfhex_user_moc"; then MOC=$lfhex_user_moc else dnl Makes the following checks (in order): dnl for the file $MOC, then the following dirs for "moc" dnl $QTDIR/bin /usr/local/bin, /usr/bin, /bin dnl first check for moc in $QTDIR/bin if test -n "$MOC" || test ! -x "$MOC"; then dnl search for moc in typical directories dnl Note: QTDIR must be set, or we could not get here lfhex_moc_dirs=" $QTDIR/bin/ /usr/local/bin /usr/bin /bin " for lfhex_moc_path in $lfhex_moc_dirs; do if test -x "$lfhex_moc_path/moc"; then break; fi done if test -x "$lfhex_moc_path/moc"; then MOC="$lfhex_moc_path/moc" else AC_MSG_ERROR([could not find Trolltech MetaObject compiler (moc)]) fi fi fi dnl If we made it here, then set variables AC_MSG_RESULT($MOC) AC_SUBST(MOC) ]) dnl Find QT base directory AC_DEFUN( LFHEX_CHECK_QT, [ AC_REQUIRE([AC_PROG_CXX]) AC_MSG_CHECKING(for Qt install directory) AC_ARG_WITH(qt-dir, [ --with-qt-dir=DIR Qt installation directory], [ lfhex_user_qt_dir=$withval ] ) lfhex_qt_dirs=" $lfhex_user_qt_dir $QTDIR /usr/local/qt /usr/qt `ls -d /usr/local/qt* 2>/dev/null` " lfhex_qt_file= for lfhex_qt_dir in $lfhex_qt_dirs; do if test -r "$lfhex_qt_dir/include/qapplication.h"; then lfhex_qt_file="$lfhex_qt_dir/include/qapplication.h" break; fi done dnl now balk if qt dir is not found if test ! -r $lfhex_qt_file; then AC_MSG_ERROR(could not find Qt installation!) else AC_MSG_RESULT($lfhex_qt_dir) QTDIR=$lfhex_qt_dir AC_SUBST(QTDIR) fi ] ) dnl Find QT base directory AC_DEFUN( LFHEX_CHECK_QT_LIB, [ AC_REQUIRE([LFHEX_CHECK_QT]) AC_MSG_CHECKING(for Qt library) lfhex_qt_libs=" qt qt-mt " lfhex_lib_postfix=" a so sl " lfhex_qt_lib= for lfhex_qt_lib in $lfhex_qt_libs; do for lfhex_qt_lib_postfix in $lfhex_lib_postfix; do lfhex_qt_lib_file="$lfhex_qt_dir/lib/lib${lfhex_qt_lib}.$lfhex_qt_lib_postfix" dnl AC_MSG_RESULT("looking for $lfhex_qt_lib_file") if test -r $lfhex_qt_lib_file; then break 2; fi done done dnl now balk if library is not found if test ! -r $lfhex_qt_lib_file; then AC_MSG_ERROR(could not find Qt library!) else LFHEX_QT=$lfhex_qt_lib AC_SUBST(LFHEX_QT) AC_MSG_RESULT($lfhex_qt_lib_file) fi ] ) AC_DEFUN( LFHEX_CHECK_OFFSETS, [ lfhex_tmp=$CXXFLAGS CXXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" AC_CHECK_SIZEOF(off_t) CXXFLAGS=$lfhex_tmp dnl hack hack hack! could not figure out the right way to do this... dnl looked into the generated configure file and just found the correct dnl variable. AC_MSG_CHECKING([for large offset support]) if test $ac_cv_sizeof_off_t > 4 ; then CXXFLAGS="$CXXFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" OFFSET_STRING="64" AC_MSG_RESULT([yes]) else OFFSET_STRING="32" AC_MSG_RESULT([no]) fi ] )