Advice sought on structuring a system

Faré fahree at gmail.com
Mon Apr 11 23:26:33 UTC 2016


On Mon, Apr 11, 2016 at 7:15 PM, Mark Cox <markcox80 at gmail.com> wrote:
> On Sun, Apr 10, 2016 at 12:32 AM, Faré <fahree at 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.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
Apparently a government can prevent itself and its successors indefinite
from doing bad things, just by writing a note to itself that says
"don't do bad things." — Mencius Moldbug on constitutions



More information about the pro mailing list