README.NT and README.OS2 are replaced with README.PC

Appropriate changes for "make dist" in Makefile.in
This commit is contained in:
Pavel Roskin 1998-09-18 16:11:37 +00:00
parent 7d12623b27
commit 83f9525a78
4 changed files with 111 additions and 236 deletions

View File

@ -17,8 +17,8 @@ INSTALL_DATA = @INSTALL_DATA@
DISTMAIN = configure configure.in NEWS README INSTALL INSTALL.FAST \
Makefile.in FAQ COPYING create_vcs install-sh \
config.h.in mc-aclocal.m4 aclocal.m4 acconfig.h \
VERSION mcfn_install.in Make.common.in README.NT \
mc.spec Specfile README.QNX README.OS2 VERSION.in \
VERSION mcfn_install.in Make.common.in README.PC \
mc.spec Specfile README.QNX VERSION.in \
mkinstalldirs autogen.sh ABOUT-NLS
all:

126
README.NT
View File

@ -1,126 +0,0 @@
Midnight Commander for Windows NT and Windows '95
-------------------------------------------------
0. Hello
1. Compiling
2. Changes made
0. Hello
--------
Hello, this is the Midnight Commander port to Win32. It has many bugs, but is
quite stable now. Maybe you can help as an beta tester or as a programmer. In
either case you would like subscribe to mc-devel list
(see readme files in main doc on how to do this) and contact us.
1. Compiling
------------
1.1. Compiler
----------------
Microsoft Visual C++ for Windows NT (all versions, including 4.x) are supported.
In nt/makefile you can find an external makefile, and in nt/makefile.vc1.nt, vc4.nt
projects for the visual IDE. Two makefiles are add since the version 3.5.39. They
are produced from MS VC 4.x and are named as ntaxp.mak (for Windows NT AXP)
and ntint.mak (for Windows NT Intel). If you want to use them, you will have to
change the path coded in these two files.
Other compilers such as Watcom, or Borland tools should be quite
straightforward, but has not been tested.
Under Cygnus tools, apparently everything works just fine.
1.2. General issues
--------------------
Preprocessor
Define:
LIBDIR
_OS_NT - OS flag
OS2_NT - Flag for OS/2 and NT
HAVE_CONFIG_H - config.h flag
Includes:
So as to avoid chaos in include files, I decided to create some
fake includes for UNIX counterparts. The empty files you need to create are:
pwd.h grp.h
sys/param.h sys/time.h
1.3 Windowing Library
--------------------------------
Currently only support for S-lang windowing library is given. I know no curses
public library ported to Win32 consoles, and I think it is useless to port
it now. You may want to download the complete distribution it from
ftp://space.mit.edu/pub/davis.
2. Changes made
---------------
2.1. Changes to main code
-------------------------
They are enclosed in #ifdef _OS_NT or OS2_NT blocks.
Wrote something similar to statfs in UTIL.C
Wrote truncate.
Changed (almost) all references to "/" path slash with PATH_CHAR and strPATH_CHAR.
Changed name of CONTROL_FILE.
Changed name of shell and call to shell.
In some cases we supressed 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 in NT. 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 supressed.
- 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 3 files with so many changes that they have been moved to independent
archives (or OS dependent).
- Chmod.nt.c: this command will query and change attributes (hidden, system,
archive,...). Maybe we should write a real chmod (and also a
chown). It is not finished, but works almost fine. Look that
the stat st_mode member is filled with attributes, not modes.
- Cons.handler.nt.c: Supports same API as linux cons.handler.c. It allocates
a new console buffer and switches between the two when doing a
shell. The new allocated one is the used by Midnight commander.
(look that to make this we should also redirect standard handles)
- Key.nt.c: a static table maps Virtual Key codes to Curses-like Key codes.
Also mouse events are supported.
still preliminar.
- utilnt.c: Contains utilunix.c functions, with Win32 implementation
2.3. New files
--------------
- drive.nt.c: A Change Drive command has been implemented. Two lines
in main.c were included (in the left/right panel menus).
The funcs drive_cmd_a/b are implemented in this new file.
It will build a dialog with available drives as buttons.
bug: too many drives are not supported (think just 7). have
to rewrite to support more than one line.
- util.debug.c: developers-only utilities to trace Win32 API call error codes
- util.WinNT.c: Windows NT specific functions:
getuid(): Will check your priviledges and return 0 (root)
if you have Administrator priviledges.
- util.Win32.c: Windows NT & 95 utilities: (specific to Win32, no UNIX counterpart)
getEXEtype(): check if executable is CUI or GUI.
2.4. Changes made from me (Alexander Dong, ado@software-ag.de)
--------------------
I have hacked some codes for Windows NT AXP and NT Intel.
Drive.nt.c was rewritten for a beautiful Drive_Change dialog window.
All main source changed from me are marked with the comment /* .ado */.
I have also included two own Makefiles:
ntaxp.mak (for Windows NT Alpha) and
ntint.mak (for Windows 95/NT Intel).
You will have to change the path in these files before use them. They
are both for Microsoft Visual C++ 4.x.

View File

@ -1,108 +0,0 @@
Midnight Commander for OS/2 -- version 3.5.42 (Development version)
-----------------------------------------------------------------------
May 26, 1997
This file contains special information for Midnight Commander for OS/2.
For more information about Midnight Commander, please read the original FAQ.
0. Hello
--------
This is the port of Midnight Commander to OS/2. I think it's now a
BETA version still with some unknown bugs, use it as your own risk!
1. Installation Instructions for binaries
------------
The default installation position for the binary files is D:\MC, just copy
all the files there and set the PATH to D:\MC. A small REXX program install.cmd
will help you create a desktop icon. With this version, using -S switch will
produce a batch file for you to change the directory to the last working place
upon exit. The batch file nc.cmd will demonstrate this feature.
2. Special notes
-----------
You can also change the drive with F11 and F12.
Known bugs:
- CTRL-C to external program not possible
- CTRL-O not work.
3. Operating System
-----------
I am using Warp 4 and IBM VisualAge C++ for this port. I don't think that
it is a problem to run it with OS/2 2.x, but I can not verify it.
Please drop me a mail and tell me how it works with the other OS versions.
4. How to compile it
-----------
VisualAge C++ 3.0 was used for this port. You can recompile the program
with the following steps:
0. The source files are located in D:\work\mc\mc-3.5.xx\. You will have to
replace this string with your location in the makefiles.
Goto \work\mc\mc-3.5.xx:
1. Copy all the files from os2\ into src\.
2. Install Slang 0.99.38. (ftp://space.mit.edu/pub/davis)
Patch Slang to make it works with Midnight Commander.
(I have disabled the multithreaded key handling because the key
control will be done in MC)
3. Copy the os2edit\ files to edit\.
Use Makefile.release to build a released version of libedit.lib or
Makefile.debug for a debug version.
4. Goto src\.
If you are going to use the WorkFrame for rebuild the makefile,
you have to delete the following files from src\:
achown.c
chmod.c
chown.c
cons.handler.c
cons.saver.c
cons.saver.h
fixhlp.c
key.c
key.unx.c
learn.c
learn.h
mad.c
Makefile.in
man2hlp.c
mfmt.c
slint.c
utilunix.c
xcurses.c
Otherwise, just type
nmake /f makefile.release (for release version)
nmake /f makefile.debug (for debug version)
4.1 Changes to main code:
They are enclosed in "#if defined(__os2__)" or OS2_NT blocks. Because of the
diffences between OS/2 and the other OSs, some of the files are completely
rewritten with call to APIs. They are named as *.os2.[ch].
5. Contact Information
-----------
Because of limited time and resources, this program has not been
thoroughly tested. Please report bugs (only those special under OS/2)
and comments via e-mail to:
ado@software-ag.de
----
Alexander Dong

109
README.PC Normal file
View File

@ -0,0 +1,109 @@
Midnight Commander for Win32 and OS/2
-------------------------------------
0. Introduction
1. Compiling
2. Changes made
3. Authors and maintainers
0. Introduction
---------------
Yes, Midnight Commander can be compiled for Win32 (Microsoft Windows 95, 98 and
NT) and OS/2. It has many bugs, but is quite stable now. Maybe you can help as
a beta tester or as a programmer. In either case you would like subscribe to
mc-devel list (see readme files in main doc on how to do this) and contact us.
Please note, that Midnight Commander remains primarily a file manager for
UNIX-like systems, so recent changes may occasionally break something.
You should not expect that it will work on your system better than file
managers written natively 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. Three of them are supported: EMX (OS/2), RSX and Mingw32
(Win32). RSX is based on EMX, and can also cross-compile for OS/2 under
Windows. Mingw32 is concieved as a free clone for Microsoft Visual C++.
Please note, that all above compiler are based on GCC (GNU C compiler), but
use different libraries.
CygWin32 is not (yet) powerful enough to compile Windows-specipic portion of
the Midnight Commander, but you may try to compile MC using UNIX configuration
files. As you can easily imagine, resulting binary will need termcap or
terminfo and use ANSI-sequences for output which is probably not what you want.
You may also try non-free compilers. Microsoft Visual C++ (4.0 and above),
Borland C++ (both for Win32 and OS/2) and IBC CSet are supported. "Supported"
means merely that there are specific makefiles for those compilers, but it
does not even assume that you will compile MC using them 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 create some fake includes to compile. You may also need to
change something in the MC sources.
1.3 Windowing Library
---------------------
Currently only support for SLang windowing library is given. There are
curses clones ported to Win32 and OS/2, but I believe that since there is
no analogs for autoconf for those systems, we should avoid unnecessary
difficulties.
Currently the PC port SLang included in this distribution (see slang/
subdirectory). This is a subset of SLang 0.99.38 distribution with some
bugs fixed. There are also MC-specific changes in the code.
SLang 0.99.38 has problems with OS/2 if you like console with more than
80x25 characters. You may try to use a newer SLang. It is possible, but it
is also quite tricky.
1.4 Features and Limitations
----------------------------
Internal editor is supported (including syntax highlighting).
VFS (virtual file system) is not supported.
X11 ports are not supported.
2. Changes made
---------------
2.1. Changes to main code
-------------------------
Changes in the main code are enclosed in #ifdef _OS_NT, __os2__ or OS2_NT
blocks.
In some cases we supressed 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 supressed.
- 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. Some of them are common for Win32 and OS/2, some of them are
system-specific. System-specific files bear a clear mark in their names
(for example, dirent_nt.c)
Our intension should be, however, to make most code system-independent. This
would increase code reuseabilibity 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>
and the port for OS/2 by
Alexander Dong <ado@software-ag.de>
Both ports were merged to one PC port by me,
Pavel Roskin <pavel_roskin@geocities.com>
Please note, that I'm using Linux now. I have access to Windows 95 machines,
but I have no access to OS/2 machines. If you are really keen to continue my
work, please drop me a letter.
Pavel Roskin <pavel_roskin@geocities.com>