<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Juan,<br>
<blockquote
 cite="mid:c159f9ab0805080038x3d788f9bib6ad2ae7b1ee9d4e@mail.gmail.com"
 type="cite">
  <blockquote type="cite">
    <pre wrap=""> When asdf:make-build is executed with :type :program it generates a dll
 library instead of an executable file. When running with :type :dll the
 ECL hangs for a few seconds and crashes (or exits?) without generating
 any object files. You may find logs for both cases below. Types: :fasl
 and :lib work fine.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
The :program case was broken. I made a typo and in asdf-ecl.lisp instead of

(defclass program-op (monolithic-bundle-op)
  ((type :initform :program)))

you will find

(defclass program-op (monolithic-bundle-op)
  ((type :initform :dll)))
  </pre>
</blockquote>
This should work, but I got the strange linker error when evaluated the
following expr:<br>
<br>
(asdf:make-build :example :type :program :epilogue-code '(ext:quit 0))<br>
<span class="Apple-style-span"
 style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 28px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"><span
 class="Apple-style-span"
 style="font-family: -webkit-serif; font-size: 23px;"></span></span><br>
<skipped><br>
;;; Note: Invoking external command:<br>
;;; cl -Fe"D:/Tools/Lisp/ecl/doc/examples/asdf/example.exe"
"C:/DOCUME~1/kamil/LOCALS~1/Temp/ECL123.obj"
"D:/Tools/Lisp/ecl/doc/examples/asdf/example.lib"  -MD /link
/nodefaultlib:libcmt /nodefaultlib:libcmtd /nodefaultlib:libc
/nodefaultlib:libd ecl.lib user32.lib ws2_32.lib shell32.lib<br>
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42
for 80x86<br>
Copyright (C) Microsoft Corporation.  All rights reserved.<br>
<br>
Microsoft (R) Incremental Linker Version 8.00.50727.42<br>
Copyright (C) Microsoft Corporation.  All rights reserved.<br>
<br>
/out:D:/Tools/Lisp/ecl/doc/examples/asdf/example.exe<br>
/nodefaultlib:libcmt<br>
/nodefaultlib:libcmtd<br>
/nodefaultlib:libc<br>
/nodefaultlib:libd<br>
ecl.lib<br>
user32.lib<br>
ws2_32.lib<br>
shell32.lib<br>
C:/DOCUME~1/kamil/LOCALS~1/Temp/ECL123.obj<br>
D:/Tools/Lisp/ecl/doc/examples/asdf/example.lib<br>
LINK : fatal error LNK1149: output filename matches input filename
'D:\Tools\Lisp\ecl\doc\examples\asdf\example.lib'<br>
NIL<br>
<blockquote
 cite="mid:c159f9ab0805080038x3d788f9bib6ad2ae7b1ee9d4e@mail.gmail.com"
 type="cite">
  <pre wrap="">This has been fixed now. Regarding the DLL issue, yes, there was a
circular dependency which was not solved. I have fixed that as well.
  </pre>
</blockquote>
The last commit:<br>
<br>
-          (or (eq op-type 'compile-op) (typep component 'system)))<br>
+          (or (eq op-type 'compile-op) (typep component 'system))<br>
+          (or include-self (not (eq system component))))<br>
<br>
breaks all asdf:make-build: no object files are generated, linker fails.<br>
<br>
--wbr.<br>
<br>
</body>
</html>