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