mc/README.PC

104 lines
4.0 KiB
Plaintext

GNU Midnight Commander for Win32
--------------------------------
0. Introduction
1. Compiling
2. Changes made
3. Authors and maintainers
0. Introduction
---------------
Yes, Midnight Commander can be compiled for Win32 (all versions of
Microsoft Windows starting with Windows 95 for all platforms, except
Windows CE). It may be tricky to compile, it may be buggy, but it should
be usable. Maybe you can help as a beta tester or as a programmer.
In either case you would like subscribe to the mc-devel list (see README
and FAQ) and contact us.
Please note that Midnight Commander remains primarily a file manager for
UNIX-like systems. You should not expect that it will work on your
system better than a file manager written specifically for your OS.
1. Compiling
------------
1.1. Compiler
-------------
If you really want to enjoy free software under your non-free OS,
you should try free compilers. Two of them are supported: RSXNT and
MinGW. Please visit their respective sites for more information.
RSXNT: http://www.mathematik.uni-bielefeld.de/~rainer/
MinGW: http://www.mingw.org/
MinGW is also included with Cygwin (http://www.cygwin.com/).
Cygwin envirinment is so close to UNIX, that it's possible to compile
GNU Midnight Commander in the same way as it's done in UNIX (see file
INSTALL for details). However, you should realize that you would get a
UNIX program that has no idea about drives, Windows-style permissions
and some other Windows-specific features. This is not the Win32 port
discussed in this document.
Skeaking of non-free compilers, Microsoft Visual C++ (4.0 and above) and
Borland C++ are supported. "Supported" means merely that there are
specific makefiles for those compilers, but it does not even assume that
you will compile GNU Midnight Commander out-of-box.
1.2. General issues
-------------------
See pc/README, pc/BUGS, pc/TODO for the information concerning current
state of the port. You may need to hack the code in order to compile it.
1.3 Windowing Library
---------------------
Currently only support for the S-Lang windowing library is provided.
There are curses clones ported to Win32, but I believe that since we
are not using autoconf for the Win32 port, we should avoid unnecessary
difficulties.
Currently the Win32 port only can use S-Lang included in this
distribution (see slang/ subdirectory). This is a subset of S-Lang
0.99.38 distribution with some bugfixes and MC-specific code changes.
1.4 Features and Limitations
----------------------------
Internal editor is supported (including syntax highlighting).
Internal viewer is supported (including hex editor).
VFS (virtual file system) is not supported.
Concurrent subshell is not supported.
2. Changes made
---------------
2.1. Changes to main code
-------------------------
Changes in the main code are enclosed in #ifdef _OS_NT blocks.
In some cases we suppressed code. This is temporal (so that mc can compile).
In the future we will provide fake or true interfaces for these features.
- Links: creation and information on links are not supported. We
should provide a fake interface for the local filesystem and
a true one for networked.
- GID/UID queries (get_user, owner, preserve UID/GID on copy, ...).
- TERMinals: all the code directly done with terminals must be suppressed.
- Signals: deleted. Should support the native ones.
- pipes: had some trouble in ext.c and with error_pipes but soon will be
fixed.
- Chown command: Not supported yet.
2.2. Files rewritten
--------------------
There are several files with so many changes that they have been moved
to pc/ subdirectory. Our intention should be, however, to make most code
system-independent. This would increase code reuse and maintainability.
See pc/ subdirectory for further details.
3. Authors and maintainers
--------------------------
This port is based on the port for Windows NT by
Juan Grigera <grigera@isis.unlp.edu.ar>
The code is not actively maintained, but the patches are applied.
Please send your changes to the mc-devel list.