[GRASS-dev] some GRASS source and packaging observations and questions

Glynn Clements glynn at gclements.plus.com
Sat Dec 16 08:25:42 EST 2006


William Kyngesburye wrote:

> While working on an Xcode project for GRASS (almost ready, just needs  
> some testing), I came across a few oddities, and have a couple  
> questions.  I submitted a couple bugs, these are leftovers that I'm  
> not sure about their bug-ness.
> 
> - r.li - its library is named libr_li, or the full file name:  
> liblibr_li.[libext].  This doesn't really fit in with the libgrass_ 
> [foo].[libext] naming of GRASS.

If it's meant to be a "public" library, it should be added to
include/Make/Grass.make.in, and should have the "grass" prefix.

> - r3.in|out.v5d - these are built by default, but I noticed in the  
> source that they are big-endian-only, with comments that little- 
> endian byte-swapping code is needed.  It looks like there was a start  
> at it, as binio.c accepts a -DLITTLE flag, and a couple places (but  
> not all) have byte-swap code.

> If these are in such a state, they probably shouldn't be built by  
> default.

Agreed.

> - bin/scripts - I'm curious if there is a practical reason to  
> separate compiled progs and scripts into bin and scripts folders?   
> Maybe some have the scripts folder name hardcoded in them for some  
> reason, or maybe in the GUI?
> 
> Basically they are all executables, and it adds another path item  
> needed in the PATH env.  (And I need to deal with a possible/rare  
> case-sensitivity problem in a Mac app package between 'scripts' and  
> 'Scripts'.)

Until recently, there wasn't any compelling reason for having separate
directories.

However, Paul Kelly recently figured out a simple and effective way to
make Bourne-shell scripts work natively on Windows: for each script,
install a corresponding .bat file (in the bin directory) which
explicitly invokes the shell on the script (in the scripts directory). 

In that situation, it makes sense to have separate directories, as the
scripts are essentially data files (for use by the shell interpreter)
rather than executables in their own right. Only the bin directory is
added to the path.

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




More information about the grass-dev mailing list