Shane Harrelson wrote:
> I checked in some updates to the "configure" support that will hopefully do
> the right thing and pass any OMIT options to lemon and mkkeywordhash.
> There was also a minor fix to handle SQLITE_OMIT_VIEW being defined while
> SQLITE_OMIT_SUBQUERY is undefined in select.c (something you probably rand
> into with your example.)  Also note that in your example, -DTEMP_STORE=2
> should probably be replaced with some variation of the --enable-tempstore
> configure option.
> 

Shane,

I just looked at your changes, and it seems to me the format of the 
options being passed to lemon is incorrect.

The lemon program take options of the form D=SQLITE_OMIT* as shown in 
the usage information.

     $ ./lemon --help
     Command line syntax error: undefined option.
     c:\sqlite\SQLite3\build\lemon.exe --help
                                 here --^
     Valid command line options for "c:\sqlite\SQLite3\build\lemon.exe" are:
       -b           Print only the basis in report.
       -c           Don't compress the action table.
       D=<string>   Define an %ifdef macro.
       -g           Print grammar without actions.
       -m           Output a makeheaders compatible file
       -q           (Quiet) Don't print the report file.
       -s           Print parser stats to standard output.
       -x           Print the version number.

I have tested that these options work as expected by manually editing 
the old Makefile and passing such options using the OPTS variable.

Further testing reveals that lemon also seems to accept option in the 
form -DSQLITE_OMIT* just like the compiler, so this is probably a 
non-issue (except that the lemon usage documentation should be updated 
and the command should be changed to accept a --help option as well).

When I use configure to build a new makefile after your changes the 
OPT_FEATURE_FLAGS are set incorrectly.

I ran this command:

$ ../sqlite/configure CFLAGS="-DSQLITE_OMIT_TRIGGER"

During the run the following messages were generated (near the end):

../sqlite/configure: OPT_FEATURE_FLAGS+= -DSQLITE_OMIT_TRIGGER: command 
not found
../sqlite/configure: ac_temp_CFLAGS+= -DSQLITE_OS_WIN=1: command not found

The generated makefile contains the following line:

OPT_FEATURE_FLAGS = -DSQLITE_OMIT_LOAD_EXTENSION=1

with no mention of the SQLITE_OMIT_TRIGGER option.

When make is executed lemon is called to generate the parser like this:

./lemon.exe  -DSQLITE_OMIT_LOAD_EXTENSION=1 parse.y

and the generated parser still contains all the trigger related code.

It looks like this feature still needs some more work.

Dennis Cote

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to