<div dir="ltr">I admit I had never looked at how ACBL-JAR works before. I see it's there:<div><a href="http://trac.common-lisp.net/armedbear/browser/trunk/abcl/contrib/asdf-jar/asdf-jar.lisp">http://trac.common-lisp.net/armedbear/browser/trunk/abcl/contrib/asdf-jar/asdf-jar.lisp</a><br>

</div><div><br></div><div style>IIUC, the gist is that you somehow traverse the system to gather what files to zip,</div><div style>and the tricky issue is that since the output-translations function will be different</div>

<div style>in the build environment and the deployment environment, you have to build a map</div><div style>of build-time pathnames in the filesystem to deploy-time pathnames in the jar file.</div><div style>Because ASDF 1 or 2 didn't have a good way to do that, ABCL currently does it</div>

<div style>in a clunky way that doesn't account for ASDF extensions.</div><div style>Doing it correctly is possible using exported functionality of ASDF3,</div><div style>but requires intercepting (with-asdf-cache (:override t) ...) and</div>

<div style>*output-translation-functions* to build a reverse translation table</div><div style>around a call to (traverse 'load-op system).</div><div style><br></div><div style>Your second email suggests you're looking into combining fasls as an alternative to building a jar. Sounds great. Regarding how to build a system that loads the concatenated fasl,</div>

<div style>see in asdf/bundle.lisp the (largely untested, stolen from asdf-ecl.lisp)<br></div><div style>   defmethod perform ((o binary-op) (s system))<br></div><div style>Or search the same file for "Example use:"</div>

<div style><br></div><div class="gmail_extra"><div>—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• <a href="http://fare.tunes.org" target="_blank">http://fare.tunes.org</a><br></div>
<div class="gmail_extra">Justice is not concerned with the results of the various transactions</div><div class="gmail_extra">but only with whether the transactions themselves are fair.</div><div class="gmail_extra">        — F.A. Hayek, "Law, Legislation and Liberty", I.6.j</div>

<div><br></div><br><div class="gmail_quote">On Sun, Mar 31, 2013 at 3:39 PM, Erik Huelsmann <span dir="ltr"><<a href="mailto:ehuels@gmail.com" target="_blank">ehuels@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div dir="ltr">Hi,<div><br></div><div><br></div><div>Some time ago Mark Evenson created ASDF-JAR on ABCL. It has some issues packaging ASD files which uses #. syntax to read e.g. version files (version.lisp-sexp) such as bordeaux-threads does.</div>


<div><br></div><div>We know ECL started hooking into the ASDF/BUNDLE machinery for ASDF to overcome problems like these. Could you help me/us out and explain how we can plug ABCL into the same machinery? From what I've seen, it's most efficient if the resulting code be committed to ASDF. That's fine by me. At this point, I'd just be happy with an explanation on how to do the hooking up: the new ASDF/BUNDLE functionality doesn't seem to be documented in the manual yet.</div>


<div><br></div><div><br></div><div>Thanks for any help you may be able to provide!</div><div><br></div><div><br>Bye,</div><div><br></div><div><br></div><div>Erik.</div><div>
<br></div><div><br></div></div>
</blockquote></div><br></div></div>