Hi Juanjo,

I found your report here

  - [asdf-devel] ASDF's MAKE-BUILD breaks ECL's DLL target

and - as already usual - was very impressed by your immediate efforts to solve the problem!

I downloaded the patch and the asdf sources, build a new asdf.lisp and repeated my experiments.

I works!  Thank you again!

There are only some minor problems left:

  - Only the file 'hello-lisp.dll' was moved from the lisp cache directory, where it was built, into the working directory.  So I had to move the file 'hello-lisp.lib' manually myself.

  - Rather then 'init_lib_HELLO_LISP' the function to init the generated library is named 'init_dll_HELLO_LISP'.  No problem, of course, I just had to adapt my code to use this naming convention.

Beyond that everything works just fine :)

Here, just for reference, the code I used to build the library:

--- compile.lisp ---
(require :asdf)
(push "./" asdf:*central-registry*)
(asdf:make-build :hello-lisp :type :shared-library :move-here "./")

--- and in my Makefile ---

hello-lisp.lib: hello-lisp.asd hello-lisp.lisp
ecl -norc -load compile.lisp
cp 'C:/Users/dietrich/AppData/Local/common-lisp/cache/ecl-13.4.1-a40c1907-win-x86/E/Users/dietrich/home/cs/lang/lisp/ecl/diary/2013/06/28/examples/embed/shared-library/v010/hello-lisp.lib' .


Please allow me to use this opportunity to pose some more questions:

  - 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?

Thanks again,


On Thu, Jun 27, 2013 at 5:37 AM, Juan Jose Garcia-Ripoll <juanjose.garciaripoll@gmail.com> wrote:
On Mon, Jun 24, 2013 at 5:26 PM, Dietrich Bollmann <dietrich@formgames.org> wrote:

But unfortunately nothing happens when trying to use this file to build a shared library:

This is a bug in ASDF: it has arbitrarily removed the :DLL/:SHARED-LIBRARY targets from MAKE-BUILD. I have reported it with a possible fix for evaluation.

Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)