In message <dub120-ds9949d5f1440d8845d111af0...@phx.gbl>
          "Alan Buckley" <alan_...@hotmail.com> wrote:

> John Tytgat wrote on Monday, May 19, 2014 8:27 PM:
> 
> > Was this a full clean build (either freshly checked out, either after a
> > make clean or make distclean) ? Did you do the build for the 
> > cross-compiler
> > with the same set of sources ?
> 
> No, I had run svn update on it a few times.

It depends on when the last time your previous update was but asasm and
its sub projects (like elftoolchain) got quite some code reshuffling.

> > Otherwise, I would remove all generated autotools file in the riscos/asasm
> > directory with a:
> 
> > for i in riscos/asasm riscos/asasm/decaof/ riscos/asasm/elftoolchain/ ; do 
> > svn status --no-ignore $$i | grep "^I       " | cut -b 9- | xargs rm -rf ; 
> > done
> > and restart the build.
> 
> This didn't work. But a make clean followed by make ronative did.

Ok, that's the fix which should always work but is of course the most
costly timewise as it really restarts from scratch.

> It there any way to just rebuild the parts that have changed after an svn 
> update?
> It took all morning to rebuild the ronative compilers and I'd like to try
> to keep up to date with the trunk build for the cross-compiler at least
> without it taking so long.

The gccsdk build system (basically the top Makefile) is designed to
avoid doing costly rechecking whether a sub-build step need to be redone
as soon as that sub-build step got finished successfully before.  As
soon as one sub-build step is successful, a file gets written in
the buildstepsdir so a next 'make' will skip that step even if you did
get new sources for that step after a 'svn update'.  This is (was) just
to avoid lengthy build times when developing and/or fixing a broken build.

If you want to force to redo that buildstep (and automatically also all
other depending buildsteps), just remove its corresponding file in
buildstepsdir.

As a guideline, if you do svn update (and/or 'make updategcc') and
see updates for:
- UnixLib or gcc related patches: remove {cross,ronative}-gcc-built
  (one is for the cross-compiler, the other for the native RISC OS
  compilter).
- binutils related patches: remove {cross,ronative}-binutils-built
- riscos/*: remove {cross,ronative}-riscostools-built or
  execute 'riscos/build-it' to rebuild any which hasn't been built yet
  or 'riscos/build-it -f' to force rebuilding all riscos/* tools.

If you want to update the gcc sources in order to get the latest gcc 4.7.x
fixes, do 'make updategcc' followed by the normal 'make'.

Hope this helps a bit.

John.
-- 
John Tytgat, in his comfy chair at home
john.tyt...@aaug.net

_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK

Reply via email to