Hello community, here is the log from the commit of package lzo for openSUSE:Factory checked in at Mon Sep 26 17:06:05 CEST 2011.
-------- --- lzo/lzo.changes 2011-05-06 15:53:14.000000000 +0200 +++ /mounts/work_src_done/STABLE/lzo/lzo.changes 2011-09-25 19:09:57.000000000 +0200 @@ -1,0 +2,7 @@ +Sun Sep 25 17:06:01 UTC 2011 - [email protected] + +- Update to version 2.06 +* Some minor optimizations for big-endian architectures. +* Fixed overly strict malloc() misalignment check in examples. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- lzo-2.05.tar.bz2 New: ---- lzo-2.06.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lzo.spec ++++++ --- /var/tmp/diff_new_pack.mLVU8Z/_old 2011-09-26 17:05:26.000000000 +0200 +++ /var/tmp/diff_new_pack.mLVU8Z/_new 2011-09-26 17:05:26.000000000 +0200 @@ -20,7 +20,7 @@ Name: lzo Url: http://www.oberhumer.com/opensource/lzo/ -Version: 2.05 +Version: 2.06 Release: 1 Group: Development/Libraries/C and C++ Source: lzo-%{version}.tar.bz2 ++++++ lzo-2.05.tar.bz2 -> lzo-2.06.tar.bz2 ++++++ ++++ 2037 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/Makefile.am new/lzo-2.06/Makefile.am --- old/lzo-2.05/Makefile.am 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/Makefile.am 2011-08-12 18:02:59.000000000 +0200 @@ -20,14 +20,13 @@ ##************************************************************************/ doc_DATA = AUTHORS COPYING NEWS THANKS doc/LZO.FAQ doc/LZO.TXT doc/LZOAPI.TXT -EXTRA_DIST += BUGS +EXTRA_DIST += BUGS autoconf/shtool # hooks for Automake targets -dist-hook: - -rm -rf "./$(distdir)/autoconf/" - cp -pR $(srcdir)/B/ $(srcdir)/asm/ $(srcdir)/autoconf/ $(srcdir)/doc/ $(srcdir)/util/ "$(distdir)/" - -rm -f `find "./$(distdir)/" -type l -print` - -rm -f ./$(distdir)/util/*.dat +dist-hook: dist-hook-1 +dist-hook-1: + cp -pR $(srcdir)/B/ $(srcdir)/asm/ $(srcdir)/doc/ $(srcdir)/util/ "$(distdir)/" + -rm -f $(distdir)/util/*.dat check-local: all-am ./lzotest/lzotest -mlzo -n2 -q $(top_srcdir)/COPYING @@ -56,27 +55,6 @@ ##/*********************************************************************** -##// SUBDIR examples -##************************************************************************/ - -noinst_PROGRAMS += examples/dict -noinst_PROGRAMS += examples/lzopack -noinst_PROGRAMS += examples/overlap -noinst_PROGRAMS += examples/precomp -noinst_PROGRAMS += examples/precomp2 -noinst_PROGRAMS += examples/simple - -examples_dict_SOURCES = examples/dict.c -examples_lzopack_SOURCES = examples/lzopack.c -examples_overlap_SOURCES = examples/overlap.c -examples_precomp_SOURCES = examples/precomp.c -examples_precomp2_SOURCES = examples/precomp2.c -examples_simple_SOURCES = examples/simple.c - -EXTRA_DIST += examples/portab.h examples/portab_a.h - - -##/*********************************************************************** ##// SUBDIR include/lzo ##************************************************************************/ @@ -89,33 +67,6 @@ ##/*********************************************************************** -##// SUBDIR minilzo -##************************************************************************/ - -noinst_PROGRAMS += minilzo/testmini - -minilzo_testmini_SOURCES = minilzo/testmini.c minilzo/minilzo.c -minilzo_testmini_SHORTNAME = t -minilzo_testmini_CPPFLAGS = -DMINILZO_HAVE_CONFIG_H=1 -minilzo_testmini_CPPFLAGS += -I$(top_srcdir)/include/lzo -minilzo_testmini_CPPFLAGS += $(AM_CPPFLAGS) -minilzo_testmini_LDADD = - -EXTRA_DIST += minilzo/Makefile.minilzo minilzo/README.LZO minilzo/minilzo.h - - -##/*********************************************************************** -##// SUBDIR lzotest -##************************************************************************/ - -noinst_PROGRAMS += lzotest/lzotest - -lzotest_lzotest_SOURCES = lzotest/lzotest.c - -EXTRA_DIST += lzotest/asm.h lzotest/db.h lzotest/wrap.h lzotest/wrapmisc.h - - -##/*********************************************************************** ##// SUBDIR src ##************************************************************************/ @@ -153,26 +104,60 @@ src/lzo_dll.ch src/lzo_func.ch src/lzo_mchw.ch src/lzo_ptr.h src/lzo_swd.ch \ src/miniacc.h src/stats1a.h src/stats1b.h src/stats1c.h -nodist_src_liblzo2_la_SOURCES = $(LZO_ASM_SOURCES) -src_liblzo2_la_LIBADD = $(LZO_ASM_OBJECTS) -if LZO_USE_ASM_i386_src_gas -LZO_ASM_SOURCES = \ +LZO_ASM_SOURCES_i386_src_gas = \ asm/i386/src_gas/lzo1c_s1.S asm/i386/src_gas/lzo1c_s2.S \ asm/i386/src_gas/lzo1f_f1.S asm/i386/src_gas/lzo1f_f2.S \ asm/i386/src_gas/lzo1x_f1.S asm/i386/src_gas/lzo1x_f2.S \ asm/i386/src_gas/lzo1x_s1.S asm/i386/src_gas/lzo1x_s2.S \ asm/i386/src_gas/lzo1y_f1.S asm/i386/src_gas/lzo1y_f2.S \ asm/i386/src_gas/lzo1y_s1.S asm/i386/src_gas/lzo1y_s2.S -endif -if LZO_USE_ASM_i386_obj_elf32 -LZO_ASM_OBJECTS = \ +LZO_ASM_OBJECTS_i386_obj_elf32 = \ asm/i386/obj/elf32/lzo1c_s1.o asm/i386/obj/elf32/lzo1c_s2.o \ asm/i386/obj/elf32/lzo1f_f1.o asm/i386/obj/elf32/lzo1f_f2.o \ asm/i386/obj/elf32/lzo1x_f1.o asm/i386/obj/elf32/lzo1x_f2.o \ asm/i386/obj/elf32/lzo1x_s1.o asm/i386/obj/elf32/lzo1x_s2.o \ asm/i386/obj/elf32/lzo1y_f1.o asm/i386/obj/elf32/lzo1y_f2.o \ asm/i386/obj/elf32/lzo1y_s1.o asm/i386/obj/elf32/lzo1y_s2.o +if LZO_USE_ASM_i386_src_gas +LZO_ASM_SOURCES = $(LZO_ASM_SOURCES_i386_src_gas) +endif +if LZO_USE_ASM_i386_obj_elf32 +LZO_ASM_OBJECTS = $(LZO_ASM_OBJECTS_i386_obj_elf32) endif +nodist_src_liblzo2_la_SOURCES = $(LZO_ASM_SOURCES) +src_liblzo2_la_LIBADD = $(LZO_ASM_OBJECTS) + + +##/*********************************************************************** +##// SUBDIR examples +##************************************************************************/ + +noinst_PROGRAMS += examples/dict +noinst_PROGRAMS += examples/lzopack +noinst_PROGRAMS += examples/overlap +noinst_PROGRAMS += examples/precomp +noinst_PROGRAMS += examples/precomp2 +noinst_PROGRAMS += examples/simple + +examples_dict_SOURCES = examples/dict.c +examples_lzopack_SOURCES = examples/lzopack.c +examples_overlap_SOURCES = examples/overlap.c +examples_precomp_SOURCES = examples/precomp.c +examples_precomp2_SOURCES = examples/precomp2.c +examples_simple_SOURCES = examples/simple.c + +EXTRA_DIST += examples/portab.h examples/portab_a.h + + +##/*********************************************************************** +##// SUBDIR lzotest +##************************************************************************/ + +noinst_PROGRAMS += lzotest/lzotest + +lzotest_lzotest_SOURCES = lzotest/lzotest.c + +EXTRA_DIST += lzotest/asm.h lzotest/db.h lzotest/wrap.h lzotest/wrapmisc.h ##/*********************************************************************** @@ -192,4 +177,20 @@ tests_promote_LDADD = tests_sizes_LDADD = + +##/*********************************************************************** +##// SUBDIR minilzo +##************************************************************************/ + +noinst_PROGRAMS += minilzo/testmini + +minilzo_testmini_SOURCES = minilzo/testmini.c minilzo/minilzo.c +minilzo_testmini_SHORTNAME = t +minilzo_testmini_CPPFLAGS = -DMINILZO_HAVE_CONFIG_H=1 +minilzo_testmini_CPPFLAGS += -I$(top_srcdir)/include/lzo +minilzo_testmini_CPPFLAGS += $(AM_CPPFLAGS) +minilzo_testmini_LDADD = + +EXTRA_DIST += minilzo/Makefile.minilzo minilzo/README.LZO minilzo/minilzo.h + @MAINT@-include $(top_srcdir)/Makefile.maint diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/NEWS new/lzo-2.06/NEWS --- old/lzo-2.05/NEWS 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/NEWS 2011-08-12 18:02:59.000000000 +0200 @@ -2,6 +2,10 @@ User visible changes for LZO -- a real-time data compression library ============================================================================ +Changes in 2.06 (12 Aug 2011) + * Some minor optimizations for big-endian architectures. + * Fixed overly strict malloc() misalignment check in examples. + Changes in 2.05 (23 Apr 2011) * Converted the configure system to non-recursive Automake. * Applied some overdue speed optimizations for modern x86/x64 architectures diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/autoconf/local.m4 new/lzo-2.06/autoconf/local.m4 --- old/lzo-2.05/autoconf/local.m4 1970-01-01 01:00:00.000000000 +0100 +++ new/lzo-2.06/autoconf/local.m4 2011-08-12 18:02:59.000000000 +0200 @@ -0,0 +1,559 @@ +dnl Serial 2 mfx/m4/acc.m4 + +AC_DEFUN([mfx_ACC_CHECK_ENDIAN], [ +AC_C_BIGENDIAN([AC_DEFINE(ACC_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(ACC_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])]) +]) + +AC_DEFUN([mfx_ACC_CHECK_HEADERS], [ +AC_HEADER_TIME +AC_CHECK_HEADERS([assert.h ctype.h dirent.h errno.h fcntl.h float.h limits.h malloc.h memory.h setjmp.h signal.h stdarg.h stddef.h stdint.h stdio.h stdlib.h string.h strings.h time.h unistd.h utime.h sys/mman.h sys/resource.h sys/stat.h sys/time.h sys/types.h sys/wait.h]) +]) + +AC_DEFUN([mfx_ACC_CHECK_FUNCS], [ +AC_CHECK_FUNCS(access alloca atexit atoi atol chmod chown clock_getcpuclockid clock_getres clock_gettime ctime difftime fstat getenv getpagesize getrusage gettimeofday gmtime isatty localtime longjmp lstat memcmp memcpy memmove memset mkdir mktime mmap mprotect munmap qsort raise rmdir setjmp signal snprintf strcasecmp strchr strdup strerror strftime stricmp strncasecmp strnicmp strrchr strstr time umask utime vsnprintf) +]) + +AC_DEFUN([mfx_ACC_CHECK_SIZEOF], [ +AC_CHECK_SIZEOF(short) +AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(long) + +AC_CHECK_SIZEOF(long long) +AC_CHECK_SIZEOF(__int16) +AC_CHECK_SIZEOF(__int32) +AC_CHECK_SIZEOF(__int64) + +AC_CHECK_SIZEOF(void *) +AC_CHECK_SIZEOF(size_t) +AC_CHECK_SIZEOF(ptrdiff_t) +]) + +AC_DEFUN([mfx_ACC_ACCCHK], [ +mfx_tmp=$1 +mfx_save_CPPFLAGS=$CPPFLAGS +dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here +test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS" + +AC_MSG_CHECKING([whether your compiler passes the ACC conformance test]) + +AC_LANG_CONFTEST([AC_LANG_PROGRAM( +[[#define ACC_CONFIG_NO_HEADER 1 +#include "acc/acc.h" +#include "acc/acc_incd.h" + +#undef ACCCHK_ASSERT +#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT_HEADER(expr) +#include "acc/acc_chk.ch" + +#undef ACCCHK_ASSERT +#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr) +static void test_acc_compile_time_assert(void) { +#include "acc/acc_chk.ch" +} + +#undef NDEBUG +#include <assert.h> +#undef ACCCHK_ASSERT +#define ACCCHK_ASSERT(expr) assert(expr); +static int test_acc_run_time_assert(int r) { +#include "acc/acc_chk.ch" +return r; +} +]], [[ +test_acc_compile_time_assert(); +if (test_acc_run_time_assert(1) != 1) return 1; +]] +)]) + +mfx_tmp=FAILED +_AC_COMPILE_IFELSE([], [mfx_tmp=yes]) +rm -f conftest.$ac_ext conftest.$ac_objext + +CPPFLAGS=$mfx_save_CPPFLAGS + +AC_MSG_RESULT([$mfx_tmp]) +case x$mfx_tmp in + xpassed | xyes) ;; + *) + AC_MSG_NOTICE([]) + AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ]) + AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending]) + AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.]) + AC_MSG_NOTICE([Thanks for your support.]) + AC_MSG_NOTICE([]) + AC_MSG_ERROR([ACC conformance test failed. Stop.]) +dnl AS_EXIT + ;; +esac +]) + +dnl Serial 2 mfx/m4/acc_miniacc.m4 + +AC_DEFUN([mfx_MINIACC_ACCCHK], [ +mfx_tmp=$1 +mfx_save_CPPFLAGS=$CPPFLAGS +dnl in Makefile.in $(INCLUDES) will be before $(CPPFLAGS), so we mimic this here +test "X$mfx_tmp" = "X" || CPPFLAGS="$mfx_tmp $CPPFLAGS" + +AC_MSG_CHECKING([whether your compiler passes the ACC conformance test]) + +AC_LANG_CONFTEST([AC_LANG_PROGRAM( +[[#define ACC_CONFIG_NO_HEADER 1 +#define ACC_WANT_ACC_INCD_H 1 +#include $2 + +#undef ACCCHK_ASSERT +#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT_HEADER(expr) +#define ACC_WANT_ACC_CHK_CH 1 +#include $2 + +#undef ACCCHK_ASSERT +#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr) +static void test_acc_compile_time_assert(void) { +#define ACC_WANT_ACC_CHK_CH 1 +#include $2 +} + +#undef NDEBUG +#include <assert.h> +#undef ACCCHK_ASSERT +#define ACCCHK_ASSERT(expr) assert(expr); +static int test_acc_run_time_assert(int r) { +#define ACC_WANT_ACC_CHK_CH 1 +#include $2 +return r; +} +]], [[ +test_acc_compile_time_assert(); +if (test_acc_run_time_assert(1) != 1) return 1; +]] +)]) + +mfx_tmp=FAILED +_AC_COMPILE_IFELSE([], [mfx_tmp=yes]) +rm -f conftest.$ac_ext conftest.$ac_objext + +CPPFLAGS=$mfx_save_CPPFLAGS + +AC_MSG_RESULT([$mfx_tmp]) +case x$mfx_tmp in + xpassed | xyes) ;; + *) + AC_MSG_NOTICE([]) + AC_MSG_NOTICE([Your compiler failed the ACC conformance test - for details see ]) + AC_MSG_NOTICE([`config.log'. Please check that log file and consider sending]) + AC_MSG_NOTICE([a patch or bug-report to <${PACKAGE_BUGREPORT}>.]) + AC_MSG_NOTICE([Thanks for your support.]) + AC_MSG_NOTICE([]) + AC_MSG_ERROR([ACC conformance test failed. Stop.]) +dnl AS_EXIT + ;; +esac +]) + +dnl Serial 2 mfx/m4/cppflags.m4 + +AC_DEFUN([mfx_PROG_CPPFLAGS], [ +AC_MSG_CHECKING([whether the C preprocessor needs special flags]) + +AC_LANG_CONFTEST([AC_LANG_PROGRAM( +[[#include <limits.h> +#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul) +# include "your C preprocessor is broken 1" +#elif (0xffffu == 0xfffffffful) +# include "your C preprocessor is broken 2" +#elif (32767 >= ULONG_MAX) || (65535u >= ULONG_MAX) +# include "your C preprocessor is broken 3" +#endif +]], [[ ]] +)]) + +mfx_save_CPPFLAGS=$CPPFLAGS +mfx_tmp=ERROR +for mfx_arg in "" -no-cpp-precomp +do + CPPFLAGS="$mfx_arg $mfx_save_CPPFLAGS" + _AC_COMPILE_IFELSE([], +[mfx_tmp=$mfx_arg +break]) +done +CPPFLAGS=$mfx_save_CPPFLAGS +rm -f conftest.$ac_ext conftest.$ac_objext +case x$mfx_tmp in + x) + AC_MSG_RESULT([none needed]) ;; + xERROR) + AC_MSG_RESULT([ERROR]) + AC_MSG_ERROR([your C preprocessor is broken - for details see config.log]) + ;; + *) + AC_MSG_RESULT([$mfx_tmp]) + CPPFLAGS="$mfx_tmp $CPPFLAGS" + ;; +esac +]) + +dnl Serial 10 -*- Autoconf -*- +# Enable extensions on systems that normally disable them. + +# Copyright (C) 2003, 2006-2011 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS +# Autoconf. Perhaps we can remove this once we can assume Autoconf +# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly +# enough in this area it's likely we'll need to redefine +# AC_USE_SYSTEM_EXTENSIONS for quite some time. + +# If autoconf reports a warning +# warning: AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS +# or warning: AC_RUN_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS +# the fix is +# 1) to ensure that AC_USE_SYSTEM_EXTENSIONS is never directly invoked +# but always AC_REQUIREd, +# 2) to ensure that for each occurrence of +# AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) +# or +# AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) +# the corresponding gnulib module description has 'extensions' among +# its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS +# invocation occurs in gl_EARLY, not in gl_INIT. + +# AC_USE_SYSTEM_EXTENSIONS +# ------------------------ +# Enable extensions on systems that normally disable them, +# typically due to standards-conformance issues. +# Remember that #undef in AH_VERBATIM gets replaced with #define by +# AC_DEFINE. The goal here is to define all known feature-enabling +# macros, then, if reports of conflicts are made, disable macros that +# cause problems on some platforms (such as __EXTENSIONS__). +AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS], +[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl +AC_BEFORE([$0], [AC_RUN_IFELSE])dnl + + AC_REQUIRE([AC_CANONICAL_HOST]) + + AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=]) + if test "$MINIX" = yes; then + AC_DEFINE([_POSIX_SOURCE], [1], + [Define to 1 if you need to in order for `stat' and other + things to work.]) + AC_DEFINE([_POSIX_1_SOURCE], [2], + [Define to 2 if the system does not provide POSIX.1 features + except with this defined.]) + AC_DEFINE([_MINIX], [1], + [Define to 1 if on MINIX.]) + fi + + dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500, + dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already + dnl provided. + case "$host_os" in + hpux*) + AC_DEFINE([_XOPEN_SOURCE], [500], + [Define to 500 only on HP-UX.]) + ;; + esac + + AH_VERBATIM([__EXTENSIONS__], +[/* Enable extensions on AIX 3, Interix. */ +#ifndef _ALL_SOURCE +# undef _ALL_SOURCE +#endif +/* Enable general extensions on MacOS X. */ +#ifndef _DARWIN_C_SOURCE +# undef _DARWIN_C_SOURCE +#endif +/* Enable GNU extensions on systems that have them. */ +#ifndef _GNU_SOURCE +# undef _GNU_SOURCE +#endif +/* Enable threading extensions on Solaris. */ +#ifndef _POSIX_PTHREAD_SEMANTICS +# undef _POSIX_PTHREAD_SEMANTICS +#endif +/* Enable extensions on HP NonStop. */ +#ifndef _TANDEM_SOURCE +# undef _TANDEM_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif +]) + AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__], + [ac_cv_safe_to_define___extensions__], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[ +# define __EXTENSIONS__ 1 + ]AC_INCLUDES_DEFAULT])], + [ac_cv_safe_to_define___extensions__=yes], + [ac_cv_safe_to_define___extensions__=no])]) + test $ac_cv_safe_to_define___extensions__ = yes && + AC_DEFINE([__EXTENSIONS__]) + AC_DEFINE([_ALL_SOURCE]) + AC_DEFINE([_DARWIN_C_SOURCE]) + AC_DEFINE([_GNU_SOURCE]) + AC_DEFINE([_POSIX_PTHREAD_SEMANTICS]) + AC_DEFINE([_TANDEM_SOURCE]) +])# AC_USE_SYSTEM_EXTENSIONS + +# gl_USE_SYSTEM_EXTENSIONS +# ------------------------ +# Enable extensions on systems that normally disable them, +# typically due to standards-conformance issues. +AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS], +[ + dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS. + dnl gnulib does not need it. But if it gets required by third-party macros + dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a + dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS". + dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE, + dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck. + AC_REQUIRE([AC_GNU_SOURCE]) + + AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) +]) + +dnl Serial 4 mfx/m4/limits.m4 + +AC_DEFUN([mfx_CHECK_HEADER_SANE_LIMITS_H], [ +AC_CACHE_CHECK([whether limits.h is sane], +mfx_cv_header_sane_limits_h, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <limits.h> +#if (32767 >= 4294967295ul) || (65535u >= 4294967295ul) +# if defined(__APPLE__) && defined(__GNUC__) +# error "your preprocessor is broken - use compiler option -no-cpp-precomp" +# else +# include "your preprocessor is broken" +# endif +#endif +#define MFX_0xffff 0xffff +#define MFX_0xffffffffL 4294967295ul +#if !defined(CHAR_BIT) || (CHAR_BIT != 8) +# include "error CHAR_BIT" +#endif +#if !defined(UCHAR_MAX) +# include "error UCHAR_MAX 1" +#endif +#if !defined(USHRT_MAX) +# include "error USHRT_MAX 1" +#endif +#if !defined(UINT_MAX) +# include "error UINT_MAX 1" +#endif +#if !defined(ULONG_MAX) +# include "error ULONG_MAX 1" +#endif +#if !defined(SHRT_MAX) +# include "error SHRT_MAX 1" +#endif +#if !defined(INT_MAX) +# include "error INT_MAX 1" +#endif +#if !defined(LONG_MAX) +# include "error LONG_MAX 1" +#endif +#if (UCHAR_MAX < 1) +# include "error UCHAR_MAX 2" +#endif +#if (USHRT_MAX < 1) +# include "error USHRT_MAX 2" +#endif +#if (UINT_MAX < 1) +# include "error UINT_MAX 2" +#endif +#if (ULONG_MAX < 1) +# include "error ULONG_MAX 2" +#endif +#if (UCHAR_MAX < 0xff) +# include "error UCHAR_MAX 3" +#endif +#if (USHRT_MAX < MFX_0xffff) +# include "error USHRT_MAX 3" +#endif +#if (UINT_MAX < MFX_0xffff) +# include "error UINT_MAX 3" +#endif +#if (ULONG_MAX < MFX_0xffffffffL) +# include "error ULONG_MAX 3" +#endif +#if (USHRT_MAX > UINT_MAX) +# include "error USHRT_MAX vs UINT_MAX" +#endif +#if (UINT_MAX > ULONG_MAX) +# include "error UINT_MAX vs ULONG_MAX" +#endif +]], [[ +#if (USHRT_MAX == MFX_0xffff) +{ typedef char a_short2a[1 - 2 * !(sizeof(short) == 2)]; } +#elif (USHRT_MAX >= MFX_0xffff) +{ typedef char a_short2b[1 - 2 * !(sizeof(short) > 2)]; } +#endif +#if (UINT_MAX == MFX_0xffff) +{ typedef char a_int2a[1 - 2 * !(sizeof(int) == 2)]; } +#elif (UINT_MAX >= MFX_0xffff) +{ typedef char a_int2b[1 - 2 * !(sizeof(int) > 2)]; } +#endif +#if (ULONG_MAX == MFX_0xffff) +{ typedef char a_long2a[1 - 2 * !(sizeof(long) == 2)]; } +#elif (ULONG_MAX >= MFX_0xffff) +{ typedef char a_long2b[1 - 2 * !(sizeof(long) > 2)]; } +#endif +#if !defined(_CRAY1) /* CRAY PVP systems */ +#if (USHRT_MAX == MFX_0xffffffffL) +{ typedef char a_short4a[1 - 2 * !(sizeof(short) == 4)]; } +#elif (USHRT_MAX >= MFX_0xffffffffL) +{ typedef char a_short4b[1 - 2 * !(sizeof(short) > 4)]; } +#endif +#endif /* _CRAY1 */ +#if (UINT_MAX == MFX_0xffffffffL) +{ typedef char a_int4a[1 - 2 * !(sizeof(int) == 4)]; } +#elif (UINT_MAX >= MFX_0xffffffffL) +{ typedef char a_int4b[1 - 2 * !(sizeof(int) > 4)]; } +#endif +#if (ULONG_MAX == MFX_0xffffffffL) +{ typedef char a_long4a[1 - 2 * !(sizeof(long) == 4)]; } +#elif (ULONG_MAX >= MFX_0xffffffffL) +{ typedef char a_long4b[1 - 2 * !(sizeof(long) > 4)]; } +#endif +]])], +[mfx_cv_header_sane_limits_h=yes], +[mfx_cv_header_sane_limits_h=no])]) +]) + +dnl Serial 2 mfx/m4/lzo.m4 + +AC_DEFUN([mfx_LZO_CHECK_ENDIAN], [ +AC_C_BIGENDIAN([AC_DEFINE(LZO_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(LZO_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])]) +]) + +dnl Serial 2 mfx/m4/mfx.m4 + +AC_DEFUN([mfx_CHECK_SIZEOF], [ +AC_CHECK_SIZEOF(__int32) +AC_CHECK_SIZEOF(intmax_t) +AC_CHECK_SIZEOF(uintmax_t) +AC_CHECK_SIZEOF(intptr_t) +AC_CHECK_SIZEOF(uintptr_t) + +AC_CHECK_SIZEOF(float) +AC_CHECK_SIZEOF(double) +AC_CHECK_SIZEOF(long double) + +AC_CHECK_SIZEOF(dev_t) +AC_CHECK_SIZEOF(fpos_t) +AC_CHECK_SIZEOF(mode_t) +AC_CHECK_SIZEOF(off_t) +AC_CHECK_SIZEOF(ssize_t) +AC_CHECK_SIZEOF(time_t) +])# + +AC_DEFUN([mfx_CHECK_LIB_WINMM], [ +if test "X$GCC" = Xyes; then +case $host_os in +cygwin* | mingw* | pw32*) + test "X$LIBS" != "X" && LIBS="$LIBS " + LIBS="${LIBS}-lwinmm" ;; +esac +fi +]) + +dnl Serial 2 mfx/m4/nrv.m4 + +AC_DEFUN([mfx_NRV_CHECK_ENDIAN], [ +AC_C_BIGENDIAN([AC_DEFINE(NRV_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(NRV_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])]) +]) +# Checks for stat-related time functions. + +# Copyright (C) 1998-1999, 2001, 2003, 2005-2007, 2009-2011 Free Software +# Foundation, Inc. + +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +# st_atim.tv_nsec - Linux, Solaris, Cygwin +# st_atimespec.tv_nsec - FreeBSD, NetBSD, if ! defined _POSIX_SOURCE +# st_atimensec - FreeBSD, NetBSD, if defined _POSIX_SOURCE +# st_atim.st__tim.tv_nsec - UnixWare (at least 2.1.2 through 7.1) + +# st_birthtimespec - FreeBSD, NetBSD (hidden on OpenBSD 3.9, anyway) +# st_birthtim - Cygwin 1.7.0+ + +AC_DEFUN([gl_STAT_TIME], +[ + AC_REQUIRE([AC_C_INLINE]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_HEADERS_ONCE([sys/time.h]) + + AC_CHECK_MEMBERS([struct stat.st_atim.tv_nsec], + [AC_CACHE_CHECK([whether struct stat.st_atim is of type struct timespec], + [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec], + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[ + #include <sys/types.h> + #include <sys/stat.h> + #if HAVE_SYS_TIME_H + # include <sys/time.h> + #endif + #include <time.h> + struct timespec ts; + struct stat st; + ]], + [[ + st.st_atim = ts; + ]])], + [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes], + [ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no])]) + if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then + AC_DEFINE([TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC], [1], + [Define to 1 if the type of the st_atim member of a struct stat is + struct timespec.]) + fi], + [AC_CHECK_MEMBERS([struct stat.st_atimespec.tv_nsec], [], + [AC_CHECK_MEMBERS([struct stat.st_atimensec], [], + [AC_CHECK_MEMBERS([struct stat.st_atim.st__tim.tv_nsec], [], [], + [#include <sys/types.h> + #include <sys/stat.h>])], + [#include <sys/types.h> + #include <sys/stat.h>])], + [#include <sys/types.h> + #include <sys/stat.h>])], + [#include <sys/types.h> + #include <sys/stat.h>]) +]) + +# Check for st_birthtime, a feature from UFS2 (FreeBSD, NetBSD, OpenBSD, etc.) +# and NTFS (Cygwin). +# There was a time when this field was named st_createtime (21 June +# 2002 to 16 July 2002) But that window is very small and applied only +# to development code, so systems still using that configuration are +# not supported. See revisions 1.10 and 1.11 of FreeBSD's +# src/sys/ufs/ufs/dinode.h. +# +AC_DEFUN([gl_STAT_BIRTHTIME], +[ + AC_REQUIRE([AC_C_INLINE]) + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + AC_CHECK_HEADERS_ONCE([sys/time.h]) + AC_CHECK_MEMBERS([struct stat.st_birthtimespec.tv_nsec], [], + [AC_CHECK_MEMBERS([struct stat.st_birthtimensec], [], + [AC_CHECK_MEMBERS([struct stat.st_birthtim.tv_nsec], [], [], + [#include <sys/types.h> + #include <sys/stat.h>])], + [#include <sys/types.h> + #include <sys/stat.h>])], + [#include <sys/types.h> + #include <sys/stat.h>]) +]) + +dnl Serial 2 mfx/m4/ucl.m4 + +AC_DEFUN([mfx_UCL_CHECK_ENDIAN], [ +AC_C_BIGENDIAN([AC_DEFINE(UCL_ABI_BIG_ENDIAN,1,[Define to 1 if your machine is big endian.])],[AC_DEFINE(UCL_ABI_LITTLE_ENDIAN,1,[Define to 1 if your machine is little endian.])]) +]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/configure.ac new/lzo-2.06/configure.ac --- old/lzo-2.05/configure.ac 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/configure.ac 2011-08-12 18:02:59.000000000 +0200 @@ -37,10 +37,11 @@ terms of the GNU General Public License; see COPYING for more details.]) AC_PREREQ(2.67) -AC_INIT([LZO],[2.05],[[email protected]],[lzo],[http://www.oberhumer.com/opensource/lzo/]) +AC_INIT([LZO],[2.06],[[email protected]],[lzo],[http://www.oberhumer.com/opensource/lzo/]) AC_MSG_NOTICE([Configuring LZO $PACKAGE_VERSION]) AC_CONFIG_SRCDIR(src/lzo_init.c) AC_CONFIG_AUX_DIR(autoconf) +m4_include([autoconf/local.m4]) AC_PREFIX_DEFAULT(/usr/local) AC_CANONICAL_BUILD AC_CANONICAL_HOST diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/doc/LZO.TXT new/lzo-2.06/doc/LZO.TXT --- old/lzo-2.05/doc/LZO.TXT 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/doc/LZO.TXT 2011-08-12 18:02:59.000000000 +0200 @@ -6,8 +6,8 @@ Author : Markus Franz Xaver Johannes Oberhumer <[email protected]> http://www.oberhumer.com/opensource/lzo/ - Version : 2.05 - Date : 23 Apr 2011 + Version : 2.06 + Date : 12 Aug 2011 Abstract diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/examples/portab.h new/lzo-2.06/examples/portab.h --- old/lzo-2.05/examples/portab.h 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/examples/portab.h 2011-08-12 18:02:59.000000000 +0200 @@ -136,6 +136,7 @@ static lzo_voidp xmalloc(lzo_uint len) { lzo_voidp p; + lzo_uint align = (lzo_uint) sizeof(lzo_align_t); p = (lzo_voidp) lzo_malloc(len > 0 ? len : 1); if (p == NULL) @@ -143,9 +144,9 @@ printf("%s: out of memory\n", progname); exit(1); } - if (__lzo_align_gap(p, (lzo_uint) sizeof(lzo_align_t)) != 0) + if (len >= align && __lzo_align_gap(p, align) != 0) { - printf("%s: C library problem: malloc() returned mis-aligned pointer!\n", progname); + printf("%s: C library problem: malloc() returned misaligned pointer!\n", progname); exit(1); } return p; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/include/lzo/lzoconf.h new/lzo-2.06/include/lzo/lzoconf.h --- old/lzo-2.05/include/lzo/lzoconf.h 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/include/lzo/lzoconf.h 2011-08-12 18:02:59.000000000 +0200 @@ -44,9 +44,9 @@ #ifndef __LZOCONF_H_INCLUDED #define __LZOCONF_H_INCLUDED 1 -#define LZO_VERSION 0x2050 -#define LZO_VERSION_STRING "2.05" -#define LZO_VERSION_DATE "Apr 23 2011" +#define LZO_VERSION 0x2060 +#define LZO_VERSION_STRING "2.06" +#define LZO_VERSION_DATE "Aug 12 2011" /* internal Autoconf configuration file - only used when building LZO */ #if defined(LZO_HAVE_CONFIG_H) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/lzotest/lzotest.c new/lzo-2.06/lzotest/lzotest.c --- old/lzo-2.05/lzotest/lzotest.c 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/lzotest/lzotest.c 2011-08-12 18:02:59.000000000 +0200 @@ -369,6 +369,8 @@ static void mb_alloc_extra(mblock_t *mb, lzo_uint len, lzo_uint extra_bottom, lzo_uint extra_top) { + lzo_uint align = (lzo_uint) sizeof(lzo_align_t); + mb->alloc_ptr = mb->ptr = NULL; mb->alloc_len = mb->len = 0; @@ -380,8 +382,8 @@ fprintf(stderr, "%s: out of memory (wanted %lu bytes)\n", progname, (unsigned long)mb->alloc_len); exit(EXIT_MEM); } - if (__lzo_align_gap(mb->alloc_ptr, (lzo_uint) sizeof(lzo_align_t)) != 0) { - fprintf(stderr, "%s: C library problem: malloc() returned mis-aligned pointer!\n", progname); + if (mb->alloc_len >= align && __lzo_align_gap(mb->alloc_ptr, align) != 0) { + fprintf(stderr, "%s: C library problem: malloc() returned misaligned pointer!\n", progname); exit(EXIT_MEM); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/minilzo/README.LZO new/lzo-2.06/minilzo/README.LZO --- old/lzo-2.05/minilzo/README.LZO 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/minilzo/README.LZO 2011-08-12 18:02:59.000000000 +0200 @@ -6,8 +6,8 @@ Author : Markus Franz Xaver Johannes Oberhumer <[email protected]> http://www.oberhumer.com/opensource/lzo/ - Version : 2.05 - Date : 23 Apr 2011 + Version : 2.06 + Date : 12 Aug 2011 I've created miniLZO for projects where it is inconvenient to include (or require) the full LZO source code just because you diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/minilzo/minilzo.c new/lzo-2.06/minilzo/minilzo.c --- old/lzo-2.05/minilzo/minilzo.c 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/minilzo/minilzo.c 2011-08-12 18:02:59.000000000 +0200 @@ -1874,7 +1874,7 @@ #undef LZO_HAVE_CONFIG_H #include "minilzo.h" -#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x2050) +#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x2060) # error "version mismatch in miniLZO source files" #endif @@ -2561,10 +2561,8 @@ #endif #undef ACCCHK_ASSERT -#if 0 #define WANT_lzo_bitops_clz32 1 #define WANT_lzo_bitops_clz64 1 -#endif #define WANT_lzo_bitops_ctz32 1 #define WANT_lzo_bitops_ctz64 1 @@ -2611,7 +2609,7 @@ #define lzo_bitops_ctz64 lzo_bitops_ctz64 #endif -#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || LZO_CC_LLVM) +#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) || (__llvm_tools_version__+0 >= 0x010500ul)))) #if !defined(lzo_bitops_clz32) && defined(WANT_lzo_bitops_clz32) #define lzo_bitops_clz32(v) ((unsigned) __builtin_clz(v)) #endif @@ -2688,25 +2686,25 @@ #endif #if defined(lzo_bitops_clz32) { unsigned i; lzo_uint32 v = 1; - for (i = 0; i < 31; i++, v <<= 1) + for (i = 0; i < 32; i++, v <<= 1) r &= lzo_bitops_clz32(v) == 31 - i; } #endif #if defined(lzo_bitops_clz64) { unsigned i; lzo_uint64 v = 1; - for (i = 0; i < 63; i++, v <<= 1) + for (i = 0; i < 64; i++, v <<= 1) r &= lzo_bitops_clz64(v) == 63 - i; } #endif #if defined(lzo_bitops_ctz32) { unsigned i; lzo_uint32 v = 1; - for (i = 0; i < 31; i++, v <<= 1) + for (i = 0; i < 32; i++, v <<= 1) r &= lzo_bitops_ctz32(v) == i; } #endif #if defined(lzo_bitops_ctz64) { unsigned i; lzo_uint64 v = 1; - for (i = 0; i < 63; i++, v <<= 1) + for (i = 0; i < 64; i++, v <<= 1) r &= lzo_bitops_ctz64(v) == i; } #endif @@ -3091,9 +3089,13 @@ # define do_compress LZO_CPP_ECONCAT2(DO_COMPRESS,_core) #endif -#if defined(UA_GET64) +#if defined(UA_GET64) && (LZO_ABI_BIG_ENDIAN) +# define WANT_lzo_bitops_clz64 1 +#elif defined(UA_GET64) && (LZO_ABI_LITTLE_ENDIAN) # define WANT_lzo_bitops_ctz64 1 -#elif defined(UA_GET32) +#elif defined(UA_GET32) && (LZO_ABI_BIG_ENDIAN) +# define WANT_lzo_bitops_clz32 1 +#elif defined(UA_GET32) && (LZO_ABI_LITTLE_ENDIAN) # define WANT_lzo_bitops_ctz32 1 #endif @@ -3140,7 +3142,7 @@ #define lzo_bitops_ctz64 lzo_bitops_ctz64 #endif -#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || LZO_CC_LLVM) +#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) || (__llvm_tools_version__+0 >= 0x010500ul)))) #if !defined(lzo_bitops_clz32) && defined(WANT_lzo_bitops_clz32) #define lzo_bitops_clz32(v) ((unsigned) __builtin_clz(v)) #endif @@ -3175,7 +3177,7 @@ op = out; ip = in; - ii = ip - ti; + ii = ip; ip += ti < 4 ? 4 - ti : 0; for (;;) @@ -3237,6 +3239,7 @@ } #endif + ii -= ti; ti = 0; { register lzo_uint t = pd(ip,ii); if (t != 0) @@ -3318,7 +3321,14 @@ goto m_len_done; } while (v == 0); } -#if (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_ctz64) +#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_clz64) + m_len += lzo_bitops_clz64(v) / CHAR_BIT; +#elif (LZO_ABI_BIG_ENDIAN) + if ((v >> (64 - CHAR_BIT)) == 0) do { + v <<= CHAR_BIT; + m_len += 1; + } while ((v >> (64 - CHAR_BIT)) == 0); +#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_ctz64) m_len += lzo_bitops_ctz64(v) / CHAR_BIT; #elif (LZO_ABI_LITTLE_ENDIAN) if ((v & UCHAR_MAX) == 0) do { @@ -3341,7 +3351,14 @@ goto m_len_done; } while (v == 0); } -#if (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_ctz32) +#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_clz32) + m_len += lzo_bitops_clz32(v) / CHAR_BIT; +#elif (LZO_ABI_BIG_ENDIAN) + if ((v >> (32 - CHAR_BIT)) == 0) do { + v <<= CHAR_BIT; + m_len += 1; + } while ((v >> (32 - CHAR_BIT)) == 0); +#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_ctz32) m_len += lzo_bitops_ctz32(v) / CHAR_BIT; #elif (LZO_ABI_LITTLE_ENDIAN) if ((v & UCHAR_MAX) == 0) do { @@ -3428,7 +3445,7 @@ } *out_len = pd(op, out); - return pd(in_end,ii); + return pd(in_end,ii-ti); } LZO_PUBLIC(int) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/minilzo/minilzo.h new/lzo-2.06/minilzo/minilzo.h --- old/lzo-2.05/minilzo/minilzo.h 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/minilzo/minilzo.h 2011-08-12 18:02:59.000000000 +0200 @@ -50,7 +50,7 @@ #ifndef __MINILZO_H #define __MINILZO_H 1 -#define MINILZO_VERSION 0x2050 +#define MINILZO_VERSION 0x2060 #ifdef __LZOCONF_H # error "you cannot use both LZO and miniLZO" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/src/lzo1x_c.ch new/lzo-2.06/src/lzo1x_c.ch --- old/lzo-2.05/src/lzo1x_c.ch 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/src/lzo1x_c.ch 2011-08-12 18:02:59.000000000 +0200 @@ -47,9 +47,13 @@ # define do_compress LZO_CPP_ECONCAT2(DO_COMPRESS,_core) #endif -#if defined(UA_GET64) +#if defined(UA_GET64) && (LZO_ABI_BIG_ENDIAN) +# define WANT_lzo_bitops_clz64 1 +#elif defined(UA_GET64) && (LZO_ABI_LITTLE_ENDIAN) # define WANT_lzo_bitops_ctz64 1 -#elif defined(UA_GET32) +#elif defined(UA_GET32) && (LZO_ABI_BIG_ENDIAN) +# define WANT_lzo_bitops_clz32 1 +#elif defined(UA_GET32) && (LZO_ABI_LITTLE_ENDIAN) # define WANT_lzo_bitops_ctz32 1 #endif #include "lzo_func.ch" @@ -73,7 +77,7 @@ op = out; ip = in; - ii = ip - ti; + ii = ip; ip += ti < 4 ? 4 - ti : 0; for (;;) @@ -139,6 +143,7 @@ /* a match */ + ii -= ti; ti = 0; { register lzo_uint t = pd(ip,ii); if (t != 0) @@ -220,7 +225,14 @@ goto m_len_done; } while (v == 0); } -#if (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_ctz64) +#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_clz64) + m_len += lzo_bitops_clz64(v) / CHAR_BIT; +#elif (LZO_ABI_BIG_ENDIAN) + if ((v >> (64 - CHAR_BIT)) == 0) do { + v <<= CHAR_BIT; + m_len += 1; + } while ((v >> (64 - CHAR_BIT)) == 0); +#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_ctz64) m_len += lzo_bitops_ctz64(v) / CHAR_BIT; #elif (LZO_ABI_LITTLE_ENDIAN) if ((v & UCHAR_MAX) == 0) do { @@ -243,7 +255,14 @@ goto m_len_done; } while (v == 0); } -#if (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_ctz32) +#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_clz32) + m_len += lzo_bitops_clz32(v) / CHAR_BIT; +#elif (LZO_ABI_BIG_ENDIAN) + if ((v >> (32 - CHAR_BIT)) == 0) do { + v <<= CHAR_BIT; + m_len += 1; + } while ((v >> (32 - CHAR_BIT)) == 0); +#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_ctz32) m_len += lzo_bitops_ctz32(v) / CHAR_BIT; #elif (LZO_ABI_LITTLE_ENDIAN) if ((v & UCHAR_MAX) == 0) do { @@ -330,7 +349,7 @@ } *out_len = pd(op, out); - return pd(in_end,ii); + return pd(in_end,ii-ti); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/src/lzo_func.ch new/lzo-2.06/src/lzo_func.ch --- old/lzo-2.05/src/lzo_func.ch 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/src/lzo_func.ch 2011-08-12 18:02:59.000000000 +0200 @@ -94,7 +94,7 @@ #define lzo_bitops_ctz64 lzo_bitops_ctz64 #endif -#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || LZO_CC_LLVM) +#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) || (__llvm_tools_version__+0 >= 0x010500ul)))) #if !defined(lzo_bitops_clz32) && defined(WANT_lzo_bitops_clz32) #define lzo_bitops_clz32(v) ((unsigned) __builtin_clz(v)) #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/lzo-2.05/src/lzo_init.c new/lzo-2.06/src/lzo_init.c --- old/lzo-2.05/src/lzo_init.c 2011-04-23 12:55:35.000000000 +0200 +++ new/lzo-2.06/src/lzo_init.c 2011-08-12 18:02:59.000000000 +0200 @@ -94,10 +94,8 @@ // ************************************************************************/ -#if 0 #define WANT_lzo_bitops_clz32 1 #define WANT_lzo_bitops_clz64 1 -#endif #define WANT_lzo_bitops_ctz32 1 #define WANT_lzo_bitops_ctz64 1 #include "lzo_func.ch" @@ -158,25 +156,25 @@ #endif #if defined(lzo_bitops_clz32) { unsigned i; lzo_uint32 v = 1; - for (i = 0; i < 31; i++, v <<= 1) + for (i = 0; i < 32; i++, v <<= 1) r &= lzo_bitops_clz32(v) == 31 - i; } #endif #if defined(lzo_bitops_clz64) { unsigned i; lzo_uint64 v = 1; - for (i = 0; i < 63; i++, v <<= 1) + for (i = 0; i < 64; i++, v <<= 1) r &= lzo_bitops_clz64(v) == 63 - i; } #endif #if defined(lzo_bitops_ctz32) { unsigned i; lzo_uint32 v = 1; - for (i = 0; i < 31; i++, v <<= 1) + for (i = 0; i < 32; i++, v <<= 1) r &= lzo_bitops_ctz32(v) == i; } #endif #if defined(lzo_bitops_ctz64) { unsigned i; lzo_uint64 v = 1; - for (i = 0; i < 63; i++, v <<= 1) + for (i = 0; i < 64; i++, v <<= 1) r &= lzo_bitops_ctz64(v) == i; } #endif ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
