Added cs to the list of languages
[midnight-commander.git] / README.PC
blob75518f1a389d5b2ee7a3175a433fcbf76776a853
2 Midnight Commander for Win32 and OS/2
3 -------------------------------------
5 0. Introduction
6 1. Compiling
7 2. Changes made
8 3. Authors and maintainers
10 0. Introduction
11 ---------------
12 Yes, Midnight Commander can be compiled for Win32 (Microsoft Windows 95, 98 and
13 NT) and OS/2. It has many bugs, but is quite stable now. Maybe you can help as
14 a beta tester or as a programmer. In either case you would like subscribe to
15 mc-devel list (see readme files in main doc on how to do this) and contact us.
16 Please note, that Midnight Commander remains primarily a file manager for
17 UNIX-like systems, so recent changes may occasionally break something.
18 You should not expect that it will work on your system better than file
19 managers written natively for your OS.
21 1. Compiling
22 ------------
24 1.1. Compiler
25 -------------
26 If you really want to enjoy free software under your non-free OS, you should
27 try free compilers. Three of them are supported: EMX (OS/2), RSX and Mingw32
28 (Win32). RSX is based on EMX, and can also cross-compile for OS/2 under
29 Windows. Mingw32 is concieved as a free clone for Microsoft Visual C++.
30 Please note, that all above compiler are based on GCC (GNU C compiler), but
31 use different libraries.
32 CygWin32 is not (yet) powerful enough to compile Windows-specipic portion of
33 the Midnight Commander, but you may try to compile MC using UNIX configuration
34 files. As you can easily imagine, resulting binary will need termcap or
35 terminfo and use ANSI-sequences for output which is probably not what you want.
36 You may also try non-free compilers. Microsoft Visual C++ (4.0 and above),
37 Borland C++ (both for Win32 and OS/2) and IBC CSet are supported. "Supported"
38 means merely that there are specific makefiles for those compilers, but it
39 does not even assume that you will compile MC using them out-of-box.
41 1.2. General issues
42 -------------------
43 See pc/README, pc/BUGS, pc/TODO for the information concerning current state
44 of the port.
45 You may need to create some fake includes to compile. You may also need to
46 change something in the MC sources.
48 1.3 Windowing Library
49 ---------------------
50 Currently only support for SLang windowing library is given. There are
51 curses clones ported to Win32 and OS/2, but I believe that since there is
52 no analogs for autoconf for those systems, we should avoid unnecessary
53 difficulties.
54 Currently the PC port SLang included in this distribution (see slang/
55 subdirectory). This is a subset of SLang 0.99.38 distribution with some
56 bugs fixed. There are also MC-specific changes in the code.
57 SLang 0.99.38 has problems with OS/2 if you like console with more than
58 80x25 characters. You may try to use a newer SLang. It is possible, but it
59 is also quite tricky.
61 1.4 Features and Limitations
62 ----------------------------
63 Internal editor is supported (including syntax highlighting).
64 VFS (virtual file system) is not supported.
65 X11 ports are not supported.
67 2. Changes made
68 ---------------
70 2.1. Changes to main code
71 -------------------------
72 Changes in the main code are enclosed in #ifdef _OS_NT, __os2__  or OS2_NT
73 blocks.
75 In some cases we supressed code. This is temporal (so that mc can compile). In
76 the future we will provide fake or true interfaces for these features.
77    - Links: creation and information on links are not supported. We
78             should provide a fake interface for the local filesystem and
79             a true one for networked.
80    - GID/UID queries (get_user, owner, preserve UID/GID on copy, ...).
81    - TERMinals: all the code directly done with terminals must be supressed.
82    - Signals: deleted. Should support the native ones.
83    - pipes: had some trouble in ext.c and with error_pipes but soon will be
84             fixed.
85    - Chown command: Not supported yet.
87 2.2. Files rewritten
88 --------------------
89 There are several files with so many changes that they have been moved to pc/
90 subdirectory. Some of them are common for Win32 and OS/2, some of them are
91 system-specific. System-specific files bear a clear mark in their names
92 (for example, dirent_nt.c)
93 Our intension should be, however, to make most code system-independent. This
94 would increase code reuseabilibity and maintainability :-)
95 See pc/ subdirectory for further details.
97 3. Authors and maintainers
98 --------------------------
99 This port is based on the port for Windows NT by
100     Juan Grigera <grigera@isis.unlp.edu.ar>
101 and the port for OS/2 by
102     Alexander Dong <ado@software-ag.de>
103 Both ports were merged to one PC port by me,
104     Pavel Roskin <pavel_roskin@geocities.com>
105 Please note, that I'm using Linux now. I have access to Windows 95 machines,
106 but I have no access to OS/2 machines. If you are really keen to continue my
107 work, please drop me a letter.
109 Pavel Roskin <pavel_roskin@geocities.com>