On 6/11/15 11:03 AM, Christoph Hellwig wrote:
> On Wed, Jun 10, 2015 at 07:19:52PM +1000, Dave Chinner wrote:
>> Actually, I think that platform_defs.h needs to be symlinked into
>> include/xfs. that was the intent, but I bet I missed it because
>> the build wasn't failing and so I didn't notice that I'd failed to
>> put it into the the include/Makefile rule for installed headers.
>>
>> Yeah, there we are - the install-dev rule has a specific install
>> rule for platform_defs.h as well, so it was being included in the
>> package builds correctly (i.e. installed in /usr/include/xfs)
>> without being mentioned in the HFILES definition that defines header
>> files to be packaged for /usr/include/xfs....
>>
>> Patch below (which uncovers another issue to do with include files
>> on the distclean side, but is not fatal and I'll fix tomorrow).
>
> This works fine for me.
>
> Btw, we really shouldn't be installing generated files, that's a major
> PITA for multiarch setups. I'll see how much of the autoconf magic
> we even need here.
FWIW, we do a crazy thing in RPM land ...
# cat /usr/include/xfs/platform_defs.h
/* This file is here to prevent a file conflict on multiarch systems. A
* conflict will occur because platform_defs.h has arch-specific definitions.
*
* DO NOT INCLUDE THE NEW FILE DIRECTLY -- ALWAYS INCLUDE THIS ONE INSTEAD. */
#if defined(__i386__)
#include "platform_defs-i386.h"
#elif defined(__x86_64__)
#include "platform_defs-x86_64.h"
#elif defined(__powerpc64__)
#include "platform_defs-ppc64.h"
... etc ...
|