Software Ported to Windows


This page contains links for downloading some useful software ported from Unix to Windows to facilitate my work. The availble software includes CUDD, BuDDy, ESPRESSO, BDS, etc. The ports are available as MS Visual C++ 6.0 project workspaces, which can be installed and compiled on any Windows computer which runs Visual Studio 6.0. You can download and use these Windows ports without any restriction.
 

Please notice that I do not distribute the original versions of this software but only the project workspaces, which I created for myself using Visual C++ 6.0. The ported software worked and continues to work for me very well. It may also work for you if you are skilful enough to use it properly. Please notice also that, except for brief questions and answers, I do not support the ported versions, nor am I responsible for any problems or bugs that you may find while using them.

 
So much for disclaiming. Here is a typical story of a port. I find a software package or a library, which I would like to use in my work but it is for UNIX only, while I do most of my work on Windows and try to make the resulting implementations cross-platform. I unzip the tarred gzip and study Makefile and dependencies of the code. Next, I create an empty project workspace in Visual C++ and add the UNIX code to the project. The project may be either a "static library" or a "console application" type, depending on the goal of the port. If it is a BDD package or a library to be used in my own programs, the project becomes a static library. If it is a stand-alone application to be run on the command line, the project become a console application.

 
After adding files to the project and before finally pressing the button "Rebuild All", the most magical part of the port takes place, which may last from several minutes to several days (as it was in the case of SIS). Unfortunately, this part cannot be presented systematically, because each port has some peculiar details, hacks and tricks used in order to compile it and make it work the way it was designed to work on UNIX.

 
A good porting style requires documenting all the changes to the original source code done along the way to the fully functional ported version. I am up to the challenge when I am at my best, and you can find a list of changes, for example, in the Windows version of CUDD (see below) or in the Windows version of SIS. However, many of these tricks are quite dirty (programmers know what I mean) and sometimes I am shy of telling that I had to do this or that mean-spirited hack in order to fix a stupid complier or linker problem. In such cases, I apologize in advance, you won't find any documentation, but only a more or less functional project.

 
The links below are organized as follows. The package-name link takes you to the original webpage with the UNIX release of the code. The link at the end of the line allows you to download the Windows port. Enjoy!

Alan Mishchenko's Home Page

This page has been last modified on May 21, 2002.