dnl KDE_FIND_GPHOTO2 - Find gphoto2 libraries and include files dnl dnl Adapted from tdebase/nsplugins/configure.in.in AC_DEFUN([KDE_FIND_GPHOTO2], [ # Clear working variables gphoto2_includes= gphoto2_libraries= # Process user input to configure AC_ARG_WITH(kamera, AC_HELP_STRING([--without-kamera],[do not build kamera (gphoto2 required)]), [if test "$withval" = "no" ; then gphoto2_includes=none gphoto2_libraries=none fi])dnl AC_ARG_WITH(gphoto2-includes, AC_HELP_STRING([--with-gphoto2-includes=DIR],[gphoto2 include files are in DIR]), gphoto2_includes="$withval") AC_ARG_WITH(gphoto2-libraries, AC_HELP_STRING([--with-gphoto2-libraries=DIR],[gphoto2 libraries are in DIR]), gphoto2_libraries="$withval") AC_MSG_CHECKING(for gPhoto2) # the pkg-config way first, if user did not use --with- AC_CHECK_PROG(gphoto2_config,gphoto2-config,gphoto2-config,no) AC_CHECK_PROG(gphoto2_port_config,gphoto2-port-config,gphoto2-port-config,no) if test "$gphoto2_includes" = "" -a "$gphoto2_libraries" = "" -a "$gphoto2_config" != "no" -a "$gphoto2_port_config" != "no" then with_kamera="yes" GPHOTO2_INCS="`$gphoto2_config --cflags` `$gphoto2_port_config --cflags`" GPHOTO2_LIBS="`$gphoto2_config --libs` `$gphoto2_port_config --libs`" else # # Search for gphoto2 include files. # if test "$gphoto2_includes" = ""; then AC_CACHE_VAL(ac_cv_gphoto2_includes, [ ac_gphoto2_save_LIBS="$LIBS" LIBS="-lgphoto2 $LIBS" ac_cv_gphoto2_includes="none" AC_TRY_COMPILE([#include ],[int a;], [ # gphoto2.h is in the standard search path. ac_cv_gphoto2_includes= ],[ # gphoto2.h is not in the standard search path. # Locate it and put its directory in `gphoto2_includes' for dir in /usr/include /usr/local/include \ /usr/include/gphoto2 /usr/local/include/gphoto2; do if test -f "$dir/gphoto2.h"; then ac_cv_gphoto2_includes="$dir" break fi done ]) # LIBS="$ac_gphoto2_save_LIBS" ]) gphoto2_includes="$ac_cv_gphoto2_includes" fi # # Search for libgphoto2 # if test "$gphoto2_libraries" = ""; then AC_CACHE_VAL(ac_cv_gphoto2_libraries,[ ac_gphoto2_save_LIBS="$LIBS" LIBS="-lgphoto2_port -lgphoto2 $LIBS" ac_cv_gphoto2_libraries="none" AC_TRY_LINK([#include ],[gp_context_progress_start(0,0,0,0);], [ # libgphoto2 is in the standard search path. ac_cv_gphoto2_libraries= ],[ # libgphoto2 is not in the standard search path. # Locate it and put its directory in `gphoto2_libraries' for dir in /usr/lib /usr/local/lib; do if test -d "$dir" && test "`ls $dir/libgphoto2.* 2> /dev/null`" != ""; then ac_cv_gphoto2_libraries="$dir" break fi done ]) # LIBS="$ac_gphoto2_save_LIBS" ]) # gphoto2_libraries="$ac_cv_gphoto2_libraries" fi # Initialise compiler and linker flag variables for export if test "$gphoto2_includes" = "none" -o "$gphoto2_libraries" = "none" ; then with_kamera="no" else with_kamera="yes" if test "$gphoto2_libraries" = "" -o "$gphoto2_libraries" = "none"; then GPHOTO2_LIBS="-lgphoto2" else GPHOTO2_LIBS="-L$gphoto2_libraries -lgphoto2" fi if test "$gphoto2_includes" != "" -a "$gphoto2_includes" != "none"; then GPHOTO2_INCS="-I$gphoto2_includes" fi fi fi if test "$with_kamera" = "yes" ; then # Check if it works. ac_gphoto2_save_LIBS="$LIBS" ac_gphoto2_save_CFLAGS="$CFLAGS" LIBS="$LIBS $GPHOTO2_LIBS" CFLAGS="$CFLAGS $GPHOTO2_INCS" AC_TRY_LINK([#include ],[gp_context_progress_start(0,0,0,0);], [ # It works. AC_DEFINE(HAVE_GPHOTO2,1,[Define if you have gPhoto2 installed]) ],[ with_kamera="no" ]) LIBS="$ac_gphoto2_save_LIBS" CFLAGS="$ac_gphoto2_save_CFLAGS" fi dnl **** Check for va_copy **** AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy, AC_TRY_LINK( [#include ], [va_list ap1, ap2; va_copy(ap1,ap2); ], [ac_cv_c_va_copy="yes"], [ac_cv_c_va_copy="no"]) ) if test "$ac_cv_c_va_copy" = "yes" then AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy]) fi AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy, AC_TRY_LINK( [#include ], [va_list ap1, ap2; __va_copy(ap1,ap2); ], [ac_cv_c___va_copy="yes"], [ac_cv_c___va_copy="no"]) ) if test "$ac_cv_c___va_copy" = "yes" then AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy]) fi # Export compiler and linker flags for replacement in Makefile AC_SUBST(GPHOTO2_INCS) AC_SUBST(GPHOTO2_LIBS) # Display results of configuration gphoto2_libraries_result="$gphoto2_libraries" gphoto2_includes_result="$gphoto2_includes" test "$gphoto2_libraries" = "" && gphoto2_libraries_result="in default path" test "$gphoto2_includes" = "" && gphoto2_includes_result="in default path" test "$gphoto2_libraries" = "none" && gphoto2_libraries_result="(none)" test "$gphoto2_includes" = "none" && gphoto2_includes_result="(none)" AC_MSG_RESULT( [gphoto2 libraries $gphoto2_libraries_result, gphoto2 headers $gphoto2_includes_result]) ]) dnl end of KDE_FIND_GPHOTO2 definition KDE_FIND_GPHOTO2 if test "$with_kamera" = "no"; then dnl AC_MSG_WARN([You need to install gphoto 2.0 (or later), e.g. http://gphoto.net/dist/gphoto2-2.0.tar.gz if your distributor doesn't have a package]) DO_NOT_COMPILE="$DO_NOT_COMPILE kamera" fi