On Wed, 13 Feb 2008, Glynn Clements wrote:

[...]
The same reasoning applies to MySQL, PostgreSQL etc. Whether to use
"#include <directory/file.h>" or to use "#include <file.h>" along with
-I/path/to/directory is a property of
how the headers are meant to be used,
                  ^^^^^^^^^^^^^^^^^^^^
I didn't realise how easy it was to check this (i.e. looking to see how the headers include "sibling" headers) nor how important it was. I do now, quite interesting. I would still consider it an annoyance though.

not where they happen to be  installed.

E.g. OpenGL headers are supposed to be included as <GL/gl.h>, X11
headers as <X11/Xlib.h>, Athena headers as <X11/Xaw/Text.h>, etc;
anything else (i.e. moving the prefix to the end of a -I switch) is
incorrect.

Any -I switches are determined according to the installation path
*after* you have determined the correct #include directive.

If a package is designed so that headers are included without any
prefix directory, yet installs them into a package-specific
subdirectory, the intention is that the headers will not be found
without a specific -I switch.

BTW:
        $ pkg-config --cflags libavcodec
        -I/usr/include/ffmpeg

Ditto for libavformat and libavutil.

Also, visualization/nviz/src/Makefile includes references to
FFMPEGINCPATH, FFMPEGLIBPATH and FFMPEGLIB but as far as I can see none of
the C files in that directory use any FFmpeg functions - can it be
removed? (I'm going to test it and see if anything goes wrong...)

In this case, I think that it can be removed, as none of the OGSF
headers appear to include the FFMPEG headers.

OK, I've done that.

Paul

_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to