parity 1.2.3

parity is an open source project who's goal it is to ease porting applications from UNIX-like systems to Windows. It relies on the presence of a UNIX Layer for Windows such as Interix or Cygwin. parity is most tested on Microsofts Subsystem for UNIX-based Applications, so it will work there best.

parity uses Microsoft Tools - like cl.exe, link.exe, etc. - to mimic a GCC like interface, while really compiling natively for Windows. This results in pure and native Windows Libraries and Executables, which can be mixed freely with any existing Software pieces.

The most effort has been put into shared library handling, which now behaves nearly the same as on common UNIX-like systems. There also is a patch for libtool, which makes it know about parity (which passes all tests of the libtool test-suite). Advanced Features like a working -rpath option have been added to improve the handling of DLLs on Windows.

parity ships with a little runtime enhancement library called parity.runtime. This library abstracts away the need to take care of what kind of paths are used. This means you can now give a UNIX-style path to an executable built with parity, and it will understand it. Previously this was not possible, and all Windows executables would need Windows-style paths to work.

parity 1.2.3

changed the behaviour regarding configuration-set include and library paths; configuration set paths are appended in the order of appearance in the file to the set of command line set paths in their order of appearance on the command line.

after failing to link, stray files are cleaned up properly now.

fixed a bug making the linker find a directory instead of a file while looking up libraries.

added support for reading source files from stdin. any valid source file can be passed via stdin by passing the "-" argument to parity. this only works if parity operates using the GCC type frontend.

parity.inspector has been extended with the --raw option, which allows to output information about a shared library in a more machine readable fashion. initially required to more easely implement the preserve-libs feature of portage for native windows.

added missing extern C in sys/time.h, fixing gettimeofday for C++ users.

made the dynamic loader a little less loud, when it fails to preload a library. this is required, since windows executables fail to preload interix libraries, which use the same variable.

Posted by Markus Duft 2010-01-26