[GRASS5] 5.7: compilation error management - log file?

Recently the 5.7 Makefile system was changed to continue
on compilation errors. While is is probably a good idea,
it's quite difficult to understand now which modules
were skipped.
Is there a way to implement a error log file support as it
exists for 5.3?

Markus

Markus Neteler wrote:

Recently the 5.7 Makefile system was changed to continue
on compilation errors. While is is probably a good idea,

In my case, it was essential; the build would get to lib/form, fail
because I don't have Tcl/Tk 8.4 (Tcl_GetEncoding etc), and that was
the end of the build process.

it's quite difficult to understand now which modules
were skipped.
Is there a way to implement a error log file support as it
exists for 5.3?

Try changing this rule (in include/Make/Dir.make):

subdirs:
  @list='$(SUBDIRS)'; \
  for subdir in $$list; do \
      echo $$subdir ; \
      $(MAKE) -C $$subdir; \
  done

to:

subdirs:
  @list='$(SUBDIRS)'; \
  for subdir in $$list; do \
      echo $$subdir ; \
      $(MAKE) -C $$subdir || echo $(CURDIR)/$$subdir >> $(GRASS_HOME)/error.log ; \
  done

You'll also need to delete/truncate error.log at the start of the
build.

--
Glynn Clements <glynn.clements@virgin.net>

On Fri, Aug 06, 2004 at 11:43:17AM +0100, Glynn Clements wrote:

Markus Neteler wrote:

> Recently the 5.7 Makefile system was changed to continue
> on compilation errors. While is is probably a good idea,

In my case, it was essential; the build would get to lib/form, fail
because I don't have Tcl/Tk 8.4 (Tcl_GetEncoding etc), and that was
the end of the build process.

> it's quite difficult to understand now which modules
> were skipped.
> Is there a way to implement a error log file support as it
> exists for 5.3?

Try changing this rule (in include/Make/Dir.make):

subdirs:
  @list='$(SUBDIRS)'; \
  for subdir in $$list; do \
      echo $$subdir ; \
      $(MAKE) -C $$subdir; \
  done

to:

subdirs:
  @list='$(SUBDIRS)'; \
  for subdir in $$list; do \
      echo $$subdir ; \
      $(MAKE) -C $$subdir || echo $(CURDIR)/$$subdir >> $(GRASS_HOME)/error.log ; \
  done

You'll also need to delete/truncate error.log at the start of the
build.

Thanks!
All implemented now in 5.7.

Markus