I found your report here
- [asdf-devel] ASDF's MAKE-BUILD breaks ECL's DLL target http://comments.gmane.org/gmane.lisp.asdf.devel/3109
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 ---
(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?