<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello,<div><br></div><div>I'm looking for input/suggestions about something I've been working on that is related to asdf-bundle.</div><div><br></div><div>I'm trying to come up with a good solution to do cross-compiling of ASDF packages using ECL. For example I want to be able to create a bundle for a system that looks like this:</div><div><br></div><div><div>(asdf:defsystem openglsample</div><div>  :components</div><div>  ((:file "package")</div><div>   #+cross</div><div>   (:file "shader-vao" :depends-on ("package")))</div><div>  :depends-on (#+iphone iphone</div><div><span class="Apple-tab-span" style="white-space:pre">   </span>       #+android android</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>       #+android cl+j</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>       #+(or android iphone) cl-opengl))</div></div><div><br></div><div><br></div><div>Using this system definition, I'd like to be able to create monolithic bundles libopenglsample_iphone.a and libopenglsample_android.a with the constraint that the android version will include the "android" and cl+j systems and the iPhone version will contain the "iphone" system.</div><div><br></div><div>I tried adding new operations to asdf "cross-compile-op" "cross-lib-op" see here: <a href="https://github.com/ageneau/ecl-android/tree/master/lisp-packages/asdf-cross">https://github.com/ageneau/ecl-android/tree/master/lisp-packages/asdf-cross</a>. This mostly works but the handling of the different *features* for each target is a bit of a mess since the host and the target can have different system definitions. </div><div><br></div><div>Also because of side-effects, cross-compiling of a particular source file might depend on the host having loaded some dependencies first except the host will load this dependency with *features* that might be different than the target.</div><div><br></div><div>I'm wondering would this be better suited for xcvb? In particular can xcvb cross-compile a system without the host doing the cross-compilation having to load the system definition for the system it is compiling?</div><div><br></div><div>Regards,</div><div>Sylvain</div><div><br></div><div><br></div></body></html>