Semi-OT: (Was Re: attn: which, bzip2,gzip maintainers (was Re: some problems with setup.ini))

Paul G. pgarceau@qwest.net
Sat Dec 1 16:53:00 GMT 2001


Hi folks,

On 30 Nov 2001 at 11:42, Corinna Vinschen wrote:

> On Thu, Nov 29, 2001 at 05:56:57PM -0800, Paul G. wrote:
> > then, and if I understand current philosophy of Cygwin correctly, Cygwin has expanded to be installable and useable on 
> > both *nix (including Linux) and Win32api based platforms.  Of course, the *nix users don't have the benefit of setup.exe 
> 
> I didn't know that Cygwin runs under several flavors of Unix.  AFAIK,
> it's calling Win32 API functions but I could be wrong...

	hmm...is that a challenge?  Not sure how else to take it --

	You're right, of course, dear Corinna, it is calling Win32api functions, but afaik, that is not 
all it does.  In fact I've forced it into doing more than that.  Most folks that I told about it asked, 
"What's the point?".  The answer I typically give:  "It is fun, it is educational and, who knows, 
maybe someone, somewhere wants to build Cygwin generated apps under a *nix or Linux 
platform..."

	gcc/g++ really doesn't care for the most part as long as the syntax matches what the 
parser is looking for.

	Of course, I've only been working with Cygwin since about r17, so I could be completely 
wrong about this.
	If you are wanting to cross-compile to other targets you can, can't you?  Or is there some 
rule (legal or otherwise) that states Cygwin can not run on anything but Win32api based 
platforms?

	Please, do correct me if I am wrong.  Cygwin (not necessarily "just the API") is built with 
some variation of gcc/g++ right?  Ie. the source code, for the most part, is written using C, C++ or 
C/C++ language syntax, right?  (Setup.exe is, syntactically speaking, C/C++)

	Here's the funny thing...first X-Windows Interface based application I converted for 
Win32api based platforms was actually built, initially, using a Linux version of X-Windows/X-Term.
	The only (Cygwin/Win32api target) changes (r17/18/19/b20) I needed to make in order to 
convert from the Linux version (create a functional Win32api based platform build) was the 
addition to the application of a free X-Term client I found for Win32api based platforms.
	(I don't usually take much pride in blowing my own horn, but, if anyone is interested, you 
can find the converted/integrated commercial application listed as Desktop Radiance.  The Linux 
port I wrote is included with Radiance Synthetic Imaging source distribution.  I wrote/integrated the 
Win32api port of Radiance Synthetic Imaging using Cygwin b20 w/X-Windows  -- The Cygwin 
based portion has been a functional part of Desktop Radiance since about 1999 or so.  The 
CAD/CAM or "Autocad" portion is straight Win32api.) 

	Bottom line: It don't matter what Cygwin is targetted for as default build environment.  
gcc/g++ compiled/linked source code, in standalone mode (w/no gui dependencies), will run on 
Win32api based platforms, Linux based platforms (with some lib modifications), *nix platforms (lib 
modifications) and Cray Supercomputers (Terraflops anyone?).
	All a developer needs to do, in the absence of any GUI dependencies, is build using 
gcc/g++ and be able to output the appropriate, platform specific, libraries & support.  From that 
standpoint, gcc/g++ is about the closest thing to a multi-platform (universal?) C/C++ compiler I 
have ever found.

	Paul G.



More information about the Cygwin-apps mailing list