[Ecls-list] change request for MSVC for *cc-flags*
fBechmann at t-online.de
fBechmann at t-online.de
Tue Nov 15 14:16:01 UTC 2005
Goffioul Michael wrote:
>>- The ~/ just marks the root dir of my ECL sources (in fact
>>F:\usr\src\ecls-cvs\) and I also used the flatinstall (to
>>D:\usr\local\ecl-0.9).
>>
>>- As far as I understand, the ASDF compile process uses the C
>>compiler
>>command as defined by c::*cc-format* in compile.lsp.in and this only
>>includes a link to the @true_builddir@, which will become
>>'~/msvc//h' in
>>compile.lsp.
>>
>>
>
>In a installed ECL, the compiler command line is defined in src/cmp/cmpcfg.lsp.in.
>The values used in compile.lsp.in are only used for building ECL itself. In
>a producation environment, the compiler variables will refer to the ECL
>installation directory, not the ECL source tree.
>
>
>
that part I understood, that's why I listed the "source" string from
compile.lsp.in and the "target" string from compile.lsp.
>>- The missing include 'ecl-cmp.h' would in my case happen to be in
>>F:\usr\src\ecls-cvs\src\h oder in D:\usr\local\ecl-0.9\h but none of
>>these is listed in c::*cc-format*.
>>
>>
>
>If you look in msvc/cmp/cmpcfg.lsp, you'll notice that c::*cc-format*
>contains the directive -I~A/h which will be replaced at run-time by
>the ECL compiler to obtain -I<where-ECL-is-installed>/h. This should
>be OK after a "make flatinstall".
>
>
>
>>- The compilation works, when I set the INCLUDE environment
>>variable (to
>>include F:\usr\src\ecls-cvs\src\h) but I guess that it's the
>>very idea
>>of the c::*cc-format* to allow compilation w/o this. What I'm
>>compiling
>>is the split-sequence library in directory
>>F:\usr\src\cl-libs\split-sequence using the following compile code:
>>
>>(require 'asdf)
>>(load "split-sequence.asd")
>>(use-package "ASDF")
>>(make-build :split-sequence :type :fasl)
>>(load "split-sequence.fas")
>>
>>This is started in directory F:\usr\src\cl-libs\split-sequence.
>>
>>- I don't see how compilation should work if the header directory
>>~\src\h which holds files NOT available in ~\msvc\h is not in the
>>include path, so my proposal was to add this, either from below the
>>@true_srcdir@ or from the target path of the flatinstall.
>>
>>
>
>These are source dircetories. They should not be refered at all in a
>production environment because you cannot assume that the user has
>access to the ECL source tree.
>
>Michael.
>
>
>
granted, but I only knew the cut.exe template for the source dir, not
for the prefix of the flatinstall, so I used this to test whether it's
resolved at all.
at least now I know why it didn't work: my change was in compile.lsp.in,
but it should have been in cmpcfg.lsp.in.
after fiddling around another half an hour I found the problem: I've
started the ecl2.exe from below 'F:\usr\src\ecls-cvs\msvc', and this one
sets '(namestring (translate-logical-pathname "SYS:"))' to
-I"F:/usr/src/ecls-cvs/msvc//h".
when using D:\usr\local\ecl-0.9\ecl.exe instead of this it compiles
smoothly, now the include resolution works.
Thx for your support and best regards,
frank
>-------------------------------------------------------
>This SF.Net email is sponsored by the JBoss Inc. Get Certified Today
>Register for a JBoss Training Course. Free Certification Exam
>for All Training Attendees Through End of 2005. For more info visit:
>http://ads.osdn.com/?ad_idv28&alloc_id845&op=click
>_______________________________________________
>Ecls-list mailing list
>Ecls-list at lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/ecls-list
>
>
>
More information about the ecl-devel
mailing list