On Thu, Sep 17, 2015 at 2:46 PM, Attila Lendvai <att...@lendvai.name> wrote: >> It's possible, and some people have done it for SBCL at Google using >> bazel.io, though they never spent the time making it open source. I >> could extract bits from it and reproduce the same thing with ASDF, but >> I'd rather someone else do it, though I can explain what I see in >> those files. > > does it happen > a) from a final linking phase linking sbcl's .o files > b) or using a vanilla sbcl exe (or executable core) and hacking the > grovelled .o or .so files into it? > a libsbcl.a is produced, that will be linked against to produce a core, that will itself be used to dump the final image and create a standalone executable (or somehow combined with an image produced by another core? I don't think so, but I haven't read that part of the code.)
>> Or then again, the CL community could adopt bazel (not very likely). > > from a strictly engineering perspective, do you think using bazel to > build cl code would be better than using ASDF? yes/no/hard-to-judge? > If you have lots of memory and CPUs, and a Java heart with a Python skin don't work as a repellant on you, bazel is actually a pretty nice way to build software in a massive parallel way (though the distributed backend isn't open source (yet?), only the parallel backend on a single box, AFAIK). But it's very different from ASDF, and doesn't scale down to smaller machines (unless you have that distributed backend with a farm of smaller machines). So it's not going to displace ASDF any time soon. Stelian had ideas about making a more blaze-like build system for CL; some ideas of my old XCVB could be resurrected, and I created a TODO for a hypothetical ASDF 4 that would be mostly backward compatible with ASDF 3, yet provide the benefits of a modern build system. However, I'm not convinced there's a large enough public to justify this work, unless you're going to make a general purpose rival to bazel. > to me it seems that it's an important ability to customize the build > system from the .asd (because it's the same language), and that would > be lost with bazel, no? > Bazel has this Skylark extension language (Python subset) that I'm working on. Not remotely as nice as CL. On the other hand, CL is the wrong language to restrict side-effects, as required for a truly deterministic build system. Haskell Cabal, anyone? —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Pascal is for building pyramids—imposing, breathtaking, static structures built by armies pushing heavy blocks into place. Lisp is for building organisms… – Alan Perlis