1.0 Notes about the source code 1.1 Compiler support In general the supported compilers are GCC, Open Watcom, and Visual C++. DOS 16 bit The 16 bit DOS version is by default build with Open Watcom C. The code probably also compiles with Borland C/C++ 4.02, and the older Borland 3. Support for Borland was dropped in version 5.2.0 (Nov 11 2011), because Borland C is hard to get. The default compiler for 16 bit DOS used by the FreeDOS community is Open Watcom nowadays. DOS 32 bit The 32 bit dos versions are compiled with DJGPP (GCC for DOS) and do not use DOSDIR. DJGPP is a mix of DOS/Unix compiler (both MSDOS and 'unix' are defined). DOSDIR's dd_findfirst/dd_findnext implementation for Unix is build with opendir/readdir. Using DJGPP's implementation of opendir/readdir to scan a disk is about a factor 100 slower than using findfirst/findnext (with DJGPP 2.01, gcc 2.7.2). Also using DOSDIR's dd_findfirst/dd_findnext for DOS is very slow when it is compiled with DJGPP. It is about a factor 35 slower than using DJGPP's findfirst/findnext. Probably due to a slow stat() function in dd_initstruct(). Using DOSDIR in combination with DJGPP would make scanning the disk very slow. DJGPP gcc >= 4.6 seems to cause problems. Crashes of gcc itself, or crashing wcd binaries. Use DJGPP gcc <= 4.5.3. A 32 bit DOS wcd can also be build with the Open Watcom compiler. Windows The Windows versions are by default compiled with MinGW (GCC for Windows). Win32 versions can also be compiled with Open Watcom. Support for Borland was dropped in version 5.2.0 (Nov 11 2011), but it may still compile. Although Borland 4 can compile wcd with conio interface for Windows console, it doesn't work well. The screen gets garbled after exit. Support for LCC was dropped in version 5.2.1 (Feb 2012), mainly because lcc-make was not good. For instance it can't include sub-makefiles (version.mk). I tried gnu-make with LCC but that did not work well. MS Visual C++ (VC) support was added in version 5.2.3. VC is the most used compiler on Windows. OS/2 Wcd can be build for OS/2 with GCC, using EMX, or the Watcom C compiler. Unix Wcd for Unix compiles with gcc. Native system C compilers such as HP-UX cc or SunOS cc should also work but this not checked anymore. Therefore also the makefiles for HP and Sun have been removed. Gcc is general available on Unix or Unix like systems. 1.2 Curses support Wcd can optionally have a curse-based interface. Wcd compiles with curses, ncurses and pdcurses. Ncurses is preferred, because of portability and it restores the screen automatically after exit (if possible) and has better support for resizing of the terminal. The ncurses (new curses) library is a free software emulation of curses in System V Release 4.0, and more. It uses terminfo format, supports pads and color and multiple highlights and forms characters and function-key mapping, and has all the other SYSV-curses enhancements over BSD curses. The ncurses distribution is available via anonymous FTP at the GNU distribution site ftp://ftp.gnu.org/pub/gnu/ncurses. It is also available at ftp://ftp.clark.net/pub/dickey/ncurses. PDCurses is a port of System VR4 curses for multiple platforms. PDCurses has been ported to DOS, OS/2, X11, WIN32 and Flexos. A directory containing the port-specific source files exists for each of these platforms. Get it at http://pdcurses.sourceforge.net/