Bladeren bron

fix building under Solaris (sqlite.patch hunks are taken from upstream CVS and hence can be removed once 3.4.3 is released)

Ralf S. Engelschall 18 jaren geleden
bovenliggende
commit
7f0e0f8d99
2 gewijzigde bestanden met toevoegingen van 80 en 0 verwijderingen
  1. 79 0
      sqlite/sqlite.patch
  2. 1 0
      sqlite/sqlite.spec

+ 79 - 0
sqlite/sqlite.patch

@@ -56,3 +56,82 @@ Index: sqlite3.pc.in
 -Libs: -L${libdir} -lsqlite3
 +Libs: -L${libdir} -lsqlite3 @LIBS@
  Cflags: -I${includedir}
+Index: tool/lemon.c
+--- tool/lemon.c	30 Jul 2007 18:31:53 -0000	1.48
++++ tool/lemon.c	23 Aug 2007 02:50:56 -0000	1.49
+@@ -108,7 +108,7 @@
+ ** Principal data structures for the LEMON parser generator.
+ */
+ 
+-typedef enum {B_FALSE=0, B_TRUE} Boolean;
++typedef enum {LEMON_FALSE=0, LEMON_TRUE} Boolean;
+ 
+ /* Symbols (terminals and nonterminals) of the grammar are stored
+ ** in the following: */
+@@ -610,7 +610,7 @@
+   int progress;
+ 
+   for(i=0; i<lemp->nsymbol; i++){
+-    lemp->symbols[i]->lambda = B_FALSE;
++    lemp->symbols[i]->lambda = LEMON_FALSE;
+   }
+   for(i=lemp->nterminal; i<lemp->nsymbol; i++){
+     lemp->symbols[i]->firstset = SetNew();
+@@ -623,10 +623,10 @@
+       if( rp->lhs->lambda ) continue;
+       for(i=0; i<rp->nrhs; i++){
+          struct symbol *sp = rp->rhs[i];
+-         if( sp->type!=TERMINAL || sp->lambda==B_FALSE ) break;
++         if( sp->type!=TERMINAL || sp->lambda==LEMON_FALSE ) break;
+       }
+       if( i==rp->nrhs ){
+-        rp->lhs->lambda = B_TRUE;
++        rp->lhs->lambda = LEMON_TRUE;
+         progress = 1;
+       }
+     }
+@@ -649,10 +649,10 @@
+           }
+           break;
+ 	}else if( s1==s2 ){
+-          if( s1->lambda==B_FALSE ) break;
++          if( s1->lambda==LEMON_FALSE ) break;
+ 	}else{
+           progress += SetUnion(s1->firstset,s2->firstset);
+-          if( s2->lambda==B_FALSE ) break;
++          if( s2->lambda==LEMON_FALSE ) break;
+ 	}
+       }
+     }
+@@ -972,11 +972,11 @@
+   }
+ 
+   /* Report an error for each rule that can never be reduced. */
+-  for(rp=lemp->rule; rp; rp=rp->next) rp->canReduce = B_FALSE;
++  for(rp=lemp->rule; rp; rp=rp->next) rp->canReduce = LEMON_FALSE;
+   for(i=0; i<lemp->nstate; i++){
+     struct action *ap;
+     for(ap=lemp->sorted[i]->ap; ap; ap=ap->next){
+-      if( ap->type==REDUCE ) ap->x.rp->canReduce = B_TRUE;
++      if( ap->type==REDUCE ) ap->x.rp->canReduce = LEMON_TRUE;
+     }
+   }
+   for(rp=lemp->rule; rp; rp=rp->next){
+@@ -1210,7 +1210,7 @@
+             break;
+ 	  }else{
+             SetUnion(newcfp->fws,xsp->firstset);
+-            if( xsp->lambda==B_FALSE ) break;
++            if( xsp->lambda==LEMON_FALSE ) break;
+ 	  }
+ 	}
+         if( i==rp->nrhs ) Plink_add(&cfp->fplp,newcfp);
+@@ -4271,7 +4271,7 @@
+     sp->prec = -1;
+     sp->assoc = UNK;
+     sp->firstset = 0;
+-    sp->lambda = B_FALSE;
++    sp->lambda = LEMON_FALSE;
+     sp->destructor = 0;
+     sp->datatype = 0;
+     Symbol_insert(sp,sp->name);

+ 1 - 0
sqlite/sqlite.spec

@@ -121,6 +121,7 @@ AutoReqProv:  no
     export CFLAGS
     export LDFLAGS
     export LIBS
+    GREP="grep" \
     ./configure \
         --prefix=%{l_prefix} \
 %if "%{with_utf8}" == "yes"