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