GNU make prior to 3.81 doesn''t support $(realpath ...). This fixes a regression introduced in 23368:0f670f5146c8 (the option tested via cc-option-add got interpreted as the argument of the -I compiler option, as its intended argument was blank, and hence the compiler was falsely considered to support *any* option in the pciutils sub-tree). Signed-off-by: Jan Beulich <jbeulich@suse.com> --- a/Config.mk +++ b/Config.mk @@ -4,6 +4,9 @@ ifeq ($(filter /%,$(XEN_ROOT)),) $(error XEN_ROOT must be absolute) endif +# fallback for older make +realpath = $(wildcard $(foreach file,$(1),$(shell cd -P $(dir $(file)) && echo "$$PWD/$(notdir $(file))"))) + -include $(XEN_ROOT)/.config # A debug build of Xen and tools? --- a/stubdom/Makefile +++ b/stubdom/Makefile @@ -158,7 +158,7 @@ $(LIBPCI_STAMPFILE): pciutils-$(XEN_TARG chmod u+w lib/config.h && \ echo ''#define PCILIB_VERSION "$(LIBPCI_VERSION)"'' >> lib/config.h && \ ln -sf ../../libpci.config.mak lib/config.mk && \ - $(CROSS_MAKE) CC="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -I$(realpath $(MINI_OS)/include)" lib/libpci.a && \ + $(CROSS_MAKE) CC="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -I$(call realpath,$(MINI_OS)/include)" lib/libpci.a && \ $(INSTALL_DATA) lib/libpci.a $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib/ && \ $(INSTALL_DIR) $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include/pci && \ $(INSTALL_DATA) lib/config.h lib/header.h lib/pci.h lib/types.h $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include/pci/ \ _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2011-Dec-13 11:29 UTC
Re: [PATCH] stubdom: allow to build with older tool chain
On 13/12/2011 10:34, "Jan Beulich" <JBeulich@suse.com> wrote:> GNU make prior to 3.81 doesn''t support $(realpath ...). This fixes a > regression introduced in 23368:0f670f5146c8 (the option tested via > cc-option-add got interpreted as the argument of the -I compiler > option, as its intended argument was blank, and hence the compiler was > falsely considered to support *any* option in the pciutils sub-tree). > > Signed-off-by: Jan Beulich <jbeulich@suse.com>Acked-by: Keir Fraser <keir@xen.org>> --- a/Config.mk > +++ b/Config.mk > @@ -4,6 +4,9 @@ ifeq ($(filter /%,$(XEN_ROOT)),) > $(error XEN_ROOT must be absolute) > endif > > +# fallback for older make > +realpath = $(wildcard $(foreach file,$(1),$(shell cd -P $(dir $(file)) && > echo "$$PWD/$(notdir $(file))"))) > + > -include $(XEN_ROOT)/.config > > # A debug build of Xen and tools? > --- a/stubdom/Makefile > +++ b/stubdom/Makefile > @@ -158,7 +158,7 @@ $(LIBPCI_STAMPFILE): pciutils-$(XEN_TARG > chmod u+w lib/config.h && \ > echo ''#define PCILIB_VERSION "$(LIBPCI_VERSION)"'' >> lib/config.h && \ > ln -sf ../../libpci.config.mak lib/config.mk && \ > - $(CROSS_MAKE) CC="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -I$(realpath > $(MINI_OS)/include)" lib/libpci.a && \ > + $(CROSS_MAKE) CC="$(CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -I$(call > realpath,$(MINI_OS)/include)" lib/libpci.a && \ > $(INSTALL_DATA) lib/libpci.a $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib/ > && \ > $(INSTALL_DIR) $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include/pci && \ > $(INSTALL_DATA) lib/config.h lib/header.h lib/pci.h lib/types.h > $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/include/pci/ \ > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel