On Sat, Jun 07, 2008 at 08:22:17AM -0400, Theodore Tso wrote: > severity 484879 normal > tags 484879 +pending > thanks > > On Sat, Jun 07, 2008 at 09:10:07AM +0200, Mike Hommey wrote: > > Package: e2fslibs-dev > > Version: 1.40.8-2 > > Severity: important > > > > If a program using ext2fs public headers want to use some functions or > > features that are #ifdef'ed within conditionals that are defined at > > e2fsprogs build time, they just can't. Similarly, it would need to > > include sys/types.h itself to circumvent the lack of HAVE_SYS_TYPES_H. > > > > It's particularly a problem for WORDS_BIGENDIAN, because byte swapping > > macros won't do the right thing on big endians without defining > > WORDS_BIGENDIAN. > > > > There should be a config.h file, included in the headers, that set all > > these variables that are defined at build time but are required by > > headers. > > The general design rule is that we try to avoid using any > autoconf-defined macros in the public header files. Some have slipped > in; the HAVE_SYS_TYPES_H was just to calm down some gcc -Wall > messages, for example. The use of WORDS_BIGENDIAN has been there much > longer, but in general hasn't been a problem because there really > isn't a good reason for external ext2 programs to use the ext2fs_* > byte swapping macros. So in practice this hasn't caused any problems > at all. > > Still, it should be fixed, and the following diff will be checked into > e2fsprogs's tree.
Note, I wonder if there aren't possible problems with other macros, such as ENABLE_SWAPFS and ENABLE_COMPRESSION. Mike -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

