Advice sought on structuring a system
Mark Cox
markcox80 at gmail.com
Tue Apr 12 00:32:33 UTC 2016
On Tue, Apr 12, 2016 at 9:26 AM, Faré <fahree at gmail.com> wrote:
> 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.
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/pro/attachments/20160412/200ba7eb/attachment.html>
More information about the pro
mailing list