Imake changes in 4.5 break a couple of imake-using software packages
Dejan Lesjak <[email protected]>
| Newsgroups | gmane.comp.xfree86.devel |
|---|---|
| Message-ID | <[email protected]> |
A change was made to Imake.rules rev. 3.132 that removes dependencies from
install targets.
A couple of projects that use imake for configuring Makefiles depended on
imake adding dependencies to install:: target so those files were built at
install time. This includes at least xgammon [1], xcheckers [2], xfm [3].
For example in xgammon: previously imake would add XGammon.ad as dependency
for install target, now it fails at install like this:
xgammon-0.98a# make install
/usr/bin/install -c -s xgammon /usr/X11R6/bin/xgammon
/usr/bin/install -c -m 0444 XGammon.ad /usr/X11R6/lib/X11/app-defaults/XGammon
install: XGammon.ad: No such file or directory
*** Error code 71
This is handled by InstallAppDefaults macro which in turn uses
InstallNamedTarget from Imake.rules.
One solution would be to instead add such dependencies to all:: target so they
are still not built at install stage, which would seem to be in accordance to
made Imake.rules change.
For this example InstallNamedTarget would then look somewhat like this:
#ifndef InstallNamedTarget
#define InstallNamedTarget(step,srcname,flags,dest,dstname) @@\
all:: srcname @@\
@@\
step:: @@\
MakeDir($(DESTDIR)dest) @@\
InstallNamedInline(srcname,flags,dest,dstname)
#endif /* InstallNamedTarget */
What I'm wondering is rather, should such change be made in imake
configuration files or is this something that projects using imake should
take care of themselves. If this is to be solved in imake I can probably come
up with a patch to do so.
Dejan
---
[1] http://fawn.unibw-hamburg.de/steuer/xgammon/xgammon.html
[2] http://arton.cunst.net/xcheckers/index.html
[3] http://www.musikwissenschaft.uni-mainz.de/~ag/xfm/