building XFree86 from cvs
Harold L Hunt
huntharo@msu.edu
Mon Aug 19 13:40:00 GMT 2002
Alexander Gottwald <alexander.gottwald@informatik.tu-chemnitz.de> said:
> On Mon, 19 Aug 2002, Harold Hunt wrote:
>
> > Michael,
> >
> > Oh, you are only missing about 30 pages that describe exactly how to build
> > XFree86 for Cygwin:
> > http://xfree86.cygwin.com/docs/cg/cygwin-xfree-cg.html
> >
> > Start with those. It is unlikely that you will have problems.
>
> It seems like the PROGRAMS vs. PROG_EXE problem. Didn't the patch got into
> CVS?
>
> bye
> ago
> --
> Alexander.Gottwald@informatik.tu-chemnitz.de
> http://www.gotti.org ICQ: 126018723
>
>
What patch?
Do you understand what PROGS_EXE is for? Do you understand why we cannot use
PROGRAMS? If not, then don't submit a patch. PROGS_EXE fixes a very
specific problem and it was rather difficult to come up with that
workaround. Search the mailing list archive or look at the commit log for
cygwin.rules if you have any questions about what it fixes. Actually, it is
right here:
http://cvsweb.xfree86.org/cvsweb/xc/config/cf/cygwin.rules.diff?
r1=3.12&r2=3.13&f=h
The original comment was:
/*
* ComplexProgramTarget_X, where 1 <= X <= 10, are all broken.
* 1 is broken because 2 and 3 are not built during the make World pass,
* 2 and 3 are only built later, during the make install pass.
* 1 is also broken because there are now 10 ComplexProgramTargets instead
* of 3.
*
* 1's problem is that PROGRAM2 and PROGRAM3 are not defined at the time
* that 1 is processed, so the AllTarget(), DependTarget(), and LintTarget
()
* only apply to PROGRAM1, not to PROGRAM2 and PROGRAM3. However, we
can't
* simply set the AllTarget() to PROGRAMS, as Imake.rules does, as the
* executable names in PROGRAMS are not wrapped in ProgramTargetName().
*
* Fixing the ComplexProgramTargets will require some way of pulling out
* each exectuable name from PROGRAMS, wrapping it in ProgramTargetName(),
* then concatenating the resulting list back into PROGRAMS. We would
* then only have to define ComplexProgramTarget_1, letting 2 through 10
* be defined by Imake.rules.
*
* Good luck. For now I am inclined to leave these rules slightly broken.
*/
I haven't had a single problem with this solution, nor has Alan Hourihane (at
least none that he has mentioned to me). As far as I am concerned, until I
see a step-by-step test case proving otherwise, there is no problem. I will
not accept any patch that ``fixes'' the build by removing the PROGS_EXE
functionality. If you have a specific executable that is not supposed to
have its name wrapped with ProgramTargetName, then you need to fix the
Imakefile for that executable, not cygwin.rules. If you have a specific
version of make or if you are using a host version of imake that is causing
problems, then you need to work that issue out on your own and see if you can
come up with a more compatible solution. Until then, PROGS_EXE stays.
'Nuff said.
Harold
More information about the Cygwin-xfree
mailing list