Hello,
I'm looking for input/suggestions about something I've been working on that is
related to asdf-bundle.
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:
(asdf:defsystem openglsample
:components
((:file "package")
#+cross
(:file "shader-vao" :depends-on ("package")))
:depends-on (#+iphone iphone
#+android android
#+android cl+j
#+(or android iphone) cl-opengl))
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.
I tried adding new operations to asdf "cross-compile-op" "cross-lib-op" see
here:
https://github.com/ageneau/ecl-android/tree/master/lisp-packages/asdf-cross.
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.
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.
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?
Regards,
Sylvain
_______________________________________________
asdf-devel mailing list
[email protected]
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel