lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] building latest cvs with MSVC (PETE paths)


From: Greg Chicares
Subject: Re: [lmi] building latest cvs with MSVC (PETE paths)
Date: Fri, 19 Sep 2008 17:37:59 +0000
User-agent: Thunderbird 2.0.0.16 (Windows/20080708)

On 2008-09-19 11:57Z, Vadim Zeitlin wrote:
> 
>  I'm rebuilding latest cvs with MSVC and had 2 new problems:
> 
> 1. My MSVC patch needs to be applied to the new functions in mc_enum.tpp:

I haven't yet had time to consider that patch.

> 2. I'm not sure how should the PETE files be organized. Currently loads.cpp
>    contains "#include <PETE/et_vector.hpp>" and this doesn't work for me
>    because the file et_vector.hpp is under tools/pete-2.1.1, i.e. not in
>    PETE subdirectory at all. Shouldn't it be there?

http://lists.nongnu.org/archive/html/lmi/2008-09/msg00009.html
|
| Here's one way that definitely works:
|
| 
http://cvs.savannah.gnu.org/viewvc/lmi/lmi/install_miscellanea.make?r1=1.13&r2=1.14

The 'pete' target in that file boils down to this:

        cp \
          --force --preserve --recursive \
          --target-directory=$(third_party_include_dir)/PETE/ \
          lmi/tools/pete-2.1.1/*.* \
          lmi/tools/pete-2.1.1/PETE/*.* \

The PETE directory structure in lmi cvs is intended to resemble
the structure of the original PETE archive here:
  http://www.codesourcery.com/public/pooma/pete-2.1.0.tgz
in particular:
  pete-2.1.0/src/PETE/PETE.h
  pete-2.1.0/examples/Vector/Eval.h says '#include "PETE/PETE.h"'
with these correspondences:
  pete-2.1.0/src/PETE/        <--> lmi/tools/pete-2.1.1/PETE/
  pete-2.1.0/examples/Vector/ <--> lmi/tools/pete-2.1.1/

The installation command above flattens that structure. ('*.*' is
deliberate: it ignores 'CVS' subdirs and other irrelevant files.)

Why flatten it? Because it didn't work otherwise, at least not with
MinGW gcc--or como either, IIRC.

That did seem strange to me. It worked if I gave the compiler a full
absolute path beginning with '/', but not with a relative path. The
problem seemed to be that with
  -I some_include_path
and files arranged this way:
  some_include_path/pete-2.1.1/et_vector.hpp
  some_include_path/pete-2.1.1/PETE/PETE.h
as in cvs, the preprocessor couldn't find the files that 'PETE.h'
includes. (I'm writing that from memory because I've got a big job
running and can't recreate the problem right now.)

At first, I thought it seemed wrong for 'PETE/PETE.h' to specify
relative paths like this:
  #include "PETE/Scalar.h"
to include files that are in its own directory. But then I looked
at wx, and
  wx/defs.h
contains
  #include "wx/platform.h"
which I'm sure must be right because it's been used by so many
people on so many platforms for so many years. Then I wondered why
I had an error with PETE but not with wx...and it turns out that
I've always specified an absolute path to wx.

Perhaps I'm misunderstanding something; can you help me see it?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]