> Am 23.06.2025 um 17:56 schrieb James K. Lowden <jklow...@schemamania.org>:
> 
> On Sat, 21 Jun 2025 11:03:19 +0200
> Richard Biener <richard.guent...@gmail.com> wrote:
> 
>>> A comparison of the mentions of "fixinclude" in config.{status,log}
>>> of two directories, bootstrap and non-bootstrap, shows no
>>> difference.  
>>> 
>>> What should I be looking for?
>> 
>> For why fixinclude isn?t built - the config.log therein might show
>> something.  
> 
> Thanks, Richard.  As I said, both bootstrap and nonboostrap builds
> leave identical traces of fixinclude in config.log:
> 
> $ grep fixi build/config.log | nl
>     1  build_configdirs=' libiberty libcpp fixincludes'
>     2  configdirs=' libiberty zlib libbacktrace libcpp libcody
> libdecnumber fixincludes gcc libcc1 c++tools'
> 
> At Iain's suggestion, I tried an out-of-body experience, and that
> worked.  So, now we know something we didn't before.  Let me explain.  
> 
> I normally create a build directory off the root.  According to
> gccinstall.info, that is a supported arrangement.  
> 
>    "... building where OBJDIR is a subdirectory of SRCDIR should
> work as well; building where OBJDIR == SRCDIR is unsupported."
> 
> I take that to mean that, wherever one builds, one must be free to run
> "rm -rf" on the build tree.  
> 
> So I normally have:
> 
>    $ pwd && ls -d $(git rev-parse --show-toplevel) build
>    /home/jklowden/projects/3rd/gcc/parser
>    /home/jklowden/projects/3rd/gcc/parser  build
> 
> In that topology, for a bootstrap build only, build/fixinclude is
> empty.  
> 
> Today I created a build directory in /tmp, and the bootstrap build
> succeeded:
> 
> $ head config.log  | grep /configure
>  $ /home/jklowden/projects/3rd/gcc/cobol-stage/configure
> --prefix=/usr/local/gcc-cobol --disable-multilib --enable-checking
> --enable-languages=c,cobol
> 
> $ ls fixincludes/ config.cache   fixfixes.o
> fixlib.o    Makefile          server.o config.h       fixincl
> fixopts.o   mkheaders         stamp-hconfig.log     fixincl.o
> fixtests.o  mkheaders.almost config.status  fixinc.sh   full-stamp
> procopen.o
> 
> To recap:
> 
> 1.  For --disable-bootstrap, ../OBJDIR == SRCDIR works.
> 
> 2.  For --enable-bootstrap, if ../OBJDIR == SRCDIR, OBJDIR/fixinclude
> is an empty directory.  The build succeeds, but "make install" fails.  

This definitely works for me.

> 3.  For --enable-bootstrap, if ../OBJDIR != SRCDIR, "make install"
> succeeds.
> 
> 4.  gccinstall doesn't define "should work" for #2.
> 
> I don't know what purpose fixinclude serves.  My problem is solved
> insofar as I have a working solution.  If I may, I would suggest to the
> folks who know what fixinclude does that it be  made to work for
> case #2 above.  If that's infeasible, we should update the
> documentation to say so.  
> 
> --jkl
> 

Reply via email to