From 9ae7535ff9050d145b921568fe7e84699efe0e48 Mon Sep 17 00:00:00 2001 From: John Cupitt Date: Sun, 18 Apr 2010 15:58:36 +0000 Subject: [PATCH] stuff --- TODO | 42 ----------------------------------------- benchmark/benchmarkn.sh | 3 --- configure.in | 34 +++++++++++++++++++++++++++++---- 3 files changed, 30 insertions(+), 49 deletions(-) diff --git a/TODO b/TODO index 9795d0b4..de0d6c27 100644 --- a/TODO +++ b/TODO @@ -1,11 +1,4 @@ -- add a --enable-debug=[no/minimum/yes] configure flag to disable assert - checks - -- --disable-threads breaks nip2's image repaint - - - - expose more of the tone funcs in nip2 - quite a few hist operations have no GUI ... lhisteq, for example? or @@ -26,8 +19,6 @@ -- nip2 image display does not work with threading disabled - - try writing docs for vipsthumbnail with gtkdoc? then try header etc. we need to have a separate docs package for the tools/ dir @@ -62,28 +53,10 @@ what about im_stretch3.c, im_resize_linear -- im_render should use a hash for tile lookup ... or+shift x/y together - - load wtc.jpg, rotate 42 degrees, zoom in and out quickly for a while, quit - - tiles are leaked :( - - does not leak if you wait for repaint to finish before zooming/unzooming - - problem with waiting for paint to finish in render_kill? - - check mosaic1, global_balance, similarity etc. use of im__affine how can we move them to im_affinei ? -- radiance read/write needs docs - - maybe have an im_format(3) page with all the built-in formats? - - hard until we document vips_object :( - -- same for matio? - - doc strings would be nice, read the SWIG notes on this - bilateral filtering, see: @@ -96,10 +69,6 @@ - try making vips_add(), an operator as a class -- need to write interpolate docs ... manpages and tutorial - - difficult without docs for vips_object - - need a section for vipsobject in the tutorial also a manpage? @@ -122,8 +91,6 @@ - we shouldn't need to call im_invalidate() in gtkdisp4 :( how can we fix this? - will im_invalidate() trash the render cache too? - - we should wrap the format API, also im_render*(), see gtkdisp.cc for sample code @@ -260,12 +227,3 @@ see also comments in nip2 TODO ... we could auto-wrap in vips_call.c cleaner! - -- on win32, should not write matrix files in binary mode, we want CR/LF chars - so we can load into excel etc easily - - how odd, we're doing - - if( !(fp = fopen( name, "w" )) ) { - - shouldn't be binary ... hmm diff --git a/benchmark/benchmarkn.sh b/benchmark/benchmarkn.sh index 903ee1a7..a2cff47e 100755 --- a/benchmark/benchmarkn.sh +++ b/benchmark/benchmarkn.sh @@ -34,9 +34,6 @@ for cpus in 1 2 3 4 5 6 ; do echo time -p vips im_benchmarkn temp.v temp2.v $chain time -p vips im_benchmarkn temp.v temp2.v $chain time -p vips im_benchmarkn temp.v temp2.v $chain - echo time -p vips im_benchmarkn --vips-wbuffer2 temp.v temp2.v $chain - time -p vips im_benchmarkn --vips-wbuffer2 temp.v temp2.v $chain - time -p vips im_benchmarkn --vips-wbuffer2 temp.v temp2.v $chain if [ $? != 0 ]; then echo "benchmark failed -- install problem?" diff --git a/configure.in b/configure.in index 1fbf77cb..1f513fd5 100644 --- a/configure.in +++ b/configure.in @@ -4,10 +4,16 @@ AM_CONFIG_HEADER(config.h) AC_CONFIG_MACRO_DIR(m4) # user-visible library versioning -IM_MAJOR_VERSION=7 -IM_MINOR_VERSION=21 -IM_MICRO_VERSION=3 -IM_VERSION=$IM_MAJOR_VERSION.$IM_MINOR_VERSION.$IM_MICRO_VERSION +m4_define([vips_major_version], [7]) +m4_define([vips_minor_version], [21]) +m4_define([vips_micro_version], [3]) +m4_define([vips_version], + [vips_major_version.vips_minor_version.vips_micro_version]) + +IM_MAJOR_VERSION=vips_major_version() +IM_MINOR_VERSION=vips_minor_version() +IM_MICRO_VERSION=vips_micro_version() +IM_VERSION=vips_version() IM_VERSION_STRING=$IM_VERSION-`date` VERSION=$IM_VERSION @@ -44,6 +50,25 @@ AC_CANONICAL_HOST AC_DEFINE_UNQUOTED(G_LOG_DOMAIN, "VIPS", [Domain for glib logging messages.]) +# disable debugging by default for production releases +m4_define([debug_default], + m4_if(m4_eval(vips_minor_version() % 2), [1], [yes], [minimum])) + +AC_ARG_ENABLE(debug, + AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@], + [turn on debugging @<:@default=debug_default()@:>@]),, + enable_debug=debug_default()) + +if test "x$enable_debug" = "xyes"; then + VIPS_DEBUG_FLAGS="-DDEBUG_FATAL -DDEBUG_LEAK" +else + VIPS_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS" + + if test "x$enable_debug" = "xno"; then + VIPS_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS" + fi +fi + AC_MSG_CHECKING([for native Win32]) case "$host" in *-*-mingw*) @@ -515,6 +540,7 @@ do echo $i done | sort -ru` VIPS_CFLAGS=`echo $VIPS_CFLAGS` +VIPS_CFLAGS="$VIPS_DEBUG_FLAGS $VIPS_CFLAGS" VIPS_INCLUDES="$PNG_INCLUDES $TIFF_INCLUDES $ZIP_INCLUDES $JPEG_INCLUDES $FFTW_INCLUDES $LCMS_INCLUDES" # need -lstdc++ for (eg.) the C++ format loaders VIPS_LIBS="$MAGICK_LIBS $PNG_LIBS $TIFF_LIBS $ZIP_LIBS $JPEG_LIBS $GTHREAD_LIBS $REQUIRED_LIBS $PANGOFT2_LIBS $FFTW3_LIBS $FFTW_LIBS $LCMS_LIBS $LIBOIL_LIBS $OPENEXR_LIBS $MATIO_LIBS $EXIF_LIBS -lstdc++ -lm"