summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Ulrich Niedermann <hun@n-dimensional.de>2020-02-17 02:13:09 +0100
committerHans Ulrich Niedermann <hun@n-dimensional.de>2020-02-17 02:13:09 +0100
commitf19f50f3c0249fca9c4419ea5f8e14a5c03508d0 (patch)
treea37f430159596d61b644655de28b831555238423
parent61810623bd65dfda17d8e371cafa6f44b785235a (diff)
downloadlibgphoto2-issue-467-wip5.tar.gz
travis-ci: Replace GP_CHECK_LIBRARY for libexifissue-467-wip5
-rw-r--r--configure.ac96
1 files changed, 52 insertions, 44 deletions
diff --git a/configure.ac b/configure.ac
index f03e8fa8a..b1f5d8151 100644
--- a/configure.ac
+++ b/configure.ac
@@ -602,21 +602,37 @@ dnl a file.
dnl libexif is available from
dnl http://www.sourceforge.net/projects/libexif
dnl ---------------------------------------------------------------------------
-AC_MSG_CHECKING([checkpoint G])
-AC_MSG_RESULT([apparently])
-
-
-GP_CHECK_LIBRARY([LIBEXIF],[libexif],[>= 0.6.13],
- [libexif/exif-data.h],[exif_data_new],[
-AC_MSG_CHECKING([checkpoint H])
-AC_MSG_RESULT([apparently])
-
-AC_MSG_CHECKING([whether we use a version of libexif with ExifData.ifd[[]]])
-# Check for libexif version
-dnl FIXME: Use AC_CHECK_MEMBER?
-CPPFLAGS_save="$CPPFLAGS"
-CPPFLAGS="$LIBEXIF_CFLAGS"
-AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+have_LIBEXIF=yes
+PKG_CHECK_MODULES([LIBEXIF], [libexif >= 0.6.13],
+ [], [have_LIBEXIF=no])
+
+AS_VAR_IF([have_LIBEXIF], [yes], [dnl
+ CPPFLAGS_save="$CPPFLAGS"
+ CPPFLAGS="${LIBEXIF_CFLAGS}"
+ AC_CHECK_HEADER([libexif/exif-data.h],[],[dnl
+ have_LIBEXIF=no
+ ])
+ CPPFLAGS="$CPPFLAGS_save"
+ AC_MSG_CHECKING([for working header libexif/exif-data.h])
+ AC_MSG_RESULT([${have_LIBEXIF}])
+
+ AS_VAR_IF([have_LIBEXIF], [yes], [dnl
+ AC_MSG_CHECKING([for function exif_data_new])
+ LIBS_save="$LIBS"
+ LIBS="${LIBEXIF_LIBS}"
+ AC_TRY_LINK_FUNC([exif_data_new],[AC_MSG_RESULT([yes])],[dnl
+ AC_MSG_RESULT([no])
+ have_LIBEXIF=no
+ ])
+ LIBS="$LIBS_save"
+
+ AS_VAR_IF([have_LIBEXIF], [yes], [dnl
+ AC_MSG_CHECKING([whether we use a version of libexif with ExifData.ifd[[]]])
+ # Check for libexif version
+ dnl FIXME: Use AC_CHECK_MEMBER?
+ CPPFLAGS_save="$CPPFLAGS"
+ CPPFLAGS="$LIBEXIF_CFLAGS"
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
/* CC=$CC */
/* CPPFLAGS=${CPPFLAGS} */
/* LDFLAGS=${LDFLAGS} */
@@ -627,34 +643,34 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
ExifContent *ec0, *ec1;
ec0 = &ed.ifd[0];
ec1 = &ed.ifd[1];
-]])], [
- AC_DEFINE([HAVE_LIBEXIF_IFD],1,
- [whether we use a version of libexif with ExifData.ifd[[]]])
- AC_MSG_RESULT([yes])
- AC_MSG_CHECKING([checkpoint J])
- AC_MSG_RESULT([apparently])
-], [
- AC_MSG_RESULT([no])
- AC_MSG_CHECKING([checkpoint K])
- AC_MSG_RESULT([apparently])
+ ]])], [dnl
+ AC_DEFINE([HAVE_LIBEXIF_IFD],1,
+ [whether we use a version of libexif with ExifData.ifd[[]]])
+ AC_MSG_RESULT([yes])
+ ], [dnl
+ AC_MSG_RESULT([no])
+ have_LIBEXIF=no
+ ])
+ CPPFLAGS="$CPPFLAGS_save"
+ ])
+ ])
+])
+
+AC_MSG_CHECKING([whether libexif is completely working for us])
+AC_MSG_RESULT([${have_LIBEXIF}])
+AM_CONDITIONAL([HAVE_LIBEXIF], [test "x$have_LIBEXIF" = "xyes"])
+AM_COND_IF([HAVE_LIBEXIF], [dnl
+ AC_DEFINE([HAVE_LIBEXIF], 1, [whether we compile with libexif support])
+ GP_CONFIG_MSG([libexif],[yes])dnl
+], [dnl
+ GP_CONFIG_MSG([libexif],[no])dnl
])
-CPPFLAGS="$CPPFLAGS_save"
- AC_MSG_CHECKING([checkpoint L])
- AC_MSG_RESULT([apparently])
-],[
- AC_MSG_CHECKING([checkpoint M])
- AC_MSG_RESULT([apparently])
-],[default-on],[http://www.sourceforge.net/projects/libexif])dnl
dnl FIXME: Is this accurate?
AM_CONDITIONAL([HAVE_CXX], [test -n "$CXX" && test "X$CXX" != "Xno"])
-AC_MSG_CHECKING([checkpoint A])
-AC_MSG_RESULT([apparently])
-
-
dnl ---------------------------------------------------------------------------
dnl Configure subprojects
dnl ---------------------------------------------------------------------------
@@ -670,20 +686,12 @@ else
fi
-AC_MSG_CHECKING([checkpoint B])
-AC_MSG_RESULT([apparently])
-
-
# ---------------------------------------------------------------------------
# clean up
# ---------------------------------------------------------------------------
GP_SET_CLEAN_FILES
-AC_MSG_CHECKING([checkpoint C])
-AC_MSG_RESULT([apparently])
-
-
# ---------------------------------------------------------------------------
# Create output files
# ---------------------------------------------------------------------------