diff --git a/README b/README index 6e4f392054..5942a8feb6 100644 --- a/README +++ b/README @@ -17,15 +17,14 @@ For example: make ;# Run the makefile. make install ;# (Optional) Install the build products -The configure script uses autoconf 2.50 and libtool. If the configure +The configure script uses autoconf 2.61 and libtool. If the configure script does not work out for you, there is a generic makefile named "Makefile.linux-gcc" in the top directory of the source tree that you -can copy and edit to suite your needs. Comments on the generic makefile +can copy and edit to suit your needs. Comments on the generic makefile show what changes are needed. The linux binaries on the website are created using the generic makefile, -not the configure script. The configure script is unmaintained. (You -can volunteer to take over maintenance of the configure script, if you want!) +not the configure script. The windows binaries on the website are created using MinGW32 configured as a cross-compiler running under Linux. For details, see the ./publish.sh script at the top-level of the source tree. diff --git a/main.mk b/main.mk index c8a9073f53..d8fa789559 100644 --- a/main.mk +++ b/main.mk @@ -92,7 +92,9 @@ SRC = \ $(TOP)/src/btreeInt.h \ $(TOP)/src/build.c \ $(TOP)/src/callback.c \ + $(TOP)/src/common.h \ $(TOP)/src/complete.c \ + $(TOP)/src/config.h \ $(TOP)/src/date.c \ $(TOP)/src/delete.c \ $(TOP)/src/expr.c \ @@ -256,7 +258,9 @@ HDR = \ $(TOP)/src/sqliteInt.h \ $(TOP)/src/sqliteLimit.h \ $(TOP)/src/vdbe.h \ - $(TOP)/src/vdbeInt.h + $(TOP)/src/vdbeInt.h \ + $(TOP)/src/common.h \ + $(TOP)/src/config.h # Header files used by extensions # diff --git a/manifest b/manifest index 3f94a74966..ba25d60147 100644 --- a/manifest +++ b/manifest @@ -1,9 +1,9 @@ -C Typo\sin\samalgamation\snon-x86\sbuilds\s(CVS\s4831) -D 2008-03-06T09:19:00 +C Handle\snon-autoconf\sbuild\scorrectly\swith\snew\schanges\s(CVS\s4832) +D 2008-03-06T09:58:50 F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7 F Makefile.in dbb064b7fca107aff4a722a3ee801af26dcda270 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 -F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 +F README b974cdc3f9f12b87e851b04e75996d720ebf81ac F VERSION 2e206fc9458bf10a8c3ba2d13bf521a04ef441c6 F aclocal.m4 d20ba55930a05197b484809fba1d2b603f4e67a6 F addopcodes.awk 701697fae48376375ec8532c3d04e910cfeef352 @@ -64,7 +64,7 @@ F ext/icu/README.txt 3b130aa66e7a681136f6add198b076a2f90d1e33 F ext/icu/icu.c 12e763d288d23b5a49de37caa30737b971a2f1e2 F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895 F ltmain.sh 56abb507100ed2d4261f6dd1653dec3cf4066387 -F main.mk 648992e13f77f6039b2824bd97c8853beea20dbd +F main.mk b0efbefa019837607cdb16b63fdac6ff581dd957 F mkdll.sh 712e74f3efe08a6ba12b2945d018a29a89d7fe3b F mkextu.sh 416f9b7089d80e5590a29692c9d9280a10dbad9f F mkextw.sh 1a866b53637dab137191341cc875575a5ca110fb @@ -87,9 +87,9 @@ F src/btmutex.c 483ced3c52205b04b97df69161fadbf87f4f1ea2 F src/btree.c 439e2684892d2b70996dc3c5fba25e07949e1d84 F src/btree.h 19dcf5ad23c17b98855da548e9a8e3eb4429d5eb F src/btreeInt.h d7d2f4d9d7f2e72c455326d48b2b478b842a81f6 -F src/build.c 19990e2ce78806e854b5baaa18a77b540a476bbb +F src/build.c fa70bc0fb02e4d08202dd6a752ab5f5df5676e50 F src/callback.c 77b302b0d41468dcda78c70e706e5b84577f0fa0 -F src/common.h 25fa5524ee3d2617986a3ec1ba59fef195d2d009 +F src/common.h 8240a944830058663fd5825482a5d813b206fcb1 F src/complete.c 4cf68fd75d60257524cbe74f87351b9848399131 F src/config.h b60286b542f5284d529b659adcb9c9d25eecab20 F src/config.h.in 276f8e51e2daf0a19136c28678ec93542ac0ebe7 @@ -98,10 +98,10 @@ F src/delete.c fa13c296262e89c32d28949f15be275e52d7f524 F src/experimental.c 1b2d1a6cd62ecc39610e97670332ca073c50792b F src/expr.c e6fb42c6e55fd9526174b1cb8296b69a60a6688a F src/fault.c 049b88b8ba0a1db3240aeaf9695cd08b9a3ba9e1 -F src/func.c 6d6d4817b4597d2bd08cbc525ba29164eae6c4bc +F src/func.c a4f06d8a1d7e4c8c8755a59d1310141b7c090bd9 F src/hash.c 53655c312280211444bfe23af6490a460aec2980 F src/hash.h 031cd9f915aff27e12262cb9eb570ac1b8326b53 -F src/insert.c 6c64040d218506562c30925e8fb2d41fc71e646b +F src/insert.c 3eb3d0b739eb318c7435b9da35330e2e893e3b78 F src/journal.c 807bed7a158979ac8d63953e1774e8d85bff65e2 F src/legacy.c cb1939fdeb91ea88fb44fbd2768a10e14bc44650 F src/limits.h 71ab25f17e35e0a9f3f6f234b8ed49cc56731d35 @@ -142,9 +142,9 @@ F src/server.c 087b92a39d883e3fa113cae259d64e4c7438bc96 F src/shell.c 22297fffa6f00a6c6d44020fa13b1184a1bb372d F src/sqlite.h.in b8158aa606f0b39426d63132ae0530d91c021abb F src/sqlite3ext.h 50c70a894ffe8e6ada5948c89b91db0a80a6b2a7 -F src/sqliteInt.h 9dad69a38bab6d9284af99d57004c416437db76a +F src/sqliteInt.h 3b4240e95002593b3ac6b87fd023c3de6b079df6 F src/sqliteLimit.h ee4430f88f69bf63527967bb35ca52af7b0ccb1e -F src/table.c c688f2679d3b2221bc122afdc6771fa34813493d +F src/table.c 2c48c575dd59b3a6c5c306bc55f51a9402cf429a F src/tclsqlite.c d95e0e74c7167b2807f9f4f73bf45f7c58096297 F src/test1.c c3d43a6bd299f3c115f6617af6715004819ca5cb F src/test2.c 355d5693ca3ee705548fa7f795592a37b2372b70 @@ -179,11 +179,11 @@ F src/vdbe.c a172f5134d19ae910134e28987bf7906523c9b6f F src/vdbe.h 58a7d931ffb704e034b2a725981cfa5bd406fad9 F src/vdbeInt.h 76c81d057a39813de0fda3cad1498655d53ec69d F src/vdbeapi.c cf9fc963efae3cdf5de08e2a9718b487059c7fc5 -F src/vdbeaux.c e88a296bc64783efd4ea699fcac2f8cdbdc88a23 +F src/vdbeaux.c 83e34e38706889a16fbd77fce3777390d425af79 F src/vdbeblob.c 63c750acc7b5012479f508c0e9627372a82cb65d F src/vdbefifo.c a30c237b2a3577e1415fb6e288cbb6b8ed1e5736 -F src/vdbemem.c 7812a0fa480bada1c661da76783d59099a4e3bf3 -F src/vtab.c 641bafa5d8ca9448307f0e2a389844a5c7f86728 +F src/vdbemem.c b77819155eb2f07bd369e590544e3b2ca4526745 +F src/vtab.c 00cd16317b29495c185ff40e4b227917d5a371b2 F src/where.c c5eaca1f2d9caa20c5c7096434ccde2be03b325c F tclinstaller.tcl 4356d9d94d2b5ed5e68f9f0c80c4df3048dd7617 F test/aggerror.test a867e273ef9e3d7919f03ef4f0e8c0d2767944f2 @@ -624,7 +624,7 @@ F www/tclsqlite.tcl 8be95ee6dba05eabcd27a9d91331c803f2ce2130 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5 -P 9898320be05cdbe78dac799f3fef34dccb644ca8 -R 50f5338f0bca04916e37025aa0109e81 +P a8424e06064ee356db8231820737a7d5ba722873 +R 0021bc64720ffa75da297f69f183d54b U mlcreech -Z c37d237b5c24169a3424e40b047eb89c +Z fd997a43b8675ba941a31b1ef9bdb27a diff --git a/manifest.uuid b/manifest.uuid index 2b20f5f37a..45b7942900 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a8424e06064ee356db8231820737a7d5ba722873 \ No newline at end of file +e2a9f5f1054f077e4773dd3d2c8f2ce5be118a01 \ No newline at end of file diff --git a/src/build.c b/src/build.c index c825a283c3..b5320c631a 100644 --- a/src/build.c +++ b/src/build.c @@ -22,7 +22,7 @@ ** COMMIT ** ROLLBACK ** -** $Id: build.c,v 1.473 2008/03/06 07:35:22 mlcreech Exp $ +** $Id: build.c,v 1.474 2008/03/06 09:58:50 mlcreech Exp $ */ #include "sqliteInt.h" #include @@ -2283,7 +2283,7 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){ regRowid = regIdxKey + pIndex->nColumn; j1 = sqlite3VdbeAddOp3(v, OP_IsNull, regIdxKey, 0, pIndex->nColumn); j2 = sqlite3VdbeAddOp4(v, OP_IsUnique, iIdx, - 0, regRowid, (char*)(intptr_t)regRecord, P4_INT32); + 0, regRowid, (char*)(sqlite3_intptr_t)regRecord, P4_INT32); sqlite3VdbeAddOp4(v, OP_Halt, SQLITE_CONSTRAINT, OE_Abort, 0, "indexed columns are not unique", P4_STATIC); sqlite3VdbeJumpHere(v, j1); diff --git a/src/common.h b/src/common.h index 5805a7e192..22e4ea307c 100644 --- a/src/common.h +++ b/src/common.h @@ -11,7 +11,7 @@ ************************************************************************* ** Common includes/defines based on output of configure script ** -** @(#) $Id: common.h,v 1.1 2008/03/06 07:36:18 mlcreech Exp $ +** @(#) $Id: common.h,v 1.2 2008/03/06 09:58:50 mlcreech Exp $ */ #ifndef _COMMON_H_ #define _COMMON_H_ @@ -47,11 +47,9 @@ ** practically it's == sizeof(void *)). We fall back to an int if this type ** isn't defined. */ -#ifndef HAVE_INTPTR_T - typedef int intptr_t; -#endif -#ifndef HAVE_UINTPTR_T - typedef unsigned int uintptr_t; +#ifdef HAVE_INTPTR_T + typedef intptr_t sqlite3_intptr_t; +# define __sqlite3_intptr_defined #endif #endif diff --git a/src/func.c b/src/func.c index 2c2a1d1894..027d8a4fea 100644 --- a/src/func.c +++ b/src/func.c @@ -16,7 +16,7 @@ ** sqliteRegisterBuildinFunctions() found at the bottom of the file. ** All other code has file scope. ** -** $Id: func.c,v 1.185 2008/03/06 07:35:22 mlcreech Exp $ +** $Id: func.c,v 1.186 2008/03/06 09:58:50 mlcreech Exp $ */ #include "sqliteInt.h" #include @@ -875,7 +875,7 @@ static void trimFunc( const unsigned char *zIn; /* Input string */ const unsigned char *zCharSet; /* Set of characters to trim */ int nIn; /* Number of bytes in input */ - intptr_t flags; /* 1: trimleft 2: trimright 3: trim */ + sqlite3_intptr_t flags; /* 1: trimleft 2: trimright 3: trim */ int i; /* Loop counter */ unsigned char *aLen; /* Length of each character in zCharSet */ unsigned char **azChar; /* Individual characters in zCharSet */ @@ -916,7 +916,7 @@ static void trimFunc( } } if( nChar>0 ){ - flags = (intptr_t)sqlite3_user_data(context); + flags = (sqlite3_intptr_t)sqlite3_user_data(context); if( flags & 1 ){ while( nIn>0 ){ int len; @@ -1459,7 +1459,7 @@ void sqlite3RegisterBuiltinFunctions(sqlite3 *db){ if( argType==0xff ){ pArg = db; }else{ - pArg = (void*)(intptr_t)argType; + pArg = (void*)(sqlite3_intptr_t)argType; } sqlite3CreateFunc(db, aFuncs[i].zName, aFuncs[i].nArg, aFuncs[i].eTextRep, pArg, aFuncs[i].xFunc, 0, 0); @@ -1478,7 +1478,7 @@ void sqlite3RegisterBuiltinFunctions(sqlite3 *db){ sqlite3AttachFunctions(db); #endif for(i=0; i= sizeof(res.nData) ); - res.azResult[0] = (char*)(intptr_t)res.nData; + res.azResult[0] = (char*)(sqlite3_intptr_t)res.nData; if( (rc&0xff)==SQLITE_ABORT ){ sqlite3_free_table(&res.azResult[1]); if( res.zErrMsg ){ @@ -187,10 +187,10 @@ void sqlite3_free_table( char **azResult /* Result returned from from sqlite3_get_table() */ ){ if( azResult ){ - intptr_t i, n; + sqlite3_intptr_t i, n; azResult--; assert( azResult!=0 ); - n = (intptr_t)azResult[0]; + n = (sqlite3_intptr_t)azResult[0]; for(i=1; ip4.i = (int)(intptr_t)zP4; + pOp->p4.i = (int)(sqlite3_intptr_t)zP4; pOp->p4type = n; }else if( zP4==0 ){ pOp->p4.p = 0; diff --git a/src/vdbemem.c b/src/vdbemem.c index 3bbb04c2b0..1bf3766646 100644 --- a/src/vdbemem.c +++ b/src/vdbemem.c @@ -922,7 +922,7 @@ const void *sqlite3ValueText(sqlite3_value* pVal, u8 enc){ expandBlob(pVal); if( pVal->flags&MEM_Str ){ sqlite3VdbeChangeEncoding(pVal, enc & ~SQLITE_UTF16_ALIGNED); - if( (enc & SQLITE_UTF16_ALIGNED)!=0 && 1==(1&(intptr_t)pVal->z) ){ + if( (enc & SQLITE_UTF16_ALIGNED)!=0 && 1==(1&(sqlite3_intptr_t)pVal->z) ){ assert( (pVal->flags & (MEM_Ephem|MEM_Static))!=0 ); if( sqlite3VdbeMemMakeWriteable(pVal)!=SQLITE_OK ){ return 0; diff --git a/src/vtab.c b/src/vtab.c index c86e85a8df..eec604b3c0 100644 --- a/src/vtab.c +++ b/src/vtab.c @@ -11,7 +11,7 @@ ************************************************************************* ** This file contains code used to help implement virtual tables. ** -** $Id: vtab.c,v 1.64 2008/03/06 07:35:22 mlcreech Exp $ +** $Id: vtab.c,v 1.65 2008/03/06 09:58:50 mlcreech Exp $ */ #ifndef SQLITE_OMIT_VIRTUALTABLE #include "sqliteInt.h" @@ -611,7 +611,7 @@ int sqlite3VtabCallDestroy(sqlite3 *db, int iDb, const char *zTab) ** ** The array is cleared after invoking the callbacks. */ -static void callFinaliser(sqlite3 *db, intptr_t offset){ +static void callFinaliser(sqlite3 *db, sqlite3_intptr_t offset){ int i; if( db->aVTrans ){ for(i=0; inVTrans && db->aVTrans[i]; i++){ @@ -664,7 +664,7 @@ int sqlite3VtabSync(sqlite3 *db, int rc2){ ** sqlite3.aVTrans array. Then clear the array itself. */ int sqlite3VtabRollback(sqlite3 *db){ - callFinaliser(db, (intptr_t)(&((sqlite3_module *)0)->xRollback)); + callFinaliser(db, (sqlite3_intptr_t)(&((sqlite3_module *)0)->xRollback)); return SQLITE_OK; } @@ -673,7 +673,7 @@ int sqlite3VtabRollback(sqlite3 *db){ ** sqlite3.aVTrans array. Then clear the array itself. */ int sqlite3VtabCommit(sqlite3 *db){ - callFinaliser(db, (intptr_t)(&((sqlite3_module *)0)->xCommit)); + callFinaliser(db, (sqlite3_intptr_t)(&((sqlite3_module *)0)->xCommit)); return SQLITE_OK; }