[Ecls-list] Example about building / loading ECL libraries

Dietrich Bollmann dietrich at formgames.org
Sun Jun 30 15:50:58 UTC 2013


Hi Juan,

On Fri, Jun 28, 2013 at 4:54 PM, Juan Jose Garcia-Ripoll <
juanjose.garciaripoll at gmail.com> wrote:


> On Fri, Jun 28, 2013 at 5:37 AM, Dietrich Bollmann <dietrich at formgames.org
> > wrote:
>
>>   - Is there some verbosity option which makes 'asdf:make-build' print
>> out the commands used to build (and move) the library?
>>
>>   - How can I figure out the cache directory from lisp?
>>
>
> Those are not questions related to ECL but to ASDF's configuration. The
> first one I doubt it is or will be implemented, the second one is in their
> manual.
>

Thank you.

Just for reference - the following works:

  - (asdf::apply-output-translations "library.lib")
    returns the file "library.lib" prefixed by the cache dir where it is
built;

  - (asdf::system-source-directory system)
    returns the source directory of the system

So the following builds the shared library from the hello-lisp.asd file and
moves both, the .dll and the .lib file to the source directory of the
system:

(ext:install-c-compiler)
(require :asdf)
(push "./" asdf:*central-registry*)

(defun build-shared-library (system)
  (asdf:make-build system :type :shared-library :move-here "./")
  (let* ((lib-file (concatenate 'string (string-downcase (symbol-name
system)) ".lib"))
 (source   (asdf::apply-output-translations lib-file))
 (target   (asdf::system-source-directory   system)))
    (asdf::rename-file-overwriting-target source target)))

(build-shared-library :hello-lisp)

(quit)

It would be nicer, though, if 'asdf:make-build' would move both to the
':move-here' directory: the .dll file as well as the .lib file.
Thanks for your help,

Dietrich



On Fri, Jun 28, 2013 at 4:54 PM, Juan Jose Garcia-Ripoll <
juanjose.garciaripoll at gmail.com> wrote:

>
> On Fri, Jun 28, 2013 at 5:37 AM, Dietrich Bollmann <dietrich at formgames.org
> > wrote:
>
>>   - Is there some verbosity option which makes 'asdf:make-build' print
>> out the commands used to build (and move) the library?
>>
>>   - How can I figure out the cache directory from lisp?
>>
>
> Those are not questions related to ECL but to ASDF's configuration. The
> first one I doubt it is or will be implemented, the second one is in their
> manual.
>
>
>
> --
> Instituto de Física Fundamental, CSIC
> c/ Serrano, 113b, Madrid 28006 (Spain)
> http://juanjose.garciaripoll.googlepages.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20130701/5cc25ed3/attachment.html>


More information about the ecl-devel mailing list