On Tue, 01 Sep 2009, Tamas TEVESZ wrote:

Hi,

> something's fishy with the rddsql install target. right now as far as 
> i can tell, it only manifests itself on sunos (where /bin/sh isn't 
> quite the brightest spark in town), and on the surface is 
> shell-related, but the cause looks to be lying deeper therein.
> do find the relevant piece of the install log below (i've slightly 
> modified instsh.mk so it coughs up the actual fragments it is about to 
> execute).
> it seems as if INSTALL_RULE was assembled more than once, once with 
> INSTALL_FILES set to libsddpg.a, but at the next iteration 
> INSTALL_FILES was empty. afaict this second iteration must somehow be 
> happening inside instsh.mk, as it is protected to be evaluated with an 
> empty install_files list.

Yes, it's a known problem caused by hack used to install header files
with libraries or binaries, i.e.:

   INSTALL_RULE_HEADERS := $(INSTALL_RULE)
   install::
        $(INSTALL_RULE_HEADERS)

Such code in Makefiles is a workaround for INSTALL_RULE designed for
single action. In the past I added yet another hack as workaround for
it. It's used in source/pp/Makefile, see HB_INSTALL_DEF.
The problem in SQLRDDs is caused by including:
   include $(TOP)$(ROOT)config/header.mk
without any PRG_HEADERS, C_HEADER and API_HEADERS and it's enough
to remove above line.
But for final version it should be fully redesigned and we should
add support for multiple install goals: binaries, libraries and
header files.

best regards,
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to