From ce23eb7e3aebbf03e1f1cab436f417d034395439 Mon Sep 17 00:00:00 2001 From: zwelch Date: Mon, 11 May 2009 11:20:45 +0000 Subject: [PATCH] Update jim helper files to use proper configure script support: - configure.in: Add AC_TYPE_LONG_LONG_INT to detect 'long long int' support. - configure.in: Add AC_C_CONST to provide equivalent support as jim.h. - jim*.c: include config.h when HAVE_CONFIG_H is defined. - jim*.{h,c}: use HAVE_LONG_LONG_INT definition from config.h. - jim.h: Remove hard-coded const and HAVE_LONG_LONG definitions. - jim.h: -DJIM_NO_CONST has been obsoleted; -Dconst is equivalent. git-svn-id: svn://svn.berlios.de/openocd/trunk@1744 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- configure.in | 4 ++++ src/helper/jim-eventloop.c | 3 +++ src/helper/jim.c | 10 +++++++--- src/helper/jim.h | 23 ++--------------------- 4 files changed, 16 insertions(+), 24 deletions(-) diff --git a/configure.in b/configure.in index 9d6c90f6..4243e668 100644 --- a/configure.in +++ b/configure.in @@ -816,6 +816,10 @@ AM_PROG_CC_C_O AC_PROG_RANLIB AC_PROG_LIBTOOL +dnl configure checks required for Jim files (these are obsolete w/ C99) +AC_C_CONST +AC_TYPE_LONG_LONG_INT + # Look for environ alternatives. Possibility #1: is environ in unistd.h or stdlib.h? AC_MSG_CHECKING([for environ in unistd.h and stdlib.h]) AC_COMPILE_IFELSE([ diff --git a/src/helper/jim-eventloop.c b/src/helper/jim-eventloop.c index d0b3ff01..a6283bfe 100644 --- a/src/helper/jim-eventloop.c +++ b/src/helper/jim-eventloop.c @@ -44,6 +44,9 @@ * - more complete [after] command with [after info] and other subcommands. * - Win32 port */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif #define JIM_EXTENSION #define __JIM_EVENTLOOP_CORE__ diff --git a/src/helper/jim.c b/src/helper/jim.c index 7c758ba1..9d49e871 100644 --- a/src/helper/jim.c +++ b/src/helper/jim.c @@ -39,6 +39,10 @@ * are those of the authors and should not be interpreted as representing * official policies, either expressed or implied, of the Jim Tcl Project. **/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #define __JIM_CORE__ #define JIM_OPTIMIZATION /* comment to avoid optimizations and reduce size */ @@ -160,7 +164,7 @@ jim_vasprintf_done( void *buf ) * Ignores `locale' stuff. Assumes that the upper and lower case * alphabets and digits are each contiguous. */ -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT #define JimIsAscii(c) (((c) & ~0x7f) == 0) static jim_wide JimStrtoll(const char *nptr, char **endptr, register int base) { @@ -424,7 +428,7 @@ int Jim_StringToWide(const char *str, jim_wide *widePtr, int base) { char *endptr; -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT *widePtr = JimStrtoll(str, &endptr, base); #else *widePtr = strtol(str, &endptr, base); @@ -7662,7 +7666,7 @@ static int ScanOneEntry(Jim_Interp *interp, const char *str, long pos, /* Try to scan a number with the given base */ if (descr->modifier == 'l') { -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT jwvalue = JimStrtoll(tok, &endp, base), #else jwvalue = strtol(tok, &endp, base), diff --git a/src/helper/jim.h b/src/helper/jim.h index 7ee82352..2c93f032 100644 --- a/src/helper/jim.h +++ b/src/helper/jim.h @@ -77,25 +77,6 @@ extern "C" { #include /* In order to export the Jim_Free() macro */ #include /* In order to get type va_list */ -/* ----------------------------------------------------------------------------- -* Some /very/ old compiler maybe do not know how to -* handle 'const'. They even do not know, how to ignore -* it. For those compiler it may be better to compile with -* define JIM_NO_CONST activated -* ---------------------------------------------------------------------------*/ - -#ifdef JIM_NO_CONST -# define const -#endif - -/* ----------------------------------------------------------------------------- - * System configuration - * For most modern systems, you can leave the default. - * For embedded systems some change may be required. - * ---------------------------------------------------------------------------*/ - -#define HAVE_LONG_LONG - /* ----------------------------------------------------------------------------- * Compiler specific fixes. * ---------------------------------------------------------------------------*/ @@ -106,7 +87,7 @@ extern "C" { #endif /* _MSC_VER */ /* Long Long type and related issues */ -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT # ifdef _MSC_VER /* MSC compiler */ # define jim_wide _int64 # ifndef LLONG_MAX @@ -138,7 +119,7 @@ extern "C" { * LIBC specific fixes * ---------------------------------------------------------------------------*/ -#ifdef HAVE_LONG_LONG +#ifdef HAVE_LONG_LONG_INT # if defined(_MSC_VER) || defined(__MSVCRT__) # define JIM_WIDE_MODIFIER "I64d" # else -- 2.39.5