On 5/20/05, Quentin Mathé <[EMAIL PROTECTED]> wrote:
> Le 16 mai 05, à 03:25, Yen-Ju Chen a écrit :
> 
> In LuceneKit ChangeLog :
> 
> > 2005-05-15 Yen-Ju Chen <yjchenx at gmail _dot_ com>
> >
> >         * Rewrite GNUmakefile and some headers to make correct
> > installation.
> >         * Adapt new directory structure.
[snip]
> 
> Hi Yen-Ju,
> 
> I don't understand why you have changed #include directive with
> LuceneKit internal headers in order to have them looked up in system
> scope and not in project scope. What was the problem with just #include
> "Java/LCReader.h" vs #include <LuceneKit/Java/LCReader.h> to take an
> example.
> 
> #include <blabla.h> is usually reserved when you link code external to
> your project. If you have a old LuceneKit version installed, and you
> are compiling a more recent one, headers included could be older ones
> (found in GNUstep Headers directory) and compilation may fail.

  The only reason I did that is because applications cannot use the
old-style #include directive.
  
  For example,
  headers in source code are under Headers/Index/LCDocumentWriter.h
  and is installed in LuceneKit/Index/LCDocumentWriter.h

  In old LuceneKit, any class (say LCIndexWriter.h) which include
LCDocumentWriter always uses #include "Index/LCIndexWriter.h".
  It works within LuceneKit because you simply use -I to specify the
header directory.
  But for external application which usually use #include
<LuceneKit/Index/LCIndexWriter.h>, it wiil failed because
LCIndexWriter.h try to find "Index/LCIndexWriter.h" and it doesn't
match the installed structures, which is
<LuceneKit/Index/LCIndexWriter.h>

  I hope it is a clear explanation.
  In short, the header directory in source code (Headers/...) 
  and installed header doesn't match, which cause some problems for
external application.
  I try to solve the problem.
  One way to do that is to have header directory in source code as
Headers/LuceneKit/Java/..., which is actually used by GNUstep.
  But it adds an extra subdirectory.
  The otherway is what I did now.
  
  To avoid picking the old installed headers,
  I think I can modify the GNUmakefile in source code from
  LuceneKit_INCLUDE_DIRS += -I../..
  to LuceneKit_INCLUDE_DIRS = -I../..
  It may solve the problem

  Yen-Ju
  

> 
> Quentin.
> 
> --
> Quentin Mathé
> [EMAIL PROTECTED]
> 
> 
> _______________________________________________
> Etoile-dev mailing list
> [email protected]
> https://mail.gna.org/listinfo/etoile-dev
>

Reply via email to