All Topics  
Cygwin

 

   Email Print
   Bookmark   Link






 

Cygwin



 
 
Cygwin is a Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
-like environment and command-line interface for Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment. Thus it is possible to launch Windows applications from the Cygwin environment, as well as to use Cygwin tools and applications within the Windows operating context.

Cygwin consists of two parts: a Dynamic-link library
Dynamic-link library

Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems....
 (DLL) as an API compatibility layer providing a substantial part of the POSIX
POSIX

POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
 API functionality, and an extensive collection of software tools
Programming tool

A programming tool or software development tool is a computer program or application software that software developers use to create, debug, maintain, or otherwise support other programs and applications....
 and applications that provide a Unix-like look and feel
Look and feel

Look and feel is a term used in descriptions of products and fields such as product design, marketing, branding and trademarking, to describe the main features of its appearance....
.

Cygwin was originally developed by Cygnus Solutions
Cygnus Solutions

Cygnus Solutions, originally Cygnus Support, was founded in 1989 by John Gilmore , Michael Tiemann and David Henkel-Wallace to provide commercial support for free software....
 and was acquired by Red Hat
Red Hat

In computing, Red Hat, Inc. is a company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1995, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide....
.






Discussion
Ask a question about 'Cygwin'
Start a new discussion about 'Cygwin'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Cygwin is a Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
-like environment and command-line interface for Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment. Thus it is possible to launch Windows applications from the Cygwin environment, as well as to use Cygwin tools and applications within the Windows operating context.

Cygwin consists of two parts: a Dynamic-link library
Dynamic-link library

Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems....
 (DLL) as an API compatibility layer providing a substantial part of the POSIX
POSIX

POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
 API functionality, and an extensive collection of software tools
Programming tool

A programming tool or software development tool is a computer program or application software that software developers use to create, debug, maintain, or otherwise support other programs and applications....
 and applications that provide a Unix-like look and feel
Look and feel

Look and feel is a term used in descriptions of products and fields such as product design, marketing, branding and trademarking, to describe the main features of its appearance....
.

Cygwin was originally developed by Cygnus Solutions
Cygnus Solutions

Cygnus Solutions, originally Cygnus Support, was founded in 1989 by John Gilmore , Michael Tiemann and David Henkel-Wallace to provide commercial support for free software....
 and was acquired by Red Hat
Red Hat

In computing, Red Hat, Inc. is a company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1995, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide....
. Is released under the GNU General Public License
GNU General Public License

The GNU General Public License is a widely used free software license, originally written by Richard Stallman for the GNU project. The GPL is the most popular and well-known example of the type of strong copyleft license that requires derived works to be available under the same copyleft....
. It is free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
. Today it is maintained by employees of Red Hat, NetApp and many other volunteers. Corinna Vinschen and Christopher Faylor are currently the managers of the Cygwin development team.

Description

Cygwin consists of a library that implements the POSIX system call API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 in terms of Win32 system calls, a GNU
GNU

GNU is a computer operating system composed entirely of free software. Its name is a recursive acronym for GNU's Not Unix; it was chosen because its design is Unix-like, but differs from Unix by being free software and containing no Unix code....
 development toolchain (such as GCC
GNU Compiler Collection

The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain....
 and GDB
GNU Debugger

The GNU Debugger, usually called just GDB, is the standard debugger for the GNU software system. It is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada programming language, C , C++, FreeBASIC, and Fortran programming language....
) to allow software development, and a large number of application programs equivalent to those on the Unix system. Many Unix programs have been ported to Cygwin, including the X Window System
X Window System

The X Window System is a computing software system and network protocol that provides a graphical user interface for networked computers. It implements the X Window System protocols and architecture and provides windowing system on raster graphics Visual display units and manages Keyboard and pointing device control functions....
, KDE
KDE

KDE is a free software project based around its flagship product, a desktop environment for Unix-like systems. The goal of the project is to provide basic desktop functions and applications for daily needs as well as tools and documentation for developers to write stand-alone applications for the system....
, GNOME
Gnome

A gnome is a mythical creature characterized by its extremely small size and wiktionary:subterranean lifestyle. The word gnome is derived from the New Latin gnomus....
, Apache
Apache HTTP Server

The Apache HTTP Server, commonly referred to simply as Apache , is a web server notable for playing a key role in the initial growth of the World Wide Web....
, and TeX
TeX

TeX is a typesetting system designed and mostly written by Donald Knuth. Together with the METAFONT language for font description and the Computer Modern typefaces, it was designed with two main goals in mind: to allow anybody to produce high-quality books using a reasonable amount of effort, and to provide a system that would give the exact...
. Cygwin permits installing inetd
Inetd

inetd is a super-server Daemon on many Unix systems that manages Internet services. First appearing in BSD , it is generally located at /usr/sbin/inetd....
, syslogd, sshd
Secure Shell

Secure Shell or SSH is a network protocol that allows data to be exchanged using a secure channel between two networked devices. Used primarily on Linux and Unix based systems to access shell accounts, SSH was designed as a replacement for TELNET and other Computer security remote Shell s, which send information, notably passwords, in...
, Apache
Apache HTTP Server

The Apache HTTP Server, commonly referred to simply as Apache , is a web server notable for playing a key role in the initial growth of the World Wide Web....
, and other daemons as standard Windows services, allowing Microsoft Windows systems to emulate Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
 and Linux
Linux

Linux is a generic term referring to Unix-like computer operating systems based on the Linux kernel. Their development is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed by anyone under the terms of the GNU GPL license...
 servers.

Cygwin programs are installed by running Cygwin's "setup" program, which downloads the necessary program and feature package files from repositories on the Internet. Setup can install, update, and remove programs and their source code packages. A full installation may cost up to about 4 GB in the hard disk.

Efforts to reconcile concepts that differ between Unix and Windows systems include:
  • A Cygwin-specific version of the Unix mount
    Mount (computing)

    Mounting, in computer science, is the process of making a file system ready for use by the operating system, typically by reading certain index data structures from storage into memory ahead of time....
     command allows Windows paths to be mounted as "filesystems" in the Unix file space. Mount information is normally stored in the registry. Filesystems can be mounted as binary ones (by default), or as text-based ones, which enables automatic conversion between LF and CRLF endings
    Newline

    In computing, a newline is a special character or sequence of characters signifying the end of a line of text. The name comes from the fact that the next character after the newline will appear on a new line?that is, on the next line below the text, immediately proceeding the newline....
    . (This only affects programs that call open or fopen without specifying text or binary. Programs installed by Cygwin's setup program always open files in binary mode when appropriate, thus avoiding the problem.) Disk drives (C:, D:, etc.) are also denominated /cygdrive/c, /cygdrive/d, etc. Windows network paths of the form \\HOST\SHARE\FILE are mapped to //HOST/SHARE/FILE.
  • Full-featured /dev and /proc file systems are provided. /proc/registry provides direct filesystem access to the registry.
  • Symbolic links are provided, and use .LNK files (Windows shortcuts) containing Cygwin-specific information, and with the "system" attribute set to speed up processing. However, native NTFS symbolic link
    NTFS symbolic link

    An NTFS symbolic link is a file-system object in the NTFS that points to another file system object. The object being pointed to is called the target....
    s are handled differently; using the rm deletes the linked file instead of the link itself. Old Cygwin versions handled symbolic links using plain text files with hidden attribute set and a single line of text, pointing to the destination file or directory.
  • The Solaris
    Solaris Operating System

    Solaris is a Unix-based operating system introduced by Sun Microsystems in 1992 as the successor to SunOS.Solaris is known for its scalability, especially on SPARC systems, and for originating many innovative features such as DTrace and ZFS....
     API for handling access control list
    Access control list

    With respect to a computer filesystem, an access control list is a list of permissions attached to an object. The list specifies who or what is allowed to access the object and what operations are allowed to be performed on the object....
    s (ACLs) is supported and maps to the Windows NT ACL system.
  • Special formats of /etc/passwd and /etc/group are provided that include pointers to the Windows equivalent SID's (in the GECOS field
    Gecos field

    The gecos field is an entry in the /etc/passwd file on Unix operating systems that is typically used to record general information about the account or its user....
    ), allowing for mapping between Unix and Windows users and groups.
  • Various utilities are provided for converting between Windows and Unix file formats, for handling line ending (CRLF/LF) issues, for displaying the DLL
    Dynamic-link library

    Dynamic-link library , or DLL, is Microsoft's implementation of the shared library concept in the Microsoft Windows and OS/2 operating systems....
    s that an executable is linked with, etc.
  • The Cygwin library also interfaces to existing Windows libraries. It is possible to call Windows functions like waveOut from Cygwin executable itself.


The version of gcc
GNU Compiler Collection

The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain....
 that comes with Cygwin has various extensions for creating Windows DLLs, specifying whether a program is a windowing or console mode program, adding resources, etc. It also provides support for compiling MinGW
MinGW

MinGW , formerly mingw32, is a native porting of the GNU Compiler Collection to Microsoft Windows, along with a set of freely distributable import libraries and header files for the Windows API....
-compatible executables (that is, executables that do not require Cygwin to be installed to run, or more specifically, executables that don't require Cygwin's CYGWIN1.DLL, which provides the POSIX compatibility layer).

Cygwin is used heavily for porting many popular pieces of software to the Windows platform. It is used to compile Mozilla Firefox
Mozilla Firefox

Mozilla Firefox is a web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. Official versions are distributed under the terms of the proprietary EULA....
, Sun
Sun Microsystems

Sun Microsystems, Inc. is a multinational corporation vendor of computers, computer components, computer software, and information technology services, founded on February 24, 1982....
 Java
Java (programming language)

Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java ....
, OpenOffice.org
OpenOffice.org

OpenOffice.org , commonly known simply as OpenOffice, is an office application suite available for a number of different computer operating systems....
, and even server software, like lighttpd
Lighttpd

lighttpd is a web server designed to be secure, fast, standards-compliant, and flexible while being optimized for speed-critical environments. It was originally written by the German programmer Jan Kneschke as a proof-of-concept of the c10k problem ,...
.

Red Hat normally licenses the Cygwin library under the GNU General Public License
GNU General Public License

The GNU General Public License is a widely used free software license, originally written by Richard Stallman for the GNU project. The GPL is the most popular and well-known example of the type of strong copyleft license that requires derived works to be available under the same copyleft....
 with an exception to allow linking to any free software
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 whose license conforms to the Open Source Definition
Open Source Definition

The Open Source Definition is used by the Open Source Initiative to determine whether or not a computer software license can be considered Open-source software....
. Red Hat also sells commercial licenses to those who wish to redistribute programs that use the Cygwin library under proprietary
Proprietary software

Proprietary software is a term coined by advocates of the free software movement to describe computer software which is the legal property of one party....
 terms.

History

Cygwin began in 1995 as a project of Steve Chamberlain, a Cygnus
Cygnus Solutions

Cygnus Solutions, originally Cygnus Support, was founded in 1989 by John Gilmore , Michael Tiemann and David Henkel-Wallace to provide commercial support for free software....
 engineer who observed that Windows NT and 95 used COFF
COFF

The Common Object File Format is a specification of a file format for executable, object code, and shared libraries computer files used on Unix systems....
 as their object file format, and that GNU already included support for x86 and COFF, and the C library newlib
Newlib

Newlib is a C standard library implementation intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products....
. He thought it would be possible to retarget GCC
GNU Compiler Collection

The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain....
 and produce a cross compiler
Cross compiler

A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is run. Cross compiler programming tools are used to generate executables for embedded system or multiple platforms....
 generating executables that could run on Windows. This proved indeed practical and a prototype was quickly developed.

The next step was to attempt to bootstrap the compiler on a Windows system, requiring sufficient emulation of Unix to let the GNU configure
Autoconf

GNU Autoconf is a tool for producing shell scripts that automatically configure C/C++ software source code packages to adapt to many kinds of UNIX-like systems....
 shell script
Shell script

A shell script is a Scripting language written for the Shell , or command line interpreter, of an operating system. It is often considered a simple domain-specific programming language....
 run. A Bourne shell
Bourne shell

The Bourne shell, or sh, was the default Unix shell of Version 7 Unix, and replaced the Thompson shell, whose executable file had the same name, sh....
-compatible command interpreter, such as bash
Bash

Bash is a free software Unix shell written for the GNU Project. Its name is an acronym which stands for Bourne-again shell. The name is a pun on the name of the Bourne shell , an early and important Unix shell written by Stephen Bourne and distributed with Version 7 Unix circa 1978, and the concept of being "Born again Christianity"....
, was needed and in turn a fork system call emulation and standard input/output
Standard streams

In Unix and Unix-like operating systems, as well as certain programming language interfaces, the standard streams are preconnected input and output channels between a computer program and its environment when it begins execution....
. Windows includes similar functionality, so the Cygwin library just needed to provide a POSIX
POSIX

POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
-compatible application programming interface
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 (API) and properly translate calls and manage private versions of data, such as file descriptor
File descriptor

In computer programming, a file descriptor is an abstract key for accessing a file. The term is generally used in POSIX operating systems. In Microsoft Windows terminology and in the context of the stdio.h, "file handle" is preferred, though the latter case is technically a different object ....
s.

Initially, Cygwin was called gnuwin32 (not to be confused with the current GnuWin32
GnuWin32

The GnuWin32 project provides native Porting in the form of runnable computer programs, patches, and source code for various GNU and open source tools and software, much of it modified to run on the 32-bit Microsoft Windows platform....
 project). The name was changed to Cygwin32 to emphasize Cygnus' role in creating it. When Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
 registered the trademark Win32, the 32 was dropped to simply become Cygwin.

By 1996, other engineers had joined in, because it was clear that Cygwin would be a useful way to provide Cygnus' embedded tools hosted on Windows systems (the previous strategy had been to use DJGPP
DJGPP

DJGPP is a 32-bit C /C++/Objective C/Objective C/Ada /Fortran development suite for x86+ PC compatibles that runs under DOS or compatibles. It is guided by DJ Delorie, who started the project in 1989....
). It was especially attractive because it was possible to do a three-way cross-compile, for instance to use a hefty Sun workstation
SUN workstation

The original Stanford University Network SUN workstation was designed to be a low cost personal workstation for computer aided logic design work....
 to build, say, a Windows-x-MIPS
MIPS architecture

MIPS is a RISC instruction set architecture developed by MIPS Technologies . In the mid to late 1990s, it was estimated that one in three RISC microprocessors produced were MIPS implementations....
 cross-compiler, which was faster than using the PC of the time. Starting around 1998, Cygnus also began offering the Cygwin package as a product of interest in its own right.

Features

  • Supports native application building using mingw
    MinGW

    MinGW , formerly mingw32, is a native porting of the GNU Compiler Collection to Microsoft Windows, along with a set of freely distributable import libraries and header files for the Windows API....
  • Supports remote logins using rsh
    RSH

    RSH may mean:*The NYSE stock symbol for RadioShack*Remote Shell, a UNIX command-line utility for remotely executing commands*Robert Stephenson and Hawthorns, a locomotive manufacturer...
    , ssh
    SSH

    SSH may refer to:* Secure Shell, a common network protocol for remote administration of Unix computers* Sharm el-Sheikh International Airport, in IATA airport code...
    , and telnet
    TELNET

    Telnet is a network protocol used on the Internet or Local Area Network connections. It was developed in 1969 beginning with RFC 15 and standardized as Internet Engineering Task Force STD 8, one of the first Internet standards....
  • Embedded cross platforms support, used for many platforms including PSP
    PlayStation Portable

    The PlayStation Portable is a handheld game console manufactured and marketed by Sony Computer Entertainment. Development of the console was first announced during History of E3#During the Rise of Online Gaming , and it was unveiled on May 11, 2004 at a Sony press conference before E3 2004....
     and PS2
  • X Window and OpenGL
    OpenGL

    OpenGL is a standard specification defining a cross-language cross-platform Application programming interface for writing applications that produce 2D computer graphics and 3D computer graphics....
     support
  • Windows Vista
    Windows Vista

    Windows Vista is one member in a family of operating systems developed by Microsoft for use on personal computers, including home and business Desktop computer, laptops, Tablet PCs, and media center PCs....
     support


Derivatives

Cygnix is a limited X11 environment based on Cygwin. Its name is an abbreviation of "CYGnus pseudo-uNIX".

There are implementations of Cygnix in Windows 95
Windows 95

Windows 95 is a consumer-oriented graphical user interface-based operating system. It was released on August 24, 1995 by Microsoft, and was a significant progression from the company's previous Microsoft Windows products....
 / 98
Windows 98

Windows 98 is a graphical operating system released on 25 June 1998 by Microsoft and the successor to Windows 95. Like its predecessor, it is a hybrid 16-bit application/32-bit application monolithic product based on MS-DOS....
 / ME
Windows Me

Windows Millennium Edition, or Windows Me , is a hybrid 16-bit/32-bit graphical operating system released on 14 September 2000 by Microsoft....
 and Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
 / 2000
Windows 2000

Windows 2000 is a line of operating systems produced by Microsoft for use on business desktops, Laptop, and Server . Released on 17 February, 2000, it was the successor to Windows NT 4.0, and is the final release of Microsoft Windows to display the "Windows NT" designation....
 / XP
Windows XP

Windows XP is a line of operating systems produced by Microsoft for use on personal computers, including home and business desktops, laptop, and media centers....
.

There was also a package called Cygnix for AmigaOS
AmigaOS

AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000....
 4.0. It is now renamed to . This package is not based on Cygnix for Windows. It is based on a X server port for AmigaOS
AmigaOS

AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000....
 3.x for 68k Amigas.

Additions to Cygwin

Extensions to Cygwin are available, such as Cygwin/X
Cygwin/X

Cygwin/X is an implementation of the X Window System that runs under Microsoft Windows. It is part of the Cygwin project, and is installed using Cygwin's standard setup system....
, a port of the X Window System
X Window System

The X Window System is a computing software system and network protocol that provides a graphical user interface for networked computers. It implements the X Window System protocols and architecture and provides windowing system on raster graphics Visual display units and manages Keyboard and pointing device control functions....
, and in turn, the KDE
KDE

KDE is a free software project based around its flagship product, a desktop environment for Unix-like systems. The goal of the project is to provide basic desktop functions and applications for daily needs as well as tools and documentation for developers to write stand-alone applications for the system....
 Desktop as KDE on Cygwin
KDE on Cygwin

KDE on Cygwin is the port of Qt and KDE desktop environment to Microsoft Windows using Cygwin, the POSIX emulation layer for Windows, and the Cygwin XFree86 server....
. However KDE on Cygwin has been phased out as KDE 4 has been ported to run natively on Windows.

Alternatives to Cygwin

+ Xming
Xming

Xming is an porting of the X Window System computer software to the Microsoft Windows operating system, including XP, 2003 and Vista. The Xming X Server is based on the X.Org Server, cross-compiled on Linux with the MinGW compiler suite and Pthreads-Win32....
 allow Ubuntu to run on Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
]] Several open-source and proprietary alternatives are available for simultaneous access to both Windows and UNIX environments on the same hardware.

Toolsets like Microsoft Windows Services for UNIX
Microsoft Windows Services for UNIX

Microsoft Windows Services for UNIX is a software package produced by Microsoft which provides a Unix subsystem and other parts of a full Unix environment on Windows NT and its successors....
, UWIN
UWIN

UWIN is a computer Computer software package created by David Korn . It lets Computer program written for the operating system Unix be built and run on a different operating system, Microsoft Microsoft Windows with few, if any, changes needed....
 and MKS Toolkit
MKS Toolkit

MKS Toolkit is a software package produced and maintained by MKS Inc. that provides a Unix-like environment for scripting, connectivity and porting Unix and Linux software to both 32- and 64-bit Microsoft Windows systems....
 for Enterprise Developers also aim to provide a Unix-like user and development environment. They implement at least a shell, several utilities, including the familiar GNU and/or Unix compiler tools, including make and the complete C programming
C (programming language)

C is a general-purpose computer programming language originally developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories to implement the Unix operating system....
 environment. MKS Toolkit
MKS Toolkit

MKS Toolkit is a software package produced and maintained by MKS Inc. that provides a Unix-like environment for scripting, connectivity and porting Unix and Linux software to both 32- and 64-bit Microsoft Windows systems....
 for System Administrators, GnuWin32
GnuWin32

The GnuWin32 project provides native Porting in the form of runnable computer programs, patches, and source code for various GNU and open source tools and software, much of it modified to run on the 32-bit Microsoft Windows platform....
 and UnxUtils
UnxUtils

UnxUtils is a collection of porting of common GNU Unix-like utility to native mode Win32, with executables only depending on the Microsoft C -runtime msvcrt.dll....
 only provide a Unix-like user environment, not a development environment. MKS Toolkit
MKS Toolkit

MKS Toolkit is a software package produced and maintained by MKS Inc. that provides a Unix-like environment for scripting, connectivity and porting Unix and Linux software to both 32- and 64-bit Microsoft Windows systems....
 for Developers has both a Unix-like user environment and a Unix-like development environment for Windows development.

MinGW
MinGW

MinGW , formerly mingw32, is a native porting of the GNU Compiler Collection to Microsoft Windows, along with a set of freely distributable import libraries and header files for the Windows API....
 is a native software port
Porting

In computer science, porting is the process of adapting software so that an executable Computer program can be created for a computing environment that is different from the one for which it was originally designed ....
 of the GNU Compiler Collection
GNU Compiler Collection

The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain....
 (GCC) to Microsoft Windows, along with a set of freely distributable import libraries and header files for the Windows API
Windows API

The Windows API, informally WinAPI, is Microsoft's core set of application programming interfaces available in the Microsoft Windows operating systems....
. MinGW allows developers to create native Microsoft Windows applications. In addition, a component of MinGW known as MSYS (Minimal SYStem) provides a lightweight Unix-like shell environment including rxvt
Rxvt

rxvt is a terminal emulator for the X Window System, originally written by Rob Nation and later extensively modified by Mark Olesen, who took over maintenance for several years....
 and a selection of POSIX
POSIX

POSIX or "Portable Operating System Interface" is the collective name of a family of related standardizations specified by the Institute of Electrical and Electronics Engineers to define the application programming interface , along with shell and utilities interfaces for software compatible with variants of the Unix operating system, altho...
 tools sufficient to enable autoconf
Autoconf

GNU Autoconf is a tool for producing shell scripts that automatically configure C/C++ software source code packages to adapt to many kinds of UNIX-like systems....
 scripts to run.

Qt
QT

Qt or QT may refer to:...
 (pronounced "cute" by its creators) is a cross-platform
Cross-platform

In computing, cross-platform is a term used to refer to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms....
 application development framework, widely used for the development of GUI
Graphical user interface

A graphical user interface is a type of user interface which allows people to human-computer interaction such as computers; hand-held devices such as MP3 Players, Portable Media Players or Gaming devices; household appliances and office equipment....
 programs (in which case it is known as a widget toolkit
Widget toolkit

A widget toolkit, widget library, or GUI toolkit is a set of GUI widget for use in designing applications with graphical user interfaces ....
), and also used for developing non-GUI programs such as console tools and servers. PWLib is a multi-platform code library that can be used to write applications that will compile and run on the BSD Unixes, Windows, Linux and a few other Unix variants which is used by the OpenH323
OpenH323

The H323Plus project, formerly OpenH323, has as goal developing a full featured, open source implementation of the H.323 Voice over IP protocol....
 library.

In addition, there are numerous virtualization solutions that provide x86 platform virtualization to run Windows and Unix-like operating systems simultaneously on the same hardware, but without the integration of the environments that Cygwin provides. Some, like VirtualBox
VirtualBox

VirtualBox is an x86 virtualization software package, originally created by Germany software company innotek, now developed by Sun Microsystems as part of its Sun xVM virtualization platform....
 and VMware Player
VMware Player

VMware Player is a freeware virtualization software product from VMware, a division of EMC Corporation. Player can run guest virtual machines produced by other VMware products but cannot itself create new virtual machines....
 run on Windows and Linux hosts and can run many other operating systems. Cooperative Linux
Cooperative Linux

File:Ubuntu on Windows - running Synaptic and nautilus.pngCooperative Linux, abbreviated as coLinux, is software which allows Microsoft Windows and the Linux kernel to run simultaneously in parallel on the same machine....
 (in short coLinux) runs a full, but modified Linux kernel like a driver under Windows, effectively making Windows and Linux two coroutines, using cooperative multitasking to switch between them. However, as of January 2009, coLinux has not reached a stable release.

Wine
Wine (software)

Wine is a free software software application that aims to allow Unix-like computer operating systems on the x86 architecture or x86-64 architecture to execute programs written for Microsoft Windows....
 is a free
Free software

Free Software or software libre is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and to prevent consumer-facing hardware...
 compatibility layer
Compatibility layer

A compatibility layer is a term that refers to components that allow for non-native support of components.In software engineering, a compatibility layer allows binaries for a foreign system to run on a host system....
 for Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s on the x86
X86 architecture

The generic term x86 refers to the most commercially successful instruction set architecture in the history of personal computing. It derived from the model numbers, ending in "86", of the first few processor generations Backward compatibility with the original Intel 8086....
 or x86-64
X86-64

x86-64 is a superset of the x86. x86-64 Central processing units can run existing 32-bit or 16-bit x86 programs at full speed, but also support new programs written with a 64-bit address space and other additional capabilities....
 architecture that can execute programs written for Microsoft Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
.

See also

  • Comparison of platform virtual machines
  • Xming
    Xming

    Xming is an porting of the X Window System computer software to the Microsoft Windows operating system, including XP, 2003 and Vista. The Xming X Server is based on the X.Org Server, cross-compiled on Linux with the MinGW compiler suite and Pthreads-Win32....
     (X server for Windows)
  • Cooperative Linux
    Cooperative Linux

    File:Ubuntu on Windows - running Synaptic and nautilus.pngCooperative Linux, abbreviated as coLinux, is software which allows Microsoft Windows and the Linux kernel to run simultaneously in parallel on the same machine....


External links


  • on Freshmeat.net
  • Wikia
    Wikia

    Wikia is a selective free web hosting service for wikis operated by Wikia, Inc., a for-profit Delaware corporation founded in late 2004.Wikia targets community, both those established on-line and off-line and those with a virtual community....
    .