From 98ca0f530ec4b2cdf478bc7cc3fe0b2ddf94b2a4 Mon Sep 17 00:00:00 2001 From: cristy Date: Sat, 8 Oct 2011 23:19:10 +0000 Subject: [PATCH] --- Magick++/bin/Magick++-config | 2 +- MagickCore/version.h | 4 +- PerlMagick/Makefile.PL | 4 +- coders/tiff.c | 51 ++++++++++++---- config/configure.xml | 6 +- configure | 109 ++++++++++++++++++----------------- configure.ac | 88 ++++++++++++++-------------- 7 files changed, 151 insertions(+), 113 deletions(-) diff --git a/Magick++/bin/Magick++-config b/Magick++/bin/Magick++-config index 0d719f875a..afc9552088 100755 --- a/Magick++/bin/Magick++-config +++ b/Magick++/bin/Magick++-config @@ -52,7 +52,7 @@ while test $# -gt 0; do echo '-I/usr/local/include/ImageMagick' ;; --ldflags) - echo '-L/usr/local/lib ' + echo '-L/usr/local/lib -L/usr/lib' ;; --libs) echo "-L${libdir} -lMagick++ -lMagickWand -lMagickCore -llcms2 -ltiff -lfreetype -ljasper -ljpeg -lpng12 -ldjvulibre -lfontconfig -lXext -lXt -lSM -lICE -lX11 -llzma -lbz2 -lxml2 -lgvc -lgraph -lcdt -lz -lm -lgomp -lpthread -lltdl" diff --git a/MagickCore/version.h b/MagickCore/version.h index a87e762a7b..e440d9be16 100644 --- a/MagickCore/version.h +++ b/MagickCore/version.h @@ -27,14 +27,14 @@ extern "C" { */ #define MagickPackageName "ImageMagick" #define MagickCopyright "Copyright (C) 1999-2011 ImageMagick Studio LLC" -#define MagickSVNRevision "5545" +#define MagickSVNRevision "5563" #define MagickLibVersion 0x700 #define MagickLibVersionText "7.0.0" #define MagickLibVersionNumber 7,0,0 #define MagickLibAddendum "-0" #define MagickLibInterface 7 #define MagickLibMinInterface 7 -#define MagickReleaseDate "2011-10-07" +#define MagickReleaseDate "2011-10-08" #define MagickChangeDate "20110801" #define MagickAuthoritativeURL "http://www.imagemagick.org" #if defined(MAGICKCORE_OPENMP_SUPPORT) diff --git a/PerlMagick/Makefile.PL b/PerlMagick/Makefile.PL index 294675bd5c..11b57e92e1 100644 --- a/PerlMagick/Makefile.PL +++ b/PerlMagick/Makefile.PL @@ -159,8 +159,8 @@ foreach my $delegate (@tested_delegates) { my $INC_magick = '-I../ -I.. -pthread -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/graphviz -I/usr/include/freetype2 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick"'; my $LIBS_magick = '-L../MagickCore/.libs -lMagickCore -lperl -lm'; my $CCFLAGS_magick = "$Config{'ccflags'} -fopenmp -g -O2 -Wall -pthread"; -my $LDFLAGS_magick = "-L../MagickCore/.libs -lMagickCore $Config{'ldflags'} "; -my $LDDLFLAGS_magick = "-L../MagickCore/.libs -lMagickCore $Config{'lddlflags'} "; +my $LDFLAGS_magick = "-L../MagickCore/.libs -lMagickCore $Config{'ldflags'} -L/usr/lib"; +my $LDDLFLAGS_magick = "-L../MagickCore/.libs -lMagickCore $Config{'lddlflags'} -L/usr/lib"; if (($^O eq 'MSWin32') && ($Config{cc} =~ /gcc/)) { my($Ipaths, $Lpaths) = AutodetectWin32gcc(); diff --git a/coders/tiff.c b/coders/tiff.c index 8cb745e0ba..28fb7fb9b6 100644 --- a/coders/tiff.c +++ b/coders/tiff.c @@ -91,6 +91,12 @@ # if !defined(PREDICTOR_HORIZONTAL) # define PREDICTOR_HORIZONTAL 2 # endif +# if !defined(TIFFTAG_COPYRIGHT) +# define TIFFTAG_COPYRIGHT 33432 +# endif +# if !defined(TIFFTAG_OPIIMAGEID) +# define TIFF_OPIIMAGEID 32781 +# endif /* Typedef declarations. @@ -541,28 +547,53 @@ static void TIFFGetProfiles(TIFF *tiff,Image *image,ExceptionInfo *exception) static void TIFFGetProperties(TIFF *tiff,Image *image) { char + message[MaxTextExtent], *text; + uint32 + count; + if (TIFFGetField(tiff,TIFFTAG_ARTIST,&text) == 1) (void) SetImageProperty(image,"tiff:artist",text); + if (TIFFGetField(tiff,TIFFTAG_COPYRIGHT,&text) == 1) + (void) SetImageProperty(image,"tiff:copyright",text); if (TIFFGetField(tiff,TIFFTAG_DATETIME,&text) == 1) (void) SetImageProperty(image,"tiff:timestamp",text); - if (TIFFGetField(tiff,TIFFTAG_SOFTWARE,&text) == 1) - (void) SetImageProperty(image,"tiff:software",text); - if (TIFFGetField(tiff,TIFFTAG_HOSTCOMPUTER,&text) == 1) - (void) SetImageProperty(image,"tiff:hostcomputer",text); if (TIFFGetField(tiff,TIFFTAG_DOCUMENTNAME,&text) == 1) (void) SetImageProperty(image,"tiff:document",text); + if (TIFFGetField(tiff,TIFFTAG_HOSTCOMPUTER,&text) == 1) + (void) SetImageProperty(image,"tiff:hostcomputer",text); + if (TIFFGetField(tiff,TIFFTAG_IMAGEDESCRIPTION,&text) == 1) + (void) SetImageProperty(image,"comment",text); if (TIFFGetField(tiff,TIFFTAG_MAKE,&text) == 1) (void) SetImageProperty(image,"tiff:make",text); if (TIFFGetField(tiff,TIFFTAG_MODEL,&text) == 1) (void) SetImageProperty(image,"tiff:model",text); - if (TIFFGetField(tiff,33432,&text) == 1) - (void) SetImageProperty(image,"tiff:copyright",text); + if (TIFFGetField(tiff,TIFFTAG_OPIIMAGEID,&count,&text) == 1) + { + if (count >= MaxTextExtent) + count=MaxTextExtent-1; + (void) CopyMagickString(message,text,count+1); + (void) SetImageProperty(image,"tiff:image-id",message); + } if (TIFFGetField(tiff,TIFFTAG_PAGENAME,&text) == 1) (void) SetImageProperty(image,"label",text); - if (TIFFGetField(tiff,TIFFTAG_IMAGEDESCRIPTION,&text) == 1) - (void) SetImageProperty(image,"comment",text); + if (TIFFGetField(tiff,TIFFTAG_SOFTWARE,&text) == 1) + (void) SetImageProperty(image,"tiff:software",text); + if (TIFFGetField(tiff,33423,&count,&text) == 1) + { + if (count >= MaxTextExtent) + count=MaxTextExtent-1; + (void) CopyMagickString(message,text,count+1); + (void) SetImageProperty(image,"tiff:kodak-33423",message); + } + if (TIFFGetField(tiff,36867,&count,&text) == 1) + { + if (count >= MaxTextExtent) + count=MaxTextExtent-1; + (void) CopyMagickString(message,text,count+1); + (void) SetImageProperty(image,"tiff:kodak-36867",message); + } } static void TIFFGetEXIFProperties(TIFF *tiff,Image *image) @@ -2071,7 +2102,7 @@ static MagickBooleanType WritePTIFImage(const ImageInfo *image_info, { columns/=2; rows/=2; - pyramid_image=ResizeImage(next,columns,rows,UndefinedFilter,image->blur, + pyramid_image=ResizeImage(next,columns,rows,image->filter,image->blur, exception); AppendImageToList(&images,pyramid_image); } @@ -2336,7 +2367,7 @@ static void TIFFSetProperties(TIFF *tiff,Image *image) (void) TIFFSetField(tiff,TIFFTAG_SOFTWARE,value); value=GetImageProperty(image,"tiff:copyright"); if (value != (const char *) NULL) - (void) TIFFSetField(tiff,33432,value); + (void) TIFFSetField(tiff,TIFFTAG_COPYRIGHT,value); value=GetImageProperty(image,"kodak-33423"); if (value != (const char *) NULL) (void) TIFFSetField(tiff,33423,value); diff --git a/config/configure.xml b/config/configure.xml index 649b2b39c8..a1aaab3971 100644 --- a/config/configure.xml +++ b/config/configure.xml @@ -10,8 +10,8 @@ - - + + @@ -27,7 +27,7 @@ - + diff --git a/configure b/configure index 6cde133f09..e0d87e72cb 100755 --- a/configure +++ b/configure @@ -3584,7 +3584,7 @@ MAGICK_LIBRARY_CURRENT_MIN=`expr $MAGICK_LIBRARY_CURRENT - $MAGICK_LIBRARY_AGE` MAGICK_LIBRARY_VERSION_INFO=$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE -MAGICK_SVN_REVISION=5545 +MAGICK_SVN_REVISION=5563 @@ -28536,38 +28536,44 @@ FREETYPE_LIBS='' if test "$with_freetype" != 'no'; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: -------------------------------------------------------------" >&5 $as_echo "-------------------------------------------------------------" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FreeType 2.0" >&5 -$as_echo_n "checking for FreeType 2.0... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FreeType 2.0 " >&5 +$as_echo_n "checking for FreeType 2.0 ... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } failed=0 passed=0 - PERSIST_LIBS="$LIBS" + PERSIST_LDFLAGS="$LDFLAGS" PERSIST_CPPFLAGS="$CPPFLAGS" - if test "$enable_delegate_build" != 'no' && test -d "$builddir/freetype/include"; then - : - else - freetype_config='' - for ac_prog in freetype-config -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 + freetype_config='' + # Allow the user to specify the location of freetype. + if test "$with_freetype" != 'yes'; then + if test -x "${with_freetype}/bin/freetype-config"; then + freetype_config="${with_freetype}/bin/freetype-config" + elif test -x "${with_freetype}"; then + freetype_config=${with_freetype} + fi + fi + if test -z "$freetype_config"; then + # Extract the first word of "freetype-config", so it can be a program name with args. +set dummy freetype-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_freetype_config+:} false; then : +if ${ac_cv_path_freetype_config+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$freetype_config"; then - ac_cv_prog_freetype_config="$freetype_config" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $freetype_config in + [\\/]* | ?:[\\/]*) + ac_cv_path_freetype_config="$freetype_config" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_freetype_config="$ac_prog" + ac_cv_path_freetype_config="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -28575,9 +28581,10 @@ done done IFS=$as_save_IFS + ;; +esac fi -fi -freetype_config=$ac_cv_prog_freetype_config +freetype_config=$ac_cv_path_freetype_config if test -n "$freetype_config"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $freetype_config" >&5 $as_echo "$freetype_config" >&6; } @@ -28586,19 +28593,16 @@ else $as_echo "no" >&6; } fi - - test -n "$freetype_config" && break -done - if test -n "$freetype_config"; then - freetype_cflags=`$freetype_config --cflags` - freetype_libs=`$freetype_config --libs` - LIBS="$LIBS $freetype_libs" - CPPFLAGS="$freetype_cflags $CPPFLAGS" - fi + fi + if test -n "$freetype_config"; then + freetype_prefix=`${freetype_config} --prefix` + freetype_exec_prefix=`${freetype_config} --exec-prefix` + LDFLAGS="$LDFLAGS -L${freetype_exec_prefix}/lib" + CPPFLAGS="$CPPFLAGS -I${freetype_prefix}/include/freetype2" fi if test "$FREETYPE_LIBS" = ''; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT_Init_FreeType in -lfreetype" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for FT_Init_FreeType in -lfreetype" >&5 $as_echo_n "checking for FT_Init_FreeType in -lfreetype... " >&6; } if ${ac_cv_lib_freetype_FT_Init_FreeType+:} false; then : $as_echo_n "(cached) " >&6 @@ -28638,12 +28642,12 @@ if test "x$ac_cv_lib_freetype_FT_Init_FreeType" = xyes; then : FREETYPE_LIBS='-lfreetype' fi - if test "$FREETYPE_LIBS" != ''; then - passed=`expr $passed + 1` - else - failed=`expr $failed + 1` - LIBS="$PERSIST_LIBS" - fi + if test "$FREETYPE_LIBS" != ''; then + passed=`expr $passed + 1` + else + failed=`expr $failed + 1` + LDFLAGS="$PERSIST_LDFLAGS" + fi fi ac_fn_c_check_header_mongrel "$LINENO" "ft2build.h" "ac_cv_header_ft2build_h" "$ac_includes_default" @@ -28663,37 +28667,37 @@ else fi - if test "$ac_cv_header_ft2build_h" = 'yes' || test "$have_freetype_h" = 'yes'; then - passed=`expr $passed + 1` + if test "$have_freetype_h" = 'yes'; then + passed=`expr $passed + 1` else - failed=`expr $failed + 1` - CPPFLAGS="$PERSIST_CPPFLAGS" + failed=`expr $failed + 1` + CPPFLAGS="$PERSIST_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if FreeType package is complete" >&5 $as_echo_n "checking if FreeType package is complete... " >&6; } if test $passed -gt 0; then - if test $failed -gt 0; then - FREETYPE_LIBS='' - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no -- some components failed test" >&5 + if test $failed -gt 0; then + FREETYPE_LIBS='' + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no -- some components failed test" >&5 $as_echo "no -- some components failed test" >&6; } - have_freetype='no (failed tests)' - else - LIBS="$FREETYPE_LIBS $LIBS" + have_freetype='no (failed tests)' + else + LIBS="$FREETYPE_LIBS $LIBS" $as_echo "#define FREETYPE_DELEGATE 1" >>confdefs.h - if test "$ac_cv_header_ft2build_h" = 'yes'; then + if test "$ac_cv_header_ft2build_h" = 'yes'; then $as_echo "#define HAVE_FT2BUILD_H 1" >>confdefs.h - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - have_freetype='yes' fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_freetype='yes' + fi else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi @@ -28708,7 +28712,6 @@ fi - # # Check for Ghostscript library or framework. # diff --git a/configure.ac b/configure.ac index 21d37e5ea2..5bf3e67c26 100755 --- a/configure.ac +++ b/configure.ac @@ -1821,72 +1821,76 @@ have_freetype='no' FREETYPE_LIBS='' if test "$with_freetype" != 'no'; then AC_MSG_RESULT([-------------------------------------------------------------]) - AC_MSG_CHECKING([for FreeType 2.0]) - AC_MSG_RESULT([]) + AC_MSG_CHECKING(for FreeType 2.0 ) + AC_MSG_RESULT() failed=0 passed=0 - PERSIST_LIBS="$LIBS" + PERSIST_LDFLAGS="$LDFLAGS" PERSIST_CPPFLAGS="$CPPFLAGS" - if test "$enable_delegate_build" != 'no' && test -d "$builddir/freetype/include"; then - : - else - freetype_config='' - AC_CHECK_PROGS(freetype_config,freetype-config,)dnl - if test -n "$freetype_config"; then - freetype_cflags=`$freetype_config --cflags` - freetype_libs=`$freetype_config --libs` - LIBS="$LIBS $freetype_libs" - CPPFLAGS="$freetype_cflags $CPPFLAGS" - fi + freetype_config='' + # Allow the user to specify the location of freetype. + if test "$with_freetype" != 'yes'; then + if test -x "${with_freetype}/bin/freetype-config"; then + freetype_config="${with_freetype}/bin/freetype-config" + elif test -x "${with_freetype}"; then + freetype_config=${with_freetype} + fi + fi + if test -z "$freetype_config"; then + AC_PATH_PROG(freetype_config,freetype-config,)dnl + fi + if test -n "$freetype_config"; then + freetype_prefix=`${freetype_config} --prefix` + freetype_exec_prefix=`${freetype_config} --exec-prefix` + LDFLAGS="$LDFLAGS -L${freetype_exec_prefix}/lib" + CPPFLAGS="$CPPFLAGS -I${freetype_prefix}/include/freetype2" fi dnl First see if there is a library if test "$FREETYPE_LIBS" = ''; then - AC_CHECK_LIB(freetype,FT_Init_FreeType,FREETYPE_LIBS='-lfreetype',,) - if test "$FREETYPE_LIBS" != ''; then - passed=`expr $passed + 1` - else - failed=`expr $failed + 1` - LIBS="$PERSIST_LIBS" - fi + AC_CHECK_LIB(freetype,FT_Init_FreeType,FREETYPE_LIBS='-lfreetype',,) + if test "$FREETYPE_LIBS" != ''; then + passed=`expr $passed + 1` + else + failed=`expr $failed + 1` + LDFLAGS="$PERSIST_LDFLAGS" + fi fi dnl Now test for the headers AC_CHECK_HEADER([ft2build.h],[FT2BUILD_H='#include '],[ft2build=''],[]) AC_CHECK_HEADER(freetype/freetype.h,[have_freetype_h='yes'],[have_freetype_h='no'],[$FT2BUILD_H]) - if test "$ac_cv_header_ft2build_h" = 'yes' || test "$have_freetype_h" = 'yes'; then - passed=`expr $passed + 1` + if test "$have_freetype_h" = 'yes'; then + passed=`expr $passed + 1` else - failed=`expr $failed + 1` - CPPFLAGS="$PERSIST_CPPFLAGS" + failed=`expr $failed + 1` + CPPFLAGS="$PERSIST_CPPFLAGS" fi - AC_MSG_CHECKING([if FreeType package is complete]) + AC_MSG_CHECKING(if FreeType package is complete) if test $passed -gt 0; then - if test $failed -gt 0; then - FREETYPE_LIBS='' - AC_MSG_RESULT([no -- some components failed test]) - have_freetype='no (failed tests)' - else - LIBS="$FREETYPE_LIBS $LIBS" - AC_DEFINE(FREETYPE_DELEGATE,1,Define if you have FreeType (TrueType font) library) - if test "$ac_cv_header_ft2build_h" = 'yes'; then - AC_DEFINE([HAVE_FT2BUILD_H],[1],[Define to 1 if you have the header file.]) - fi - AC_MSG_RESULT([yes]) - have_freetype='yes' + if test $failed -gt 0; then + FREETYPE_LIBS='' + AC_MSG_RESULT(no -- some components failed test) + have_freetype='no (failed tests)' + else + LIBS="$FREETYPE_LIBS $LIBS" + AC_DEFINE(FREETYPE_DELEGATE,1,Define if you have FreeType (TrueType font) library) + if test "$ac_cv_header_ft2build_h" = 'yes'; then + AC_DEFINE([HAVE_FT2BUILD_H],[1],[Define to 1 if you have the header file.]) fi + AC_MSG_RESULT(yes) + have_freetype='yes' + fi else - AC_MSG_RESULT([no]) + AC_MSG_RESULT(no) fi fi -AM_CONDITIONAL(FREETYPE_DELEGATE,test "$have_freetype" = 'yes') +AM_CONDITIONAL(FREETYPE_DELEGATE, test "$have_freetype" = 'yes') AC_SUBST(FREETYPE_LIBS) dnl =========================================================================== -dnl =========================================================================== - # # Check for Ghostscript library or framework. #