On Mon, 24 Aug 2009, Szak�ts Viktor wrote:
sorry, not enough, it still dies :(
Thank you for the feedback.
Another idea is to iterate through DYNDIRLIST variable
items and pick filelist via 'for' (rather than using
already assembled list by make internals) and do something
like this:
--- in config/os2/gcc.mk [ typed without running it ]
define dyn_objects
for %f in ( $(TOP)$(ROOT)$(dir)/$(OBJ_DIR)/*$(OBJ_DYN_PREFIX)$ (OBJ_EXT)
) do @$(ECHO) $(ECHOQUOTE)INPUT(%f)$(ECHOQUOTE) >> __dyn__.tmp
endef
define create_dynlib
  $(if $(wildcard __dyn__.tmp),@$(RM) __dyn__.tmp,)
  $(foreach dir,$(DYNDIRLIST),$(dyn_objects))
  $(DY) ...
endef
---

It will not work. David already made such tests.
The problem is in OS2 GNU make port. It has limited total size of
resolved command for given action and when this limit is exceed
then it corrupts internal memory and usually GPFs.
See the note about using wordlist in config/common/watcom.mk.
GNU make evaluates all functions creating full list of commands
to execute before it starts to execute the 1-st command. It doesn't
mater how you create such list (which functions you will use) but
important is only total length. As long as it's not fixed in OS2
GNU make port then you cannot create such long command but I do
not know if it's a know bug reported to GNU make authors. Maybe
we should ask about it.

I haven't seen any fixed OS/2 related bugs in make ChangeLog
since 3.81. But maybe such fix exist outside the official tree.
So even OS/2 build of unstable-3.81.90 may not solve a problem,
anyhow if someone has such build it could be tested.

[ I didn't check make pending bug list though. ]

Brgds,
Viktor

_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to