*** empty log message ***
[midnight-commander.git] / README.PC
blob81b97ac1a3862adcff7840a84cf6db18c6f41dbf
2 GNU Midnight Commander for Win32
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 (all versions of
13 Microsoft Windows starting with Windows 95 for all platforms, except
14 Windows CE).  It may be tricky to compile, it may be buggy, but it should
15 be usable.  Maybe you can help as a beta tester or as a programmer.
16 In either case you would like subscribe to the mc-devel list (see README
17 and FAQ) and contact us.
19 Please note that Midnight Commander remains primarily a file manager for
20 UNIX-like systems.  You should not expect that it will work on your
21 system better than a file manager written specifically for your OS.
23 1. Compiling
24 ------------
26 1.1. Compiler
27 -------------
28 If you really want to enjoy free software under your non-free OS,
29 you should try free compilers.  Two of them are supported: RSXNT and
30 MinGW.  Please visit their respective sites for more information.
32 RSXNT:  http://www.mathematik.uni-bielefeld.de/~rainer/
33 MinGW:  http://www.mingw.org/
35 MinGW is also included with Cygwin (http://www.cygwin.com/).
37 Cygwin envirinment is so close to UNIX, that it's possible to compile
38 GNU Midnight Commander in the same way as it's done in UNIX (see file
39 INSTALL for details).  However, you should realize that you would get a
40 UNIX program that has no idea about drives, Windows-style permissions
41 and some other Windows-specific features.  This is not the Win32 port
42 discussed in this document.
44 Skeaking of non-free compilers, Microsoft Visual C++ (4.0 and above) and
45 Borland C++ are supported.  "Supported" means merely that there are
46 specific makefiles for those compilers, but it does not even assume that
47 you will compile GNU Midnight Commander out-of-box.
49 1.2. General issues
50 -------------------
51 See pc/README, pc/BUGS, pc/TODO for the information concerning current
52 state of the port.  You may need to hack the code in order to compile it.
54 1.3 Windowing Library
55 ---------------------
56 Currently only support for the S-Lang windowing library is provided.
57 There are curses clones ported to Win32, but I believe that since we
58 are not using autoconf for the Win32 port, we should avoid unnecessary
59 difficulties.
61 Currently the Win32 port only can use S-Lang included in this
62 distribution (see slang/ subdirectory).  This is a subset of S-Lang
63 0.99.38 distribution with some bugfixes and MC-specific code changes.
65 1.4 Features and Limitations
66 ----------------------------
67 Internal editor is supported (including syntax highlighting).
68 Internal viewer is supported (including hex editor).
69 VFS (virtual file system) is not supported.
70 Concurrent subshell is not supported.
72 2. Changes made
73 ---------------
75 2.1. Changes to main code
76 -------------------------
77 Changes in the main code are enclosed in #ifdef _OS_NT blocks.
79 In some cases we suppressed code. This is temporal (so that mc can compile).
80 In the future we will provide fake or true interfaces for these features.
81    - Links: creation and information on links are not supported.  We
82             should provide a fake interface for the local filesystem and
83             a true one for networked.
84    - GID/UID queries (get_user, owner, preserve UID/GID on copy, ...).
85    - TERMinals: all the code directly done with terminals must be suppressed.
86    - Signals: deleted.  Should support the native ones.
87    - pipes: had some trouble in ext.c and with error_pipes but soon will be
88             fixed.
89    - Chown command: Not supported yet.
91 2.2. Files rewritten
92 --------------------
93 There are several files with so many changes that they have been moved
94 to pc/ subdirectory.  Our intention should be, however, to make most code
95 system-independent.  This would increase code reuse and maintainability.
96 See pc/ subdirectory for further details.
98 3. Authors and maintainers
99 --------------------------
100 This port is based on the port for Windows NT by
101     Juan Grigera <grigera@isis.unlp.edu.ar>
102 The code is not actively maintained, but the patches are applied.
103 Please send your changes to the mc-devel list.