[poppler] (1/2) build: have qt3 detection use pkgconfig

Albert Astals Cid aacid at kde.org
Mon Mar 22 13:34:00 PDT 2010


Hi, sorry for the late answer, i would appreciate if you did not change the 
Makefile.am and i also would appreciate if you explained all those ifelse 
inside the PKG_CHECK_MODULES call.

Albert

A Dissabte, 13 de març de 2010, Jan Engelhardt va escriure:
> parent 9dcb3e8be2cd52a795605548e43d6bfc149b2ea5 ()
> commit 3f0ab18596ab9c2a9fa03293a91da527bdc9ea31
> Author: Jan Engelhardt <jengelh at medozas.de>
> Date:   Sat Mar 13 12:14:36 2010 +0100
> 
> build: have qt3 detection use pkgconfig
> 
> Hardcoding x86_64 and/or lib64 breaks on other arches and/or custom
> setups, so let's use pkgconfig instead which has the exact information
> required for building.
> ---
>  m4/qt.m4       |  101 ++++--------------------------------------------
>  qt/Makefile.am |    4 +-
>  2 files changed, 10 insertions(+), 95 deletions(-)
> 
> diff --git a/m4/qt.m4 b/m4/qt.m4
> index 8de2628..91cabc3 100644
> --- a/m4/qt.m4
> +++ b/m4/qt.m4
> @@ -1,101 +1,16 @@
>  # POPPLER_FIND_QT(VARIABLE-PREFIX, [ACTION-IF-FOUND],
> [ACTION-IF-NOT-FOUND]) #
> -# Check whether the Qt libraries are available.  Adapted from
> -# OpenOffice.org configure.in
> +# Check whether the Qt3 libraries are available.
>  #
>  # --------------------------------------------------------------
>  AC_DEFUN([POPPLER_FIND_QT],
>  [
> -dnl Search paths for Qt
> -if test "$build_cpu" != "x86_64" ; then
> -    qt_incdirs="$QTINC /usr/local/qt/include /usr/include/qt /usr/include
> /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/lib/qt3/include
> /usr/lib/qt/include /usr/share/qt3/include" -    qt_libdirs="$QTLIB
> /usr/local/qt/lib /usr/lib/qt /usr/lib /usr/X11R6/lib/X11/qt
> /usr/X11R6/lib/qt /usr/lib/qt3/lib /usr/lib/qt/lib /usr/share/qt3/lib"
> -else
> -    qt_incdirs="$QTINC /usr/local/qt/include /usr/include/qt /usr/include
> /usr/X11R6/include/X11/qt /usr/X11R6/include/qt /usr/lib64/qt3/include
> /usr/lib64/qt/include /usr/share/qt3/include /usr/lib/qt3/include
> /usr/lib/qt/include" -    qt_libdirs="$QTLIB /usr/local/qt/lib64
> /usr/lib64/qt /usr/lib64 /usr/X11R6/lib64/X11/qt /usr/X11R6/lib64/qt
> /usr/lib64/qt3/lib64 /usr/lib64/qt/lib64 /usr/share/qt3/lib64
> /usr/local/qt/lib /usr/lib/qt /usr/lib /usr/X11R6/lib/X11/qt
> /usr/X11R6/lib/qt /usr/lib/qt3/lib /usr/lib/qt/lib /usr/share/qt3/lib" -fi
> -if test -n "$QTDIR" ; then
> -    qt_incdirs="$QTDIR/include $qt_incdirs"
> -    if test "$build_cpu" != "x86_64" ; then
> -        qt_libdirs="$QTDIR/lib $qt_libdirs"
> -    else
> -        qt_libdirs="$QTDIR/lib64 $QTDIR/lib $qt_libdirs"
> -    fi
> -fi
> -
> -dnl What to test
> -qt_test_include="qstyle.h"
> -qt_test_la_library="libqt-mt.la"
> -qt_test_library="libqt-mt.so"
> -
> -dnl Check for Qt headers
> -AC_MSG_CHECKING([for Qt headers])
> -qt_incdir="no"
> -for it in $qt_incdirs ; do
> -    if test -r "$it/$qt_test_include" ; then
> -        qt_incdir="$it"
> -        break
> -    fi
> -done
> -AC_MSG_RESULT([$qt_incdir])
> -
> -dnl Check for Qt libraries
> -AC_MSG_CHECKING([for Qt libraries])
> -qt_libdir="no"
> -for qt_check in $qt_libdirs ; do
> -    if test -r "$qt_check/$qt_test_la_library" ; then
> -        qt_libdir="$qt_check"
> -        break
> -    fi
> -
> -    if test -r "$qt_check/$qt_test_library" ; then
> -        qt_libdir="$qt_check"
> -        break
> -    fi
> -done
> -AC_MSG_RESULT([$qt_libdir])
> -
> -if test "x$qt_libdir" != "xno" ; then
> -    if test "x$qt_incdir" != "xno" ; then
> -        have_qt=yes
> -    fi
> -fi
> -
> -if test "x$have_qt" = "xyes"; then
> -    AC_LANG_PUSH([C++])
> -    pthread_needed=no
> -
> -    save_LDFLAGS=$LDFLAGS
> -    save_CXXFLAGS=$CXXFLAGS
> -    save_LIBS=$LIBS
> -    CXXFLAGS="$CXXFLAGS -I$qt_incdir"
> -    LIBS="$LIBS -L$qt_libdir -lqt-mt"
> -    AC_MSG_CHECKING([if Qt needs -pthread])
> -    AC_TRY_LINK([#include <qt.h>], [QString s;], [pthread_needed=no],
> [pthread_needed=yes]) -    if test "x$pthread_needed" = "xyes"; then
> -        LDFLAGS="$LDFLAGS -pthread"
> -        AC_TRY_LINK([#include <qt.h>], [QString s;], [pthread_needed=yes],
> [pthread_needed=no]) -    fi
> -    AC_MSG_RESULT([$pthread_needed])
> -    LDFLAGS=$save_LDFLAGS
> -    CXXFLAGS=$save_CXXFLAGS
> -    LIBS=$save_LIBS
> -
> -    AC_LANG_POP
> -
> -    qtpthread=''
> -    if test "x$pthread_needed" = "xyes"; then
> -        qtpthread="-pthread"
> -    fi
> -
> -    $1[]_CXXFLAGS="-I$qt_incdir"
> -    $1[]_LIBS="$qtpthread -L$qt_libdir -lqt-mt"
> -    ifelse([$2], , :, [$2])
> -else
> -    ifelse([$3], , [AC_MSG_FAILURE(dnl
> -[Qt development libraries not found])],
> -  	   [$3])
> -fi
> +PKG_CHECK_MODULES([libqt3], [qt-mt], [
> +	ifelse([$2], , :, [$2])
> +], [
> +	ifelse([$3], ,
> +		[AC_MSG_FAILURE([Qt development libraries not found])],
> +		[$3])
>  ])
> 
> -
> +])
> diff --git a/qt/Makefile.am b/qt/Makefile.am
> index df0115c..722d796 100644
> --- a/qt/Makefile.am
> +++ b/qt/Makefile.am
> @@ -2,7 +2,7 @@ INCLUDES =					\
>  	-I$(top_srcdir)				\
>  	-I$(top_srcdir)/poppler			\
>  	$(cairo_includes)			\
> -	$(POPPLER_QT_CXXFLAGS)			\
> +	$(libqt3_CFLAGS)			\
>  	$(FREETYPE_CFLAGS)			\
>  	$(FONTCONFIG_CFLAGS)
> 
> @@ -44,5 +44,5 @@ test_poppler_qt_SOURCES =			\
>  test_poppler_qt_LDADD =				\
>  	$(top_builddir)/poppler/libpoppler.la	\
>  	libpoppler-qt.la			\
> -	$(POPPLER_QT_LIBS)			\
> +	$(libqt3_LIBS)				\
>  	$(FREETYPE_LIBS)


More information about the poppler mailing list