Date: Sun, 18 Aug 2002 22:25:28 +1000 From: Edwin Groothuis <edwin@mavetju.org> To: Gianmarco Giovannelli <gmarco@giovannelli.it> Cc: questions@freebsd.org Subject: Re: recursive include, why FreeBSD not ? Message-ID: <20020818122528.GD785@k7.mavetju> In-Reply-To: <5.1.1.6.2.20020818112527.0178a268@194.184.65.4> References: <5.1.1.6.2.20020818112527.0178a268@194.184.65.4>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Aug 18, 2002 at 11:32:47AM +0200, Gianmarco Giovannelli wrote: > I have a piece of code like this: > > #if defined(__OpenBSD__) > #define __BYTE_ORDER BYTE_ORDER > #define __LITTLE_ENDIAN LITTLE_ENDIAN > #define __BIG_ENDIAN BIG_ENDIAN > #endif > > [...] > > #if defined(__FreeBSD__) > #include <sys/types.h> > #define __BYTE_ORDER BYTE_ORDER > #define __LITTLE_ENDIAN LITTLE_ENDIAN > #define __BIG_ENDIAN BIG_ENDIAN > #endif > > > If I remove the: > #include <sys/types.h> > it doesn't compile while OpenBSD and Linux compile clean... Linux has the obsession of including include-files in the include files itself. For example, sys/socket.h includes sys/types.h(*) FreeBSD doesn't include that sys/types.h in sys/socket.h, therefor it will fail to compile. I don't know who is right, but if the man-page tells me to include sys/types.h and sys/socket.h I will do it that way and not the other way around and neither only sys/socket.h. (*) It might (or might not) be sys/types.h and sys/socket.h, but that is the one which I think it was. I have had the same experience a couple of times before. Edwin -- Edwin Groothuis | Personal website: http://www.MavEtJu.org edwin@mavetju.org | Weblog: http://www.mavetju.org/weblog/weblog.php bash$ :(){ :|:&};: | Interested in MUDs? http://www.FatalDimensions.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020818122528.GD785>