Provide sys/xattr.h

Yaakov (Cygwin/X)
Tue Mar 29 07:43:00 GMT 2011

Historically, the *xattr functions were first provided by SGI libattr
and prototyped in <attr/xattr.h>.  Later, glibc added them under
<sys/xattr.h>[1], and (on Linux) libattr still provides the symbols for
ABI compatibility but they are now just wrappers.

(FWIW, Darwin also provides these symbols in <sys/xattr.h>[2].)

This can be seen very clearly in GLib's configure[3], where
<sys/xattr.h> and libc are tested in tandem, followed by <attr/xattr.h>
and libattr.  Hence, with only attr/xattr.h present, libattr-devel is
required not only for building GLib, but the -lattr becomes hardcoded in
the libtool .la files, meaning that libglib2.0-devel would require
libattr-devel even though GLib requires no symbols from libattr1.

I see two ways to resolve this:

1) Move include/attr/xattr.h to include/sys/xattr.h, and ship libattr's
attr/xattr.h in libattr-devel, exactly as is done on Linux:

2011-03-29  Yaakov Selkowitz <yselkowitz@...>

	* include/attr/xattr.h: Move from here...
	* include/sys/xattr.h: here.

2) Install a copy of include/attr/xattr.h as <sys/xattr.h>, as in the
attached patch.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: include-sys-xattr.patch
Type: text/x-patch
Size: 792 bytes
Desc: not available
URL: <>

More information about the Cygwin-patches mailing list