From: Adam Dickmeiss Date: Tue, 10 Oct 2006 14:45:41 +0000 (+0000) Subject: Use check for 'long long' to determine type for zint. X-Git-Tag: ZEBRA.2.0.6~98 X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=commitdiff_plain;h=5ffac76f04c812b586d0fb5619cb281135a7fe4c Use check for 'long long' to determine type for zint. --- diff --git a/configure.ac b/configure.ac index f2a9e5d..83c1658 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl Zebra, Index Data ApS, 1995-2006 -dnl $Id: configure.ac,v 1.31 2006-10-09 22:13:06 adam Exp $ +dnl $Id: configure.ac,v 1.32 2006-10-10 14:45:41 adam Exp $ dnl AC_PREREQ(2.59) AC_INIT([idzebra],[2.0.3],[adam@indexdata.dk]) @@ -17,6 +17,7 @@ dnl ------ Substitutions AC_SUBST(TCL_INCLUDE) AC_SUBST(TCL_LIB) AC_SUBST(READLINE_LIBS) +AC_SUBST(ZEBRA_CFLAGS) dnl dnl ------ Checking programs AC_PROG_CC @@ -278,7 +279,8 @@ else fi AC_CHECK_SIZEOF([off_t]) AC_CHECK_SIZEOF([long long]) -AC_CHECK_SIZEOF([long]) +ZEBRA_CFLAGS="-DZEBRA_ZINT=${ac_cv_sizeof_long_long}" +AC_DEFINE_UNQUOTED(ZEBRA_ZINT,${ac_cv_sizeof_long_long}) dnl ------ Modules AC_SUBST(SHARED_MODULE_LA) SHARED_MODULE_LA="" diff --git a/idzebra-config-2.0.in b/idzebra-config-2.0.in index 8831eb5..29c754e 100755 --- a/idzebra-config-2.0.in +++ b/idzebra-config-2.0.in @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: idzebra-config-2.0.in,v 1.1 2006-08-14 12:18:46 adam Exp $ +# $Id: idzebra-config-2.0.in,v 1.2 2006-10-10 14:45:42 adam Exp $ version=@VERSION@ prefix=@prefix@ exec_prefix=@exec_prefix@ @@ -85,7 +85,7 @@ while test $# -gt 0; do shift done -IDZEBRAINC="@YAZINC@" +IDZEBRAINC="@ZEBRA_CFLAGS@ @YAZINC@" if test "$echo_source" = "yes"; then IDZEBRALIB="-L${idzebra_build_root}/index/.libs -lidzebra${package_suffix}" diff --git a/include/idzebra/util.h b/include/idzebra/util.h index 5952655..2abf9cf 100644 --- a/include/idzebra/util.h +++ b/include/idzebra/util.h @@ -1,4 +1,4 @@ -/* $Id: util.h,v 1.8 2006-08-14 10:40:14 adam Exp $ +/* $Id: util.h,v 1.9 2006-10-10 14:45:42 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -42,22 +42,27 @@ YAZ_BEGIN_CDECL * number of occurrences etc. It is a "large" integer and is usually * 64-bit on newer architectures. */ -#ifdef __GNUC__ -typedef long long int zint; -#define ZINT_FORMAT "%lld" -#define ZINT_FORMAT0 "lld" -#else #ifdef WIN32 typedef __int64 zint; -#define ZINT_FORMAT "%I64d" #define ZINT_FORMAT0 "I64d" #else + +#ifndef ZEBRA_ZINT +#error ZEBRA_ZINT undefined. idzebra-config not in use? +#endif + +#if ZEBRA_ZINT > 0 +typedef long long int zint; +#define ZINT_FORMAT0 "lld" +#else typedef long zint; -#define ZINT_FORMAT "%ld" #define ZINT_FORMAT0 "ld" #endif + #endif +#define ZINT_FORMAT "%" ZINT_FORMAT0 + /** \var typedef ZEBRA_RES * \brief Common return type for Zebra API *