-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable SQL engine without flex and Bison installed #296
base: dev
Are you sure you want to change the base?
Conversation
Flex and Bison are only really needed by package maintainers to generate new C files. So check in the generated files, enable SQL by default, and allow disabling with --disable-sql.
Hi Evan, Do we even need dependencies like lexer, yacc and bison anymore, are they still useful? I am asking as the maintainer of the FreeBSD port of MDB Tools ;) |
@rhurlin Those dependencies were only ever needed at compile-time. With these changes, they'll only be needed when a developer is modifying the lexer or parser. |
@evanmiller OK, so it is enough to have them installed on the developer box (is mostly the case there), the end user will do without. Thanks for the explanation :) |
I'm not sure this is a good idea. |
@nirgal I'm not sure if my skills are sufficient to actually understand the changes. As far as I can see, lexer and parser are still used under I must confess, I don't even have knowledge about what |
This page might help clarify the new behavior: https://www.gnu.org/software/automake/manual/html_node/Yacc-and-Lex.html I can remove the generated files from the PR's source tree; but according to the above, generated files will still be included in distribution tar balls. |
@evanmiller @nirgal I am beginning to understand how the "mechanics" of On FreeBSD, the port so far is such that If I compare the files You will find diff's of all three files attached: I cannot judge to what extent these differences are important for the respective platform (here FreeBSD). |
@rhurlin Likely the differences are just due to different versions of |
@evanmiller I already hoped so :) If this is true, there should be no difference in the interpretation of SQL code between MDB Tools with and without C files included. The future will show that ... |
One difficulty of excluding the files from the source tree is that |
By "distributed tar balls" do you mean the four files listed under Assets on Github? I have no experience with them, as FreeBSD basically downloads the sources and compiles with them. Or does this mean ready-made packages that are offered on distros like Windows, Linux, macOS, etc.? Sorry for my little knowledge about such workflows :( |
@rhurlin "Distributed tar balls" refers to the Asset files |
@evanmiller Ah! Now I think I understand the meaning of the assets (tar balls) better. Thanks for the explanation. Unfortunately I have little experience with automake and writing configure scripts, so can't help with threading the needle, sorry. |
Flex and Bison are only really needed by package maintainers to generate new C files. So check in the generated files, enable SQL by default, and allow disabling with
--disable-sql
.Fixes #273. Supersedes #276.