Page 1 of 1

Manually Registering asdf library

Posted: Thu Mar 25, 2010 2:56 pm
by Suroy
Im using ecl lisp and one possibility there is to build a library into a monolithic library which you can link against in your c programs (so you dont have to explicitely (require 'library), which might take awhile).

The problem is that the library is not registered with asdf. So, if i attempt to (require 'library), or to load another library which depends upon it from the c code, it'll rebuild the library from the file system because it doesn't know it has already 'loaded' it. So, is there a 'best' way to manually register it so it doesn't attempt to rebuild???

Re: Manually Registering asdf library

Posted: Thu Mar 25, 2010 8:07 pm
by nuntius
Juanjo has been tackling that issue on the ASDF mailing list lately. I think he got a working result; but I wasn't able to give the thread much attention.

He added a few extensions to make this work; I would recommend asking on the ecl devel list.

Re: Manually Registering asdf library

Posted: Fri Mar 26, 2010 4:41 pm
by jjgarcia
Suroy wrote:Im using ecl lisp and one possibility there is to build a library into a monolithic library which you can link against in your c programs (so you dont have to explicitely (require 'library), which might take awhile).

The problem is that the library is not registered with asdf. So, if i attempt to (require 'library), or to load another library which depends upon it from the c code, it'll rebuild the library from the file system because it doesn't know it has already 'loaded' it. So, is there a 'best' way to manually register it so it doesn't attempt to rebuild???
This feature, that is taking a system defined with ASDF and building a binary replacement for it, is a brand new ECL extension. Until last week it was impossible to do that for users; last week I implemented it for the ECL core extensions; this week I added it for ASDF and promoted the patch upstream, and today I just found it has a small bug.

So you can consider that what you are asking for is not supported by ASDF-release right now (it wasn't even considered as a possibility by the ASDF creators and maintainers), but it is something being worked on. Hopefully it will be mature enough for the upcoming release of ECL.

BTW, the goal is not that only ECL is capable of doing that, but rather making this a standard feature of ASDF, but that requires porting what we did with ECL to other platforms. It will take some days.