xfs
[Top] [All Lists]

Re: [PATCH 06/10] xfsprogs: use <>-style includes in installed headers

To: Christoph Hellwig <hch@xxxxxx>
Subject: Re: [PATCH 06/10] xfsprogs: use <>-style includes in installed headers
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Fri, 31 Jul 2015 12:55:06 +1000
Cc: xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1437927209-31354-7-git-send-email-hch@xxxxxx>
References: <1437927209-31354-1-git-send-email-hch@xxxxxx> <1437927209-31354-7-git-send-email-hch@xxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Sun, Jul 26, 2015 at 06:13:25PM +0200, Christoph Hellwig wrote:
> Once installed these are system headers, so we need to use <>-style include
> statements between them.
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>

This causes a build failure on my system when doing a parallel
build. For some reason, make is trying to install libxfs headers
before the include headers, and fails because include/xfs doesn't
yet exist.

.....
config.status: executing libtool commands
   [HEADERS] libxfs
   [HEADERS] include
ln: failed to create symbolic link ¿../include/xfs/xfs_fs.h¿: No such file or 
directory
Makefile:141: recipe for target 'xfs_fs.h-hdrs' failed
....

I made a small change to pull the creation of include/xfs out of
include/Makefile and up into include/buildrules where it is done
before running the install-headers rule on each header subdir,
and that fixes it. i.e:

diff --git a/include/Makefile b/include/Makefile
index bd8b0ca..705090a 100644
--- a/include/Makefile
+++ b/include/Makefile
@@ -67,12 +67,9 @@ include $(BUILDRULES)
 # set up include/xfs header directory
 install-headers: $(addsuffix -hdrs, $(HFILES) $(PHFILES) $(DKHFILES) 
$(LIBHFILES))

-%-hdrs: xfs
+%-hdrs:
        $(Q)$(LN_S) -f $(PWD)/include/$* xfs/$*

-xfs:
-       @mkdir -p xfs
-
 install: default
        $(INSTALL) -m 755 -d $(PKG_INC_DIR)

diff --git a/include/buildrules b/include/buildrules
index 72491db..1ece843 100644
--- a/include/buildrules
+++ b/include/buildrules
@@ -14,10 +14,16 @@ clean clobber : $(addsuffix -clean,$(SUBDIRS))
        $(Q)$(MAKE) $(MAKEOPTS) -C $* clean

 ifdef HDR_SUBDIRS
-headers: $(addsuffix -headers, $(HDR_SUBDIRS))
+.PHONY: .xfs
+
+headers: .xfs $(addsuffix -headers, $(HDR_SUBDIRS))
+
 %-headers:
        @echo "   [HEADERS] $*"
        $(Q)$(MAKE) $(MAKEOPTS) -C $* NODEP=1 install-headers
+
+.xfs:
+       @mkdir -p include/xfs
 endif

 # Never blow away subdirs


Now I've just got to work out which patch is breaking 'make deb'....

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>