However, the first problem may require some creativity.

It seems to me the best we could hope for is to modify our build to use our standard template, "config.sexp", if my-config.sexp doesn't exist, and blare a warning that you probably should understand and set those defaults yourself. If we did that, perhaps on most systems (85%) it would build, but it will remain fragile (not least of all to new revisions of BDB). It might build more reliably for a CL-SQL backend or a postmodern backend, but of course you can't use those systems without knowing at least that your have to have postgres and run "createdb test",
for example.


My suggestions would that the process be:
- load the core elephant code without committing to loading a particular data store - if my-config doesn't exist, create it with that big warning sign but continue (only BDB users depend on it, and BDB isn't being loaded as part of the core so they'll
   run into the errors when they try to open a specific data store)
- Make sure the dependencies for elephant-tests is done right
- Create an asdf:test-op for a basic set of elephant tests??? Perhaps it complains about my-config.sexp and forces you to set a store type to test with?

Questions:
- Is it OK with clbuild that we load :ele-bdb, :ele-clsql from within our open-store procedure? - How about the hack in elephant.asd to ensure that uffi is loaded when some of the code in that file is evaluated as part of the c library build procedure? Do we have a problem there? - In general, have you found in clbuild that CL-SQL is a good prototype for a project with multiple backends like ours.

Cheers,
Ian

Does this sound like a reasonable solution?





_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to