From 0ab29b7c200d864b3b0ce8eae26eeceab8112221 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Fri, 16 Jan 2015 09:25:37 +0100 Subject: build: avoid infinite recursions on include_next On MacOS X 10.5 PPC with Apple's GCC 4.0.1: % uname -a Darwin aria.cielonegro.org 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:57:0 1 PDT 2009; root:xnu-1228.15.4~1/RELEASE_PPC Power Macintosh % gcc --version powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5493) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. building in place enters into an infinite recursion on "#include_next": % gmake V=1 [snip] depbase=`echo lib/math.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -std=gnu99 -I. -Ilib -I. -I./lib -g -O2 -MT lib/math.o -MD -MP -MF $depbase.Tpo -c -o lib/math.o lib/math.c &&\ mv -f $depbase.Tpo $depbase.Po In file included from lib/math.h:27, from lib/math.h:27, from lib/math.h:27, from lib/math.h:27, [snip] from lib/math.h:27, from lib/math.h:27, from lib/math.c:3: lib/math.h:27:23: error: #include nested too deeply Makefile:3414: recipe for target 'lib/math.o' failed gmake[2]: *** [lib/math.o] Error 1 Using -I./lib instead of -Ilib fixes the problem. Reported by Pho. * Makefile.am (AM_CPPFLAGS): Use -I./lib instead of -Ilib. --- Makefile.am | 5 +++-- THANKS | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index fd3db0f1..b6135cbd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -39,8 +39,9 @@ AM_YFLAGS = -d -v -Werror -Wall -Wno-yacc --report=all # Initialization before completion by local.mk's. AM_CFLAGS = $(WARN_CFLAGS) -# Find builddir/src/scan-code.c etc. -AM_CPPFLAGS = -I. -Ilib -I$(top_srcdir) -I$(top_srcdir)/lib +# Find builddir/src/scan-code.c etc. For some reason "-I./lib" +# instead of "-Ilib" avoids infinite recursions on #include_next. +AM_CPPFLAGS = -I. -I./lib -I$(top_srcdir) -I$(top_srcdir)/lib BUILT_SOURCES = CLEANFILES = DISTCLEANFILES = diff --git a/THANKS b/THANKS index b9849103..875ac961 100644 --- a/THANKS +++ b/THANKS @@ -113,6 +113,7 @@ Peter Fales psfales@lucent.com Peter Hamorsky hamo@upjs.sk Peter Simons simons@cryp.to Petr Machata pmachata@redhat.com +Pho pho@cielonegro.org Piotr Gackiewicz gacek@intertel.com.pl Quentin Hocquet hocquet@gostai.com Quoc Peyrot chojin@lrde.epita.fr -- cgit v1.2.1