Both LCMS1 and LCMS2 are supported.
[liblcms=$enableval], [liblcms=auto])
if test "x${liblcms}" != "xno"; then
- PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
+ PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
[
HAVE_LCMS=yes
AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
+ AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
],
[
- HAVE_LCMS=no
- AC_MSG_WARN([$LCMS_PKG_ERRORS])
+ PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
+ [
+ HAVE_LCMS=yes
+ AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
+ ],
+ [
+ HAVE_LCMS=no
+ AC_MSG_WARN([$LCMS_PKG_ERRORS])
+ ])
])
else
HAVE_LCMS=disabled
#ifdef HAVE_LCMS
/*** color support enabled ***/
+#ifdef HAVE_LCMS2
+#include <lcms2.h>
+#else
#include <lcms.h>
+#endif
typedef struct _ColorManCache ColorManCache;
if (init_done) return;
init_done = TRUE;
+#ifndef HAVE_LCMS2
cmsErrorAction(LCMS_ERROR_IGNORE);
+#endif
}
static cmsHPROFILE color_man_create_adobe_comp(void)
case COLOR_PROFILE_FILE:
if (profile)
{
+#ifdef HAVE_LCMS2
+ cmsUInt8Number profileID[17];
+ profileID[16] = '\0';
+ cmsGetHeaderProfileID(profile, profileID);
+ return g_strdup(profileID);
+#else
return g_strdup(cmsTakeProductName(profile));
+#endif
}
return g_strdup(_("Custom profile"));
break;
#ifdef HAVE_LCMS
/*** color support enabled ***/
-#ifdef HAVE_LCMS_LCMS_H
- #include <lcms/lcms.h>
+#ifdef HAVE_LCMS2
+#include <lcms2.h>
#else
- #include <lcms.h>
+#include <lcms.h>
#endif
#endif
static gchar *exif_build_formatted_ColorProfile(ExifData *exif)
{
+#ifdef HAVE_LCMS2
+ cmsUInt8Number profileID[17];
+#endif
const gchar *name = "";
const gchar *source = "";
guchar *profile_data;
profile = cmsOpenProfileFromMem(profile_data, profile_len);
if (profile)
{
+#ifdef HAVE_LCMS2
+ profileID[16] = '\0';
+ cmsGetHeaderProfileID(profile, profileID);
+ name = profileID;
+#else
name = cmsTakeProductName(profile);
+#endif
cmsCloseProfile(profile);
}
g_free(profile_data);