Discussion about include file location.

Chris Hanson <[email protected]> Mon, 12 Aug 2002 23:07:24 -0400
Newsgroups gmane.network.beep.beepcore.c.general
Message-ID <[email protected]>
   Date: Mon, 12 Aug 2002 21:52:30 -0500
   From: "William J. Mills" <[email protected]>

   Not long ago there was discussion about the organization of the
   include files in the source tree and the semi ugly way they were
   specified in the source files.  I'd like to tkae up that discussion
   again for a minute or 3.

   I agree that the way we had been doing it was inelegant, but I am
   not totallly satisfied with the current state of affairs.

   The #include statements should be much cleaner, but I think we
   should make the disticinction between developing in beepcore itself
   and the location of the include files when installed as a
   developers kit.  I would proprose that we change what we are doing
   so that the include files live in their respective directories, and
   use -I directives for building beepcore. The installation can
   install all of the header files, along with the libraries in
   something like $(DESTDIR)/include/beepcore.

   Does this address people's needs?

This is OK, provided that the assumption will be that the include
statement is of the form

	#include <FOO.h>

rather than

	#include <beepcore/FOO.h>

Otherwise, it's not possible to achieve this using -I statements,
unless the include files are moved to "beepcore/" subdirectories.

The only problem I see with this is a minor one, in that it makes
references to the installed include files non-standard.  That is,
using "<FOO.h>" when the file is actually in "/usr/include/beepcore/"
fools the programmer into thinking that the files are in
"/usr/include/".  Most other references to subdirectories of
"/usr/include/" include the subdirectory name in the include
statement, e.g. "<sys/stat.h>".  All other things being equal, I'd
prefer to use "<beepcore/FOO.h>" references instead.

(Note that I am agnostic on "beepcore/" vs. "beepcore-c/"; I chose the
latter because it was more specific.)

I am a little curious though -- how does this change the way the code
is written or thought about?  It seems as though you are suggesting an
alternate mechanism for implementing the naming, rather than a
structural change.

Chris


-------------------------------------------------------
This sf.net email is sponsored by: Dice - The leading online job board
for high-tech professionals. Search and apply for tech jobs today!
http://seeker.dice.com/seeker.epl?rel_code=31