[GRASS-dev] GUI code dest dir

Glynn Clements glynn at gclements.plus.com
Wed Apr 30 00:08:13 PDT 2014


Hamish wrote:

> >>> currently wxGUI code is placed by building system in `etc`
> >>> directory. I would say that more appropriate would be to put `gui`
> >>> directory into root, so at the same level as `bin` or `scripts`.
> >>>
> >>> Simirarly python libs are placed also in `etc` directory. They
> >>> should probably go to `lib\python` instead of `etc\python`.
> 
> probably not $GISBASE/lib/python/, as lib/ is for libgis et al. on UNIX
> systems.

Note that the Python standard library typically goes into
/usr/lib/pythonX.Y (where X.Y is the version) on Unix.

OTOH, the standard library includes DSOs as well as .py/.pyc files,
wheres GRASS' Python libraries are pure Python.

> > > Note that for C/C++ code we have a similar issue. In the source
> > > code, includes are in `include` but in distribution they are in
> > > `include/grass` so you have to do
> > >
> > > #include grass/raster.h
> 
> that's exactly how it should be, no?

Well, there should be <angle brackets> around the name, but having the
directory as part of the header name is intentional.

The point was that the "source" versions of the header files don't
live in a parent directory called "grass".

The suggestion is to move all of the header files and subdirectories
(except perhaps the "Make" directory) into a "grass" subdirectory, so
that the source layout mirrors the installed layout.

At the same time, we might want to reconsider whether the "Make"
directory really belongs in "include".

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list