[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