The config.h file for WinCE version sqlite 3.0.7 downloaded from sourceforge

http://sourceforge.net/project/showfiles.php?group_id=88393&package_id=125382&release_id=271513

is very different from the config.h for version 2.8.15. The 3.0.7 version does not contain structures, define statements, inline functions, and source forth as is contained in the config.h file for version 2.8.15. Is this an error? Version 2.8.15 for WinCE implements database locks, does this version 3.0.7 also implement datalocks? Is there a newer version 3.0.7 of WinCE source code with fixes available for download?
The version 3.0.7 I downloaded from sourceforge does not compile fully either.
Thanks
Steve


config.h version 2.8.15

/*
* I don't know of any WinCE platform that isn't 32 bits.
* Redefine this if that is the case, and a patch to the sqlite-wince
* project on SourceFourge would be great.
*/
#define SQLITE_PTR_SZ 4


/* * Define this to omit authorization code */

// #define SQLITE_OMIT_AUTHORIZATION 1

/********
** TODO: Add more SQLITE_OMIT_* things here (as comments)
********/

/*
* Define this to omit file locking code.
*
* Only use this if you are sure you will never access a database
* simultaneously from two processes.
* For a database that is only used by a single instance of your
* application (beware for multiple instances!), it is safe (and
* faster) to omit this feature.
* This is forced on for Windows CE versions prior than 3.0 (see below)
*/

// #define SQLITE_WCE_OMIT_FILELOCK  1



/**********************************************************************
*
* WinCE fixes...
*
*********************************************************************/

#include <windows.h>

/*
* Eliminate some warnings in the SQLite code.
* (This should be addressed in the SQLite source - TODO)
*/
//C4018: '_' : signed/unsigned mismatch
//C4244: '_' : conversion from '_' to '_', possible loss of data
//C4267: '_' : conversion from '_' to '_', possible loss of data (MSVC 7.1 ?)
//C4761: integral size mismatch in argument; conversion supplied
#pragma warning ( disable : 4018 4244 4267 4761 )


/*
* This is defined on <dbgapi.h> and redefined on 'vdbe.c', so undefine it
*/
#undef VERIFY

/*
* WinCE platform configuration
*
* On versions prior than 3.0, a lot of workarounds are needed.
* For start, no isalpha(),isdigit(),etc. functions/macros are implemented
* (only the Unicode versions, like iswalpha). The same happens to atof().
* Another quirk is that the free() function has a diferent declaration
* from the "normal" one, so it can't be used in pointer to function in
* the same way (like it is used in 'tokenize.c').
* The last workaround is for the getenv() function, as there is no
* environment for WinCE.
*/

#if defined(_WIN32_WCE) && _WIN32_WCE < 300
#  define SQLITE_WCE_USE_OWN_ISXXXX    1
#  define SQLITE_WCE_USE_OWN_ATOF      1
#  define SQLITE_WCE_FREE_HACK         1
#  define SQLITE_WCE_STRCMP_HACK       1
#else
#  define SQLITE_WCE_USE_OWN_ISXXXX    0
#  define SQLITE_WCE_USE_OWN_ATOF      0
#  define SQLITE_WCE_FREE_HACK         0
#  define SQLITE_WCE_STRCMP_HACK       0
#endif

#if defined(_WIN32_WCE)
#  define FILENAME_MAX 256
#  define SQLITE_WCE_USE_OWN_GETENV    1
#else
#  define SQLITE_WCE_USE_OWN_GETENV    0
#endif

/*
* In WinCE versions prior than 3.0 no file locking is performed.
* If you are developing on this platforms, make sure to only use
* SQLite on a single threaded project, and that only a process at a
* time is accessing the database.
*
* You can also define this if you don't want any file locking.
* This will speed up things a litle, but can only be used if you are
* sure it will never be two processes accessing the same database at
* the same time.
*/
#if defined(_WIN32_WCE) && _WIN32_WCE < 300 && !defined(SQLITE_WCE_OMIT_FILELOCK)
# define SQLITE_WCE_OMIT_FILELOCK
#endif



/* * No ANSI equivalents to isXXX routines. * Use the UNICODE version. */ #if SQLITE_WCE_USE_OWN_ISXXXX # define isalpha iswalpha # define isalnum iswalnum # define isdigit iswdigit # define isspace iswspace # define isprint iswprint # define islower iswlower # define isupper iswupper #endif


/* * Quick hack for free() -- function attributes error in tokenize.c */ #if SQLITE_WCE_FREE_HACK __inline void sqlitewce_free( void *p ) { free(p); } # define free sqlitewce_free #endif

/*
* Quick hack for strcmp() -- function attributes error in tokenize.c
*/
#if SQLITE_WCE_STRCMP_HACK
__inline int sqlitewce_strcmp( const char* s1, const char* s2 ) { return strcmp(s1,s2); }
# define strcmp sqlitewce_strcmp
#endif



/* * No atof(), use our own */ #if SQLITE_WCE_USE_OWN_ATOF double wince_atof( const char* s ); # define atof wince_atof #endif


/* * No getenv(), simulate that no variables are defined */ #if SQLITE_WCE_USE_OWN_GETENV # define getenv(x) NULL #endif


config.h version 3.0.7 #define SQLITE_PTR_SZ 4


#ifdef _MSC_VER /* ** Eliminate some Level 3 warnings for Microsoft compilers ** ** C4018: '_' : signed/unsigned mismatch ** C4244: '_' : conversion from '_' to '_', possible loss of data ** C4267: '_' : conversion from '_' to '_', possible loss of data (MSVC 7.1) ** C4761: integral size mismatch in argument; conversion supplied */ # pragma warning ( disable : 4018 4244 4267 4761 ) #endif



/*
** Maximum page size.
**
** This must be tweaked if using the default stack size of 64KB. The
** default value is 8192, but that is too much for the 64KB of stack we
** have available by default compilation options.
** If you want to leave the default, comment this and increase the stack
** size in your linking options to at least 1MB (and remember to make a
** rebuild all, as only clean doesn't work in some eVC versions).
**
** Here is the definition from "pager.h" of this setting:
**
** "Maximum page size. The upper bound on this value is 65536 (a limit
** imposed by the 2-byte size of cell array pointers.) The
** maximum page size determines the amount of stack space allocated
** by many of the routines in pager.c and btree.c On embedded architectures
** or any machine where memory and especially stack memory is limited,
** one may wish to chose a smaller value for the maximum page size."
**
*/
/*** UPDATE: Since 3.0.7, the code was modified to not need this ***/
//#define SQLITE_MAX_PAGE_SIZE 1024



/* ** Define this to enable thread safe code. ** ** This needs to be enabled in order to enable thread safe code. ** If only developing single-threaded applications, no need to ** lock the database for certain functions. ** This is also used in non-sqlite related code, like when calling ** C runtime non-thread safe functions (like localtime). */ //#define THREADSAFE 1


/* ** Define this to omit file locking code. ** ** Only use this if you are sure you will never access a database ** simultaneously from two processes. ** For a database that is only used by a single instance of your ** application (beware for multiple instances!), it is safe (and ** faster) to omit this feature. ** This is forced on for Windows CE, for now (until I implement the ** file locking routines). */ #ifdef _WIN32_WCE # define SQLITE_WCE_OMIT_FILELOCK 1 #endif


Reply via email to