From e0d4ed89ff0c15a9a53640f233e16ee010e264d0 Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Wed, 6 Apr 2011 12:06:32 +0100 Subject: [PATCH] reorganise tools/ dir The subdir in tools are no lonmger necessary. Also, remove ther old bin links feature, not very useful anymore. --- ChangeLog | 2 + TODO | 12 +- configure.in | 27 +--- tools/Makefile.am | 47 ++++++- tools/batch_crop | 45 +++++++ tools/{scripts => }/batch_crop.in | 0 tools/batch_image_convert | 43 ++++++ tools/{scripts => }/batch_image_convert.in | 0 tools/batch_rubber_sheet | 38 ++++++ tools/{scripts => }/batch_rubber_sheet.in | 0 tools/edvips | 148 +++++++++++++++++++++ tools/{iofuncs => }/edvips.c | 0 tools/find_mosaic | 148 +++++++++++++++++++++ tools/{mosaicing => }/find_mosaic.c | 0 tools/header | 148 +++++++++++++++++++++ tools/{iofuncs => }/header.c | 0 tools/iofuncs/Makefile.am | 25 ---- tools/light_correct | 57 ++++++++ tools/{scripts => }/light_correct.in | 0 tools/mergeup | 148 +++++++++++++++++++++ tools/{mosaicing => }/mergeup.c | 0 tools/mosaicing/Makefile.am | 15 --- tools/scripts/Makefile.am | 25 ---- tools/scripts/post_install | 5 - tools/shrink_width | 18 +++ tools/{scripts => }/shrink_width.in | 0 tools/vips | 148 +++++++++++++++++++++ tools/{scripts => }/vips-7.25 | 0 tools/{iofuncs => }/vips.c | 2 +- tools/vipsthumbnail | 148 +++++++++++++++++++++ tools/{iofuncs => }/vipsthumbnail.c | 0 31 files changed, 1150 insertions(+), 99 deletions(-) create mode 100644 tools/batch_crop rename tools/{scripts => }/batch_crop.in (100%) create mode 100644 tools/batch_image_convert rename tools/{scripts => }/batch_image_convert.in (100%) create mode 100644 tools/batch_rubber_sheet rename tools/{scripts => }/batch_rubber_sheet.in (100%) create mode 100755 tools/edvips rename tools/{iofuncs => }/edvips.c (100%) create mode 100755 tools/find_mosaic rename tools/{mosaicing => }/find_mosaic.c (100%) create mode 100755 tools/header rename tools/{iofuncs => }/header.c (100%) delete mode 100644 tools/iofuncs/Makefile.am create mode 100644 tools/light_correct rename tools/{scripts => }/light_correct.in (100%) create mode 100755 tools/mergeup rename tools/{mosaicing => }/mergeup.c (100%) delete mode 100644 tools/mosaicing/Makefile.am delete mode 100644 tools/scripts/Makefile.am delete mode 100755 tools/scripts/post_install create mode 100644 tools/shrink_width rename tools/{scripts => }/shrink_width.in (100%) create mode 100755 tools/vips rename tools/{scripts => }/vips-7.25 (100%) rename tools/{iofuncs => }/vips.c (100%) create mode 100755 tools/vipsthumbnail rename tools/{iofuncs => }/vipsthumbnail.c (100%) diff --git a/ChangeLog b/ChangeLog index fb5c548c..09889009 100644 --- a/ChangeLog +++ b/ChangeLog @@ -47,6 +47,8 @@ - added VipsOperation, an abstract base class for all vips operations - added VipsAdd, the first operation object - im_tiff2vips() int/uint mixup for rows_per_strip, thanks Bubba +- removed the links feature, won't work with vips8 +- got rid of the tools/ subdirs 30/11/10 started 7.24.0 - bump for new stable diff --git a/TODO b/TODO index 847583ee..28b2b3df 100644 --- a/TODO +++ b/TODO @@ -1,3 +1,13 @@ +- leak check, again + + add something to vips.c to let us call operations via VipsOperation + + how do we make argv strings into VipsImage? unclear + + make something for Python as well + + wrap new API for C++ + - add MATLAB write @@ -80,8 +90,6 @@ -- tools subdirs are now pretty stupid :-( just have a single dir - - test python setup.py build_ext diff --git a/configure.in b/configure.in index a12f7032..02852d10 100644 --- a/configure.in +++ b/configure.in @@ -254,19 +254,6 @@ AC_CHECK_LIB(m,hypot,[AC_DEFINE(HAVE_HYPOT,1,[have hypot() in libm.])]) PKG_CHECK_MODULES(REQUIRED, glib-2.0 >= 2.6 gmodule-2.0 >= 2.4 libxml-2.0 gobject-2.0) PACKAGES_USED="$PACKAGES_USED glib-2.0 gmodule-2.0 libxml-2.0 gobject-2.0" -# option to make im_* symlinks -AC_ARG_ENABLE(links, - AS_HELP_STRING([--enable-links], [make links for operations (default: no)])) - -if test x"$enable_links" = x"yes"; then - # tested by src/iofuncs/Makefile.am:install-exec-hook - AM_CONDITIONAL(ENABLE_LINKS, true) - enable_links=yes -else - AM_CONDITIONAL(ENABLE_LINKS, false) - enable_links=no -fi - # option to eval without threads AC_ARG_ENABLE(threads, AS_HELP_STRING([--enable-threads], [evaluate with threads (default: yes)])) @@ -643,14 +630,11 @@ AC_OUTPUT([ libvipsCC/include/vips/Makefile libvipsCC/Makefile tools/Makefile - tools/iofuncs/Makefile - tools/mosaicing/Makefile - tools/scripts/Makefile - tools/scripts/batch_crop - tools/scripts/batch_image_convert - tools/scripts/batch_rubber_sheet - tools/scripts/light_correct - tools/scripts/shrink_width + tools/batch_crop + tools/batch_image_convert + tools/batch_rubber_sheet + tools/light_correct + tools/shrink_width swig/Makefile swig/vipsCC/Makefile swig/python/setup.py @@ -668,7 +652,6 @@ open files in binary mode: $vips_binary_open enable debug: $enable_debug build C++ components: $enable_cxx evaluate with threads: $enable_threads -make symlinks for commands in bin: $enable_links build docs with gtkdoc $enable_gtk_doc * optional packages and modules diff --git a/tools/Makefile.am b/tools/Makefile.am index a3162eff..3eb90691 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -1,5 +1,44 @@ +bin_PROGRAMS = \ + find_mosaic \ + mergeup \ + vips \ + edvips \ + vipsthumbnail \ + header + +vips_SOURCES = vips.c +edvips_SOURCES = edvips.c +header_SOURCES = header.c +vipsthumbnail_SOURCES = vipsthumbnail.c +find_mosaic_SOURCES = find_mosaic.c +mergeup_SOURCES = mergeup.c + +INCLUDES = -I${top_srcdir}/libvips/include @VIPS_CFLAGS@ @VIPS_INCLUDES@ +AM_LDFLAGS = @LDFLAGS@ +LDADD = @VIPS_CFLAGS@ ${top_builddir}/libvips/libvips.la @VIPS_LIBS@ +if ENABLE_CXX +LDADD += @VIPS_CXX_LIBS@ +endif + +bin_SCRIPTS = \ + light_correct \ + shrink_width \ + batch_image_convert \ + batch_rubber_sheet \ + batch_crop \ + vips-7.25 + +EXTRA_DIST = \ + light_correct.in \ + shrink_width.in \ + batch_image_convert.in \ + batch_rubber_sheet.in \ + batch_crop.in + +install-exec-hook: + chmod ugo+x ${DESTDIR}${bindir}/light_correct + chmod ugo+x ${DESTDIR}${bindir}/shrink_width + chmod ugo+x ${DESTDIR}${bindir}/batch_image_convert + chmod ugo+x ${DESTDIR}${bindir}/batch_rubber_sheet + chmod ugo+x ${DESTDIR}${bindir}/batch_crop -SUBDIRS = \ - iofuncs \ - mosaicing \ - scripts diff --git a/tools/batch_crop b/tools/batch_crop new file mode 100644 index 00000000..bc61ada2 --- /dev/null +++ b/tools/batch_crop @@ -0,0 +1,45 @@ +#!/bin/sh + +# Crop a set of image files +# +# usage: +# +# example% batch_crop left top width height image1 image2 etc +# +# writes output images crop_image1, crop_image2 + +# default prefix +VIPSHOME=${VIPSHOME-/home/john/vips} + +name=`basename $0` +left=$1 +top=$2 +width=$3 +height=$4 +shift 4 + +# check args +if [ $# -lt 1 ]; then + echo "usage: $name left top width height image1 image2 ..." + echo + echo "$name writes a new set of images called crop_image1, " + echo "crop_image2, etc., each cropped to the specified size" + + exit 1 +fi + +# convert each argument +for i in $*; do + dir=`dirname $i` + file=`basename $i` + new=$dir/crop_$file + echo "Cropping $file as $new ..." + + if [ -f $new ]; then + echo "$new exists, skipping" + else + $VIPSHOME/bin/vips im_extract_area $i $new $left $top $width $height + fi +done + + diff --git a/tools/scripts/batch_crop.in b/tools/batch_crop.in similarity index 100% rename from tools/scripts/batch_crop.in rename to tools/batch_crop.in diff --git a/tools/batch_image_convert b/tools/batch_image_convert new file mode 100644 index 00000000..a198f0c7 --- /dev/null +++ b/tools/batch_image_convert @@ -0,0 +1,43 @@ +#!/bin/sh + +# Convert a set of image files to new file format +# +# usage: +# +# example% batch_image_convert image1 image2 etc +# +# writes output images image1.* and image2.* where * is the new file type. + +# default prefix +VIPSHOME=${VIPSHOME-/home/john/vips} + +name=`basename $0` +type=$1 +shift + +# check args +if [ $# -lt 1 ]; then + echo "usage: $name image1 image2 ..." + echo + echo "$name uses VIPS to convert a group of image files of" + echo "any image format into a new group of images all of the same" + echo "image format. VIPS can read almost any standard image format" + echo "but it can only write VIPS, JPEG, TIFF, PPM/PBM/PGM or PNG." + + exit 1 +fi + +# convert each argument +for i in $*; do + # drop the suffix on the filename + base=${i%*.*} + echo "Converting $i to $base.$type ..." + + if [ -f $base.$type ]; then + echo "$base.$type already exists skiping $i" + else + $VIPSHOME/bin/vips im_copy $i $base.$type + fi +done + + diff --git a/tools/scripts/batch_image_convert.in b/tools/batch_image_convert.in similarity index 100% rename from tools/scripts/batch_image_convert.in rename to tools/batch_image_convert.in diff --git a/tools/batch_rubber_sheet b/tools/batch_rubber_sheet new file mode 100644 index 00000000..04cbd716 --- /dev/null +++ b/tools/batch_rubber_sheet @@ -0,0 +1,38 @@ +#!/bin/sh + +# Corrects a set of image files for lens distortion using a preprepared +# recombination matrix + +# usage: +# +# example% batch_rubber_sheet matrix_file image1 image2 .. +# +# writes output images rsc_image1.v, rsc_image2.v .. + +# default prefix +VIPSHOME=${VIPSHOME-/home/john/vips} + +# get name we were run as +name=`basename $0` +rec=$1 +shift + +# check args +if [ $# -lt 1 ]; then + echo "usage: $name matrix image1 image2 ..." + echo "writes rsc_image1, rsc_image2, ..." + echo + echo "$name uses VIPS to correct a set of images for lens distortion" + echo "using a matrix calculated by the 'resample' function." + + exit 1 +fi + +# transform each argument +for i in $*; do + echo "Transforming $i to rsc_$i ..." + + # bilinear interp., don't wrap edges + $VIPSHOME/bin/vips im_transform $i rsc_$i $rec 1 0 +done + diff --git a/tools/scripts/batch_rubber_sheet.in b/tools/batch_rubber_sheet.in similarity index 100% rename from tools/scripts/batch_rubber_sheet.in rename to tools/batch_rubber_sheet.in diff --git a/tools/edvips b/tools/edvips new file mode 100755 index 00000000..219a92b4 --- /dev/null +++ b/tools/edvips @@ -0,0 +1,148 @@ +#! /bin/bash + +# edvips - temporary wrapper script for .libs/edvips +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# The edvips program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/john/GIT/libvips/tools; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; LD_LIBRARY_PATH=/usr/local/lib:/home/john/vips/lib; export LD_LIBRARY_PATH; PATH=/home/john/.gem/ruby/1.8/bin:/var/lib/gems/1.8/bin:/home/john/vips/bin:/home/john/cross/mingw_cross_env-1.4/usr/bin:/home/john/bin:/home/john/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/john/.local/bin; export PATH; gcc -std=gnu99 -g -Wall -o \$progdir/\$file edvips.o -DDEBUG_FATAL -DDEBUG_LEAK -pthread -fopenmp -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/libxml2 -I/usr/include/libpng12 -I/usr/include/libexif -I/usr/include/glib-2.0 -I/usr/include/freetype2 -I/usr/include/OpenEXR -I/usr/include/ImageMagick -pthread -Wl,--export-dynamic -pthread -pthread -pthread ../libvips/.libs/libvips.so /usr/lib/libMagickWand.so /usr/lib/libMagickCore.so -lpng12 /usr/lib/libtiff.so /usr/lib/libjpeg.so /usr/lib/libxml2.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libfreetype.so -lfontconfig /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so /usr/lib/libfftw3.so /usr/lib/liblcms.so /usr/lib/libIlmImf.so -lImath -lHalf -lIex -lIlmThread -lcfitsio -lpthread /usr/lib/libmatio.so -lz /usr/lib/libexif.so -lm -lstdc++ -pthread -Wl,-rpath -Wl,/home/john/GIT/libvips/libvips/.libs -Wl,-rpath -Wl,/home/john/vips/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6b' + notinst_deplibs=' ../libvips/libvips.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/bash "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'edvips' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/tools/iofuncs/edvips.c b/tools/edvips.c similarity index 100% rename from tools/iofuncs/edvips.c rename to tools/edvips.c diff --git a/tools/find_mosaic b/tools/find_mosaic new file mode 100755 index 00000000..aca32456 --- /dev/null +++ b/tools/find_mosaic @@ -0,0 +1,148 @@ +#! /bin/bash + +# find_mosaic - temporary wrapper script for .libs/find_mosaic +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# The find_mosaic program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/john/GIT/libvips/tools; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; LD_LIBRARY_PATH=/usr/local/lib:/home/john/vips/lib; export LD_LIBRARY_PATH; PATH=/home/john/.gem/ruby/1.8/bin:/var/lib/gems/1.8/bin:/home/john/vips/bin:/home/john/cross/mingw_cross_env-1.4/usr/bin:/home/john/bin:/home/john/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/john/.local/bin; export PATH; gcc -std=gnu99 -g -Wall -o \$progdir/\$file find_mosaic.o -DDEBUG_FATAL -DDEBUG_LEAK -pthread -fopenmp -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/libxml2 -I/usr/include/libpng12 -I/usr/include/libexif -I/usr/include/glib-2.0 -I/usr/include/freetype2 -I/usr/include/OpenEXR -I/usr/include/ImageMagick -pthread -Wl,--export-dynamic -pthread -pthread -pthread ../libvips/.libs/libvips.so /usr/lib/libMagickWand.so /usr/lib/libMagickCore.so -lpng12 /usr/lib/libtiff.so /usr/lib/libjpeg.so /usr/lib/libxml2.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libfreetype.so -lfontconfig /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so /usr/lib/libfftw3.so /usr/lib/liblcms.so /usr/lib/libIlmImf.so -lImath -lHalf -lIex -lIlmThread -lcfitsio -lpthread /usr/lib/libmatio.so -lz /usr/lib/libexif.so -lm -lstdc++ -pthread -Wl,-rpath -Wl,/home/john/GIT/libvips/libvips/.libs -Wl,-rpath -Wl,/home/john/vips/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6b' + notinst_deplibs=' ../libvips/libvips.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/bash "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'find_mosaic' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/tools/mosaicing/find_mosaic.c b/tools/find_mosaic.c similarity index 100% rename from tools/mosaicing/find_mosaic.c rename to tools/find_mosaic.c diff --git a/tools/header b/tools/header new file mode 100755 index 00000000..9bc38fbf --- /dev/null +++ b/tools/header @@ -0,0 +1,148 @@ +#! /bin/bash + +# header - temporary wrapper script for .libs/header +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# The header program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/john/GIT/libvips/tools; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; LD_LIBRARY_PATH=/usr/local/lib:/home/john/vips/lib; export LD_LIBRARY_PATH; PATH=/home/john/.gem/ruby/1.8/bin:/var/lib/gems/1.8/bin:/home/john/vips/bin:/home/john/cross/mingw_cross_env-1.4/usr/bin:/home/john/bin:/home/john/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/john/.local/bin; export PATH; gcc -std=gnu99 -g -Wall -o \$progdir/\$file header.o -DDEBUG_FATAL -DDEBUG_LEAK -pthread -fopenmp -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/libxml2 -I/usr/include/libpng12 -I/usr/include/libexif -I/usr/include/glib-2.0 -I/usr/include/freetype2 -I/usr/include/OpenEXR -I/usr/include/ImageMagick -pthread -Wl,--export-dynamic -pthread -pthread -pthread ../libvips/.libs/libvips.so /usr/lib/libMagickWand.so /usr/lib/libMagickCore.so -lpng12 /usr/lib/libtiff.so /usr/lib/libjpeg.so /usr/lib/libxml2.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libfreetype.so -lfontconfig /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so /usr/lib/libfftw3.so /usr/lib/liblcms.so /usr/lib/libIlmImf.so -lImath -lHalf -lIex -lIlmThread -lcfitsio -lpthread /usr/lib/libmatio.so -lz /usr/lib/libexif.so -lm -lstdc++ -pthread -Wl,-rpath -Wl,/home/john/GIT/libvips/libvips/.libs -Wl,-rpath -Wl,/home/john/vips/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6b' + notinst_deplibs=' ../libvips/libvips.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/bash "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'header' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/tools/iofuncs/header.c b/tools/header.c similarity index 100% rename from tools/iofuncs/header.c rename to tools/header.c diff --git a/tools/iofuncs/Makefile.am b/tools/iofuncs/Makefile.am deleted file mode 100644 index bcc019a0..00000000 --- a/tools/iofuncs/Makefile.am +++ /dev/null @@ -1,25 +0,0 @@ -bin_PROGRAMS = \ - vips \ - edvips \ - vipsthumbnail \ - header - -vips_SOURCES = vips.c -edvips_SOURCES = edvips.c -header_SOURCES = header.c -vipsthumbnail_SOURCES = vipsthumbnail.c - -INCLUDES = -I${top_srcdir}/libvips/include @VIPS_CFLAGS@ @VIPS_INCLUDES@ -AM_LDFLAGS = @LDFLAGS@ -LDADD = @VIPS_CFLAGS@ ${top_builddir}/libvips/libvips.la @VIPS_LIBS@ -if ENABLE_CXX -LDADD += @VIPS_CXX_LIBS@ -endif - -if ENABLE_LINKS -install-exec-hook: - ${top_srcdir}/src/scripts/post_install ${DESTDIR}${bindir} -uninstall-hook: - ${RM} ${bindir}/im_* -endif - diff --git a/tools/light_correct b/tools/light_correct new file mode 100644 index 00000000..94ba599c --- /dev/null +++ b/tools/light_correct @@ -0,0 +1,57 @@ +#!/bin/sh +# correct a set of files for illumination errors +# usage: +# +# example% light_correct grey.v im1.v im2.v +# +# writes output images ic_im1.v and ic_im2.v + +# default prefix +VIPSHOME=${VIPSHOME-/home/john/vips} + +# get name we were run as +name=$0 +bname=`basename $name` + +# names of our temp files +t1=light_correct_temp1 +t2=light_correct_temp2 + +# check args +if [ $# -lt 2 ]; then + echo "${bname}: usage: $bname ..." + exit 1 +fi + +echo "Preparing grey ..." +grey=$1 +shift + +# find image size +width=`$VIPSHOME/bin/vips im_header_int Xsize $grey` +height=`$VIPSHOME/bin/vips im_header_int Ysize $grey` + +# smooth the grey out +$VIPSHOME/bin/vips im_shrink $grey $t1.v 20 20 +$VIPSHOME/bin/vips im_resize_linear $t1.v $t2.v $width $height + +# and make the correction image +mean=`$VIPSHOME/bin/vips im_avg $t2.v` +$VIPSHOME/bin/vips im_powtra $t2.v $t1.v -1 +$VIPSHOME/bin/vips im_lintra $mean $t1.v 0 $t2.v + +# grey correct images in order +for i in "$@"; do + echo "Correcting $i as ic_$i ..." + $VIPSHOME/bin/vips im_multiply $t2.v "$i" $t1.v + $VIPSHOME/bin/vips im_clip $t1.v "ic_$i" + + # remove the .desc as well + name=`echo $name | sed -e 's/\.[^\.]*//'` + /bin/rm -f "ic_$name.desc" +done + +# more cleanup +echo "Cleaning up ..." +/bin/rm -f $t1.v $t1.desc +/bin/rm -f $t2.v $t2.desc diff --git a/tools/scripts/light_correct.in b/tools/light_correct.in similarity index 100% rename from tools/scripts/light_correct.in rename to tools/light_correct.in diff --git a/tools/mergeup b/tools/mergeup new file mode 100755 index 00000000..c72995ca --- /dev/null +++ b/tools/mergeup @@ -0,0 +1,148 @@ +#! /bin/bash + +# mergeup - temporary wrapper script for .libs/mergeup +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# The mergeup program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/john/GIT/libvips/tools; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; LD_LIBRARY_PATH=/usr/local/lib:/home/john/vips/lib; export LD_LIBRARY_PATH; PATH=/home/john/.gem/ruby/1.8/bin:/var/lib/gems/1.8/bin:/home/john/vips/bin:/home/john/cross/mingw_cross_env-1.4/usr/bin:/home/john/bin:/home/john/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/john/.local/bin; export PATH; gcc -std=gnu99 -g -Wall -o \$progdir/\$file mergeup.o -DDEBUG_FATAL -DDEBUG_LEAK -pthread -fopenmp -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/libxml2 -I/usr/include/libpng12 -I/usr/include/libexif -I/usr/include/glib-2.0 -I/usr/include/freetype2 -I/usr/include/OpenEXR -I/usr/include/ImageMagick -pthread -Wl,--export-dynamic -pthread -pthread -pthread ../libvips/.libs/libvips.so /usr/lib/libMagickWand.so /usr/lib/libMagickCore.so -lpng12 /usr/lib/libtiff.so /usr/lib/libjpeg.so /usr/lib/libxml2.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libfreetype.so -lfontconfig /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so /usr/lib/libfftw3.so /usr/lib/liblcms.so /usr/lib/libIlmImf.so -lImath -lHalf -lIex -lIlmThread -lcfitsio -lpthread /usr/lib/libmatio.so -lz /usr/lib/libexif.so -lm -lstdc++ -pthread -Wl,-rpath -Wl,/home/john/GIT/libvips/libvips/.libs -Wl,-rpath -Wl,/home/john/vips/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6b' + notinst_deplibs=' ../libvips/libvips.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/bash "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'mergeup' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/tools/mosaicing/mergeup.c b/tools/mergeup.c similarity index 100% rename from tools/mosaicing/mergeup.c rename to tools/mergeup.c diff --git a/tools/mosaicing/Makefile.am b/tools/mosaicing/Makefile.am deleted file mode 100644 index f350f3a1..00000000 --- a/tools/mosaicing/Makefile.am +++ /dev/null @@ -1,15 +0,0 @@ - -bin_PROGRAMS = \ - find_mosaic \ - mergeup - -find_mosaic_SOURCES = find_mosaic.c -mergeup_SOURCES = mergeup.c - -INCLUDES = -I${top_srcdir}/libvips/include @VIPS_CFLAGS@ @VIPS_INCLUDES@ -AM_LDFLAGS = @LDFLAGS@ -LDADD = @VIPS_CFLAGS@ ${top_builddir}/libvips/libvips.la @VIPS_LIBS@ -if ENABLE_CXX -LDADD += @VIPS_CXX_LIBS@ -endif - diff --git a/tools/scripts/Makefile.am b/tools/scripts/Makefile.am deleted file mode 100644 index 87fab542..00000000 --- a/tools/scripts/Makefile.am +++ /dev/null @@ -1,25 +0,0 @@ -bin_SCRIPTS = \ - light_correct \ - shrink_width \ - batch_image_convert \ - batch_rubber_sheet \ - batch_crop \ - vips-7.25 - -noinst_SCRIPTS = post_install - -EXTRA_DIST = \ - vips-7.25 \ - ${noinst_SCRIPTS} \ - light_correct.in \ - shrink_width.in \ - batch_image_convert.in \ - batch_rubber_sheet.in \ - batch_crop.in - -install-exec-hook: - chmod ugo+x ${DESTDIR}${bindir}/light_correct - chmod ugo+x ${DESTDIR}${bindir}/shrink_width - chmod ugo+x ${DESTDIR}${bindir}/batch_image_convert - chmod ugo+x ${DESTDIR}${bindir}/batch_rubber_sheet - chmod ugo+x ${DESTDIR}${bindir}/batch_crop diff --git a/tools/scripts/post_install b/tools/scripts/post_install deleted file mode 100755 index 6bb9d65a..00000000 --- a/tools/scripts/post_install +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -bin=$1 - -( cd $bin ; $bin/vips -k | sh ) diff --git a/tools/shrink_width b/tools/shrink_width new file mode 100644 index 00000000..953ce14c --- /dev/null +++ b/tools/shrink_width @@ -0,0 +1,18 @@ +#!/bin/sh +# shrink to a target width + +# default prefix +VIPSHOME=${VIPSHOME-/home/john/vips} + +name=$0 +bname=`basename $0` + +if [ $# != 3 ]; then + echo "${bname}: usage: $bname " + exit 1 +fi + +inwidth=`$VIPSHOME/bin/vips im_header_int Xsize $1` +factor=`(echo scale=10; echo $inwidth / $3) | bc` + +$VIPSHOME/bin/vips im_shrink $1 $2 $factor $factor diff --git a/tools/scripts/shrink_width.in b/tools/shrink_width.in similarity index 100% rename from tools/scripts/shrink_width.in rename to tools/shrink_width.in diff --git a/tools/vips b/tools/vips new file mode 100755 index 00000000..b062e405 --- /dev/null +++ b/tools/vips @@ -0,0 +1,148 @@ +#! /bin/bash + +# vips - temporary wrapper script for .libs/vips +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# The vips program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/john/GIT/libvips/tools; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; LD_LIBRARY_PATH=/usr/local/lib:/home/john/vips/lib; export LD_LIBRARY_PATH; PATH=/home/john/.gem/ruby/1.8/bin:/var/lib/gems/1.8/bin:/home/john/vips/bin:/home/john/cross/mingw_cross_env-1.4/usr/bin:/home/john/bin:/home/john/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/john/.local/bin; export PATH; gcc -std=gnu99 -g -Wall -o \$progdir/\$file vips.o -DDEBUG_FATAL -DDEBUG_LEAK -pthread -fopenmp -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/libxml2 -I/usr/include/libpng12 -I/usr/include/libexif -I/usr/include/glib-2.0 -I/usr/include/freetype2 -I/usr/include/OpenEXR -I/usr/include/ImageMagick -pthread -Wl,--export-dynamic -pthread -pthread -pthread ../libvips/.libs/libvips.so /usr/lib/libMagickWand.so /usr/lib/libMagickCore.so -lpng12 /usr/lib/libtiff.so /usr/lib/libjpeg.so /usr/lib/libxml2.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libfreetype.so -lfontconfig /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so /usr/lib/libfftw3.so /usr/lib/liblcms.so /usr/lib/libIlmImf.so -lImath -lHalf -lIex -lIlmThread -lcfitsio -lpthread /usr/lib/libmatio.so -lz /usr/lib/libexif.so -lm -lstdc++ -pthread -Wl,-rpath -Wl,/home/john/GIT/libvips/libvips/.libs -Wl,-rpath -Wl,/home/john/vips/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6b' + notinst_deplibs=' ../libvips/libvips.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/bash "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'vips' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/tools/scripts/vips-7.25 b/tools/vips-7.25 similarity index 100% rename from tools/scripts/vips-7.25 rename to tools/vips-7.25 diff --git a/tools/iofuncs/vips.c b/tools/vips.c similarity index 100% rename from tools/iofuncs/vips.c rename to tools/vips.c index 90fec3fe..d7c3b544 100644 --- a/tools/iofuncs/vips.c +++ b/tools/vips.c @@ -69,9 +69,9 @@ */ /* Need to disable these sometimes. - */ #undef DEBUG_FATAL #undef DEBUG_LEAK + */ #ifdef HAVE_CONFIG_H #include diff --git a/tools/vipsthumbnail b/tools/vipsthumbnail new file mode 100755 index 00000000..3d4e5580 --- /dev/null +++ b/tools/vipsthumbnail @@ -0,0 +1,148 @@ +#! /bin/bash + +# vipsthumbnail - temporary wrapper script for .libs/vipsthumbnail +# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1 +# +# The vipsthumbnail program cannot be directly executed until all the libtool +# libraries that it depends on are installed. +# +# This wrapper script should never be moved out of the build directory. +# If it is, it will not operate correctly. + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +Xsed='/bin/sed -e 1s/^X//' +sed_quote_subst='s/\([`"$\\]\)/\\\1/g' + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac +fi +BIN_SH=xpg4; export BIN_SH # for Tru64 +DUALCASE=1; export DUALCASE # for MKS sh + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +relink_command="(cd /home/john/GIT/libvips/tools; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; LD_LIBRARY_PATH=/usr/local/lib:/home/john/vips/lib; export LD_LIBRARY_PATH; PATH=/home/john/.gem/ruby/1.8/bin:/var/lib/gems/1.8/bin:/home/john/vips/bin:/home/john/cross/mingw_cross_env-1.4/usr/bin:/home/john/bin:/home/john/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/john/.local/bin; export PATH; gcc -std=gnu99 -g -Wall -o \$progdir/\$file vipsthumbnail.o -DDEBUG_FATAL -DDEBUG_LEAK -pthread -fopenmp -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/libxml2 -I/usr/include/libpng12 -I/usr/include/libexif -I/usr/include/glib-2.0 -I/usr/include/freetype2 -I/usr/include/OpenEXR -I/usr/include/ImageMagick -pthread -Wl,--export-dynamic -pthread -pthread -pthread ../libvips/.libs/libvips.so /usr/lib/libMagickWand.so /usr/lib/libMagickCore.so -lpng12 /usr/lib/libtiff.so /usr/lib/libjpeg.so /usr/lib/libxml2.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libfreetype.so -lfontconfig /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so /usr/lib/libfftw3.so /usr/lib/liblcms.so /usr/lib/libIlmImf.so -lImath -lHalf -lIex -lIlmThread -lcfitsio -lpthread /usr/lib/libmatio.so -lz /usr/lib/libexif.so -lm -lstdc++ -pthread -Wl,-rpath -Wl,/home/john/GIT/libvips/libvips/.libs -Wl,-rpath -Wl,/home/john/vips/lib)" + +# This environment variable determines our operation mode. +if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then + # install mode needs the following variables: + generated_by_libtool_version='2.2.6b' + notinst_deplibs=' ../libvips/libvips.la' +else + # When we are sourced in execute mode, $file and $ECHO are already set. + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + ECHO="echo" + file="$0" + # Make sure echo works. + if test "X$1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift + elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then + # Yippee, $ECHO works! + : + else + # Restart under the correct shell, and then maybe $ECHO will work. + exec /bin/bash "$0" --no-reexec ${1+"$@"} + fi + fi + + # Find the directory that this script lives in. + thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + test "x$thisdir" = "x$file" && thisdir=. + + # Follow symbolic links until we get to the real thisdir. + file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'` + while test -n "$file"; do + destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'` + + # If there was a directory component, then change thisdir. + if test "x$destdir" != "x$file"; then + case "$destdir" in + [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;; + *) thisdir="$thisdir/$destdir" ;; + esac + fi + + file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'` + file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'` + done + + + # Usually 'no', except on cygwin/mingw when embedded into + # the cwrapper. + WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no + if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then + # special case for '.' + if test "$thisdir" = "."; then + thisdir=`pwd` + fi + # remove .libs from thisdir + case "$thisdir" in + *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;; + .libs ) thisdir=. ;; + esac + fi + + # Try to get the absolute directory name. + absdir=`cd "$thisdir" && pwd` + test -n "$absdir" && thisdir="$absdir" + + program=lt-'vipsthumbnail' + progdir="$thisdir/.libs" + + if test ! -f "$progdir/$program" || + { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \ + test "X$file" != "X$progdir/$program"; }; then + + file="$$-$program" + + if test ! -d "$progdir"; then + mkdir "$progdir" + else + rm -f "$progdir/$file" + fi + + # relink executable if necessary + if test -n "$relink_command"; then + if relink_command_output=`eval $relink_command 2>&1`; then : + else + echo "$relink_command_output" >&2 + rm -f "$progdir/$file" + exit 1 + fi + fi + + mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null || + { rm -f "$progdir/$program"; + mv -f "$progdir/$file" "$progdir/$program"; } + rm -f "$progdir/$file" + fi + + if test -f "$progdir/$program"; then + if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then + # Run the actual program with our arguments. + + exec "$progdir/$program" ${1+"$@"} + + $ECHO "$0: cannot exec $program $*" 1>&2 + exit 1 + fi + else + # The program doesn't exist. + $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2 + $ECHO "This script is just a wrapper for $program." 1>&2 + echo "See the libtool documentation for more information." 1>&2 + exit 1 + fi +fi diff --git a/tools/iofuncs/vipsthumbnail.c b/tools/vipsthumbnail.c similarity index 100% rename from tools/iofuncs/vipsthumbnail.c rename to tools/vipsthumbnail.c