On Mon, 18 Apr 2005, Cem Vedat ISIK wrote:

>Having a lot of cross compiling trials and errors, I have decided not to
>cross compile, but to compile the SQLite on Motorola PowerPC itself.


If this is still the config.h issue, I have made some changes to allow
compiling without config.h being generated. It's only used for dodgy
pointer arithmatic in a couple of places, and can be done more portably
without converting pointers to integers.

Try the attached patch, against the latest CVS source, which removes the
need for config.h, hence removing the need to generate config.h. I've not
removed config.h from Makefile.in or Makefile.linux-gcc. All tests on
Linux x86 with gcc 3.3.3 pass OK with this code. Not tested on other
platforms or cross-compile. Apply patch (in sqlite directory) with:
$ patch -p0 < patch


>I have the gcc version 2.95.4. When I run "make" after some time, I see
>
>gcc: Internal compiler error: program cc1 got fatal signal 9
>make: *** [sqlite3] Error 1
>
>I think that I'm having this problem because of the RAM size oy my Power
>PC System. It has 16 MB installed RAM and have tried the same compiling
>scenario with 32 MB RAM installed. That time the same error message
>appeared a little later which means it could manage to compile some more
>stuff and then killed by signal 9... By the way I've observed that the
>kill signal is generated by kernel when a process uses a lot of RAM.
>
>Is there any information about  How mant bytes of RAM does SQLite need
>to be compiled/built?
>According to that information I'll try to modify my system RAM or do
>something else to get SQLite run on Power PC.
>Any ideas/suggestions or comments will be appreciated.
>
>

-- 
    /"\
    \ /    ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
     X                           - AGAINST MS ATTACHMENTS
    / \
Index: src/btree.c
===================================================================
RCS file: /sqlite/sqlite/src/btree.c,v
retrieving revision 1.256
diff -u -r1.256 btree.c
--- src/btree.c 29 Mar 2005 13:17:46 -0000      1.256
+++ src/btree.c 20 Apr 2005 16:46:24 -0000
@@ -1216,8 +1216,10 @@
   assert( sizeof(u32)==4 );
   assert( sizeof(u16)==2 );
   assert( sizeof(Pgno)==4 );
+#if 0
   assert( sizeof(ptr)==sizeof(char*) );
   assert( sizeof(uptr)==sizeof(ptr) );
+#endif
 
   pBt = sqliteMalloc( sizeof(*pBt) );
   if( pBt==0 ){
Index: src/build.c
===================================================================
RCS file: /sqlite/sqlite/src/build.c,v
retrieving revision 1.318
diff -u -r1.318 build.c
--- src/build.c 29 Mar 2005 03:10:59 -0000      1.318
+++ src/build.c 20 Apr 2005 16:46:25 -0000
@@ -1510,7 +1510,7 @@
     if( pSelect ){
       zStmt = createTableStmt(p);
     }else{
-      n = Addr(pEnd->z) - Addr(pParse->sNameToken.z) + 1;
+      n = pEnd->z - pParse->sNameToken.z + 1;
       zStmt = sqlite3MPrintf("CREATE %s %.*s", zType2, n, 
pParse->sNameToken.z);
     }
 
@@ -2463,7 +2463,7 @@
       /* A named index with an explicit CREATE INDEX statement */
       zStmt = sqlite3MPrintf("CREATE%s INDEX %.*s",
         onError==OE_None ? "" : " UNIQUE",
-        Addr(pEnd->z) - Addr(pName->z) + 1,
+        pEnd->z - pName->z + 1,
         pName->z);
     }else{
       /* An automatic index created by a PRIMARY KEY or UNIQUE constraint */
Index: src/expr.c
===================================================================
RCS file: /sqlite/sqlite/src/expr.c,v
retrieving revision 1.197
diff -u -r1.197 expr.c
--- src/expr.c  21 Mar 2005 03:53:38 -0000      1.197
+++ src/expr.c  20 Apr 2005 16:46:25 -0000
@@ -265,7 +265,7 @@
     assert( pLeft->dyn==0 || pLeft->z[pLeft->n]==0 );
     if( pLeft->dyn==0 && pRight->dyn==0 ){
       pExpr->span.z = pLeft->z;
-      pExpr->span.n = pRight->n + Addr(pRight->z) - Addr(pLeft->z);
+      pExpr->span.n = pRight->n + (pRight->z - pLeft->z);
     }else{
       pExpr->span.z = 0;
     }
Index: src/main.c
===================================================================
RCS file: /sqlite/sqlite/src/main.c,v
retrieving revision 1.285
diff -u -r1.285 main.c
--- src/main.c  29 Mar 2005 23:34:58 -0000      1.285
+++ src/main.c  20 Apr 2005 16:46:25 -0000
@@ -623,8 +623,8 @@
   static const short int totals[] =
      { 0, 1, 3,  8, 18, 33, 53, 78, 103, 128, 178, 228, 287};
 # define NDELAY (sizeof(delays)/sizeof(delays[0]))
-  ptr timeout = (ptr)Timeout;
-  ptr delay, prior;
+  int timeout = *(int*)Timeout;
+  int delay, prior;
 
   if( count <= NDELAY ){
     delay = delays[count-1];
@@ -699,7 +699,7 @@
 */
 int sqlite3_busy_timeout(sqlite3 *db, int ms){
   if( ms>0 ){
-    sqlite3_busy_handler(db, sqliteDefaultBusyCallback, (void*)(ptr)ms);
+    sqlite3_busy_handler(db, sqliteDefaultBusyCallback, (void*)&ms);
   }else{
     sqlite3_busy_handler(db, 0, 0);
   }
Index: src/sqliteInt.h
===================================================================
RCS file: /sqlite/sqlite/src/sqliteInt.h,v
retrieving revision 1.375
diff -u -r1.375 sqliteInt.h
--- src/sqliteInt.h     29 Mar 2005 03:10:59 -0000      1.375
+++ src/sqliteInt.h     20 Apr 2005 16:46:25 -0000
@@ -39,7 +39,9 @@
 # define _LARGEFILE_SOURCE 1
 #endif
 
+#if 0
 #include "config.h"
+#endif
 #include "sqlite3.h"
 #include "hash.h"
 #include "parse.h"
@@ -180,6 +182,7 @@
 #ifndef LONGDOUBLE_TYPE
 # define LONGDOUBLE_TYPE long double
 #endif
+#if 0
 #ifndef INTPTR_TYPE
 # if SQLITE_PTR_SZ==4
 #   define INTPTR_TYPE int
@@ -194,6 +197,7 @@
 #   define UINTPTR_TYPE sqlite_uint64
 # endif
 #endif
+#endif /* 0 */
 typedef sqlite_int64 i64;          /* 8-byte signed integer */
 typedef UINT64_TYPE u64;           /* 8-byte unsigned integer */
 typedef UINT32_TYPE u32;           /* 4-byte unsigned integer */
@@ -201,8 +205,10 @@
 typedef INT16_TYPE i16;            /* 2-byte signed integer */
 typedef UINT8_TYPE u8;             /* 1-byte unsigned integer */
 typedef UINT8_TYPE i8;             /* 1-byte signed integer */
+#if 0
 typedef INTPTR_TYPE ptr;           /* Big enough to hold a pointer */
 typedef UINTPTR_TYPE uptr;         /* Big enough to hold a pointer */
+#endif
 
 /*
 ** Macros to determine whether the machine is big or little endian,

Reply via email to