
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/

