This is the mail archive of the cygwin-xfree@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Fix for XFree86


Thanks for fixes.

Today, I will be releasing the new XFree86 patched code, which resolves most of the issues you mentioned.
In the new  archive a LOT OF patches had been reversed to make the binaries more compatible with X11R6.3 X-Windows system.  NOT needed code had been thrown away from xc/programs/Xserver/hw
directory and a lot of more new stuff had been added in the Xserver/hw directory.

I will also post the precompiled X11R6.3 libraries (libs and DLLs) for B20.1.  As you noticed, a preinstalled version of DLLs and libs are required for getting around some compiling issues.

The gcc -E - compiler hanging problem is fixed.  
The Sed scripts which were causing problems you noticed were Linux specific for S3 hardware and  not included in the latest source code archive.

StdIncDir path is mostly user Cygwin install dependent and users need to edit it in Cygwin.cf according to their Cygwin installation.

The real X-server still does not compile, but the problem is now only in one C source code and once that
is fixed, the X-server should be up and running (I hope so?).

More after I get tar balls made of the new sources....

Suhaib

> 
> First of all, thanks to your great job!
> 
> I found and fixed three problems in your XFree86 port, including
> 'gcc -E -' hang.
> (I use xfree86-3331.tar.gz single tarball and cf.tar.gz as of May 27.)
> 
> Though I finally encountered
> 'Full build of Release 6.3(4?) of the X Window System complete.'
> message, I'm still with many errors.
> 
> Anyway, here is the description, followed by the patch attached.
> 
> (1) 'gcc -E -' problem
> 
> In cygwin.cf, we have,
> 
>   #define CcCmd  gcc
>   #define CppCmd CcCmd -E -
> 
> However, 'gcc -E' isn't fully compatible with direct invocation of cpp.
> 
> Value of CPP: /lib/cpp   'gcc -E'   'gcc -E -'
> $(CPP) < file:     OK         NG          OK
> $(CPP) file:       OK         OK          NG
> 
> Unfortunately, the latter style was used in CPPOnlyAsm macro, which is
> defined in xf86.rules.
> So, we need to override this in cygwin.rules.
> 
> 
> (2) xc/exports/bin/*.exe must run without preinstalled X
> 
> When building in program/xkbcomp/SUBDIR, xkbcomp in xc/exports/bin is run.
> However, if you don't have preexisting X environment, it fails with
> 'missing libX11.dll'.
> We need *.dll in xc/exports/bin for cleaner compilation.
> 
> In addition, we have to avoid symlinking .exe and .dll under xc/exports/bin,
> because Win32 can't handle symlinks.
> 
> I added LinkBuildDLL and LinkBuildBinary in cygwin.rules.
> 
> 
> (3) StdIncDir and PostIncDir settings
> 
> In cygwin.cf, you have,
> 
>   #define StdIncDir `CcCmd --print-libgcc-file-name | sed ':libgcc.a:../../../../i586-cygwin32/include:/cygnus/cygwin-b20/local/include:/cygnus/cygwin-b20/include:/cygnus/cygwin-b20/H-i586-cygwin32/i586-cygwin32/include:'|sed 's,\\\\,/,g'`
>   #define PostIncDir `CcCmd --print-libgcc-file-name | sed ':libgcc.a:/include:'|sed 's,\\\\,/,g'`
> 
> But I can't understand the above sed command.
> Doesn't this suffice?
> 
>   #define StdIncDir `CcCmd --print-libgcc-file-name | sed 's,\\\\,/,g' | sed 's,libgcc.a,../../../../i586-cygwin32/include,'`
>   #define PostIncDir `CcCmd --print-libgcc-file-name | sed 's,\\\\,/,g' | sed 's,libgcc.a,include,'`
> 
> 
> I hope it helps.
> 
> Regards,
> ---------------
> Takayuki TAMURA (ttathome@remus.dti.ne.jp)
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]