On Tue, Apr 12, 2016 at 9:26 AM, Faré fahree@gmail.com wrote:
On Mon, Apr 11, 2016 at 7:15 PM, Mark Cox markcox80@gmail.com wrote:
On Sun, Apr 10, 2016 at 12:32 AM, Faré fahree@gmail.com wrote:
The intended way to use ASDF in your case would be to use two or more systems, that may be defined in the same .asd file (using the / syntax to name a secondary system: roan, roan/core, roan/sqlite, etc.) or separate .asd files (using - or . as a separator).
I like this suggestion because it lets the user decide what is to be
built.
It won't scale though.
This is an excerpt from the help message of ImageMagick's configure
script:
--disable-openmp do not use OpenMP --enable-opencl enable OpenCL support --without-threads disable threads support --without-bzlib disable BZLIB support --with-x use the X Window System --without-zlib disable ZLIB support --without-dps disable Display Postscript support --without-fftw disable FFTW support --without-fpx disable FlashPIX support --without-djvu disable DjVu support --without-fontconfig disable fontconfig support --without-freetype disable Freetype support --without-raqm disable Raqm support --with-gslib enable Ghostscript library support --with-gvc enable GVC support --without-jbig disable JBIG support --without-jpeg disable JPEG support --without-lcms disable lcms (v1.1X) support --without-openjp2 disable OpenJP2 support --without-lqr disable Liquid Rescale support --without-lzma disable LZMA support --without-openexr disable OpenEXR support --without-pango disable PANGO support --without-png disable PNG support --with-rsvg enable RSVG support --without-tiff disable TIFF support --without-webp disable WEBP support
Quite on the contrary, it's the C configure and make system that clearly doesn't scale.
If you're writing Lisp code to be used from the Lisp REPL, just define something a system that autoloads functionality on demand.
If you're sadly creating an application, just dump everything — why would you leave anything out? Actually, use a protocol that helps you dump a single multicall binary for all the applications of your user.
And if you're building a small image for an embedded target, well, then have you build script include exactly the systems you want.
In any case, this kind of "configuration" can and should be part of your "application build script", that calls ASDF, but that ASDF doesn't have to care about.
Right. I see the flaw in my argument. Decisions are being made at the wrong time.
My example actually highlights your point.
Thanks for taking the time to correct me.
Mark