home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 1998 April / Freeware-CD.bin / Freeware / utils / mc40.EXE / README.NT < prev    next >
Encoding:
Text File  |  1997-07-06  |  5.3 KB  |  141 lines

  1. Midnight Commander for Windows NT
  2. ---------------------------------
  3.  
  4. 0. Hello
  5. 1. Compiling
  6. 2. Changes made
  7. 3. Windows '95
  8. 4. About this binary file.
  9.  
  10. 0. Hello
  11. --------
  12. Hello, this is the Midnight Commander port to Windows NT. It is still an ALPHA
  13. version, with a lot of work to be done. Maybe you can help as an "alpha" tester
  14. or as a programmer. In either case you would like subscribe to mc-devel list
  15. (see readme files in main doc on how to do this) and contact us.
  16.  
  17. 1. Compiling
  18. ------------
  19.  
  20. 1.1. Compiler
  21. ----------------
  22. Microsoft Visual C++ for Windows NT version 1.1 was used. The provided makefile
  23. is for the visual IDE. As this is just for developing, it's not yet important
  24. to write an "external" makefile.
  25.  
  26. During some early stage I also tried Watcom C/C++ 10.0, but finally abandoned
  27. it. The trouble with Watcom was that the IDE complained about the longnames
  28. (e.g. chmod.nt.c) and debugging was not much comfortable. Anyway if anybody
  29. is iterested in supporting Watcom, it's just writing a makefile and migrating
  30. some code in dirent.c (as Watcom already provides opendir/readdir/closedir).
  31. We can benefit with its optimization features. 
  32. Anyway, I think code is quite ANSI. Please contact me if you would like support 
  33. for another compiler brand.
  34.  
  35. 1.2. General issues
  36. --------------------
  37. Preprocessor
  38.     Define:
  39.         LIBDIR
  40.         _OS_NT        -  OS flag
  41.         HAVE_CONFIG_H    - config.h flag
  42.     Dependencies:
  43.         if you use MS VC, don't let IDE generate dependencies for
  44.     you unless you add these files in MSVCINCL.DAT (the list of includes
  45.     to be excluded from dependencies):
  46.         param.h        kd.h
  47.         dir.h        ndir.h
  48.         mman.h        mount.h
  49.         vfs.h        filsys.h
  50.         statfs.h        dustat.h
  51.         statvfs.h        mnttab.h
  52.         wait.h        fs_types.h
  53.         fstyp.h        ioctl.h
  54.         termios.h        select.h
  55.  
  56.     Includes:
  57.         So as to avoid chaos in include files, I decided to create some
  58.     fake includes for UNIX counterparts. The empty files you need to create are:    
  59.         pwd.h        grp.h
  60.         sys/param.h    
  61.  
  62. 1.3 Windowing Library
  63. --------------------------------
  64. Currently only support for S-lang windowing library is given. I know no curses
  65. public library ported to NT, and I think it is useless to port it now.  There is,
  66. though still some work to be done with VK-to-Key code translation.
  67. To build please look at the port of the S-lang library. It consists of a few files
  68. you should add to the slang distribution. Look at slnttty.c for the support of
  69. mouse events.
  70.  
  71. 2. Changes made
  72. ---------------
  73.  
  74. 2.1. Changes to main code
  75. -------------------------
  76. They are enclosed in #ifdef _OS_NT blocks.
  77.  
  78. Wrote something similar to statfs in UTIL.C
  79. Wrote truncate.
  80. Changed (almost) all references to "/" path slash with PATH_CHAR and strPATH_CHAR.
  81. Changed name of CONTROL_FILE.
  82. Changed name of shell and call to shell.
  83.  
  84. In some cases we supressed code. This is temporal (so that mc can compile). In
  85. the future we will provide fake or true interfaces for these features.
  86.    - Links: creation and information on links are not supported in NT. We
  87.             should provide a fake interface for the local filesystem and
  88.             a true one for networked.
  89.    - GID/UID queries (get_user, owner, preserve UID/GID on copy, ...).
  90.    - TERMinals: all the code directly done with terminals must be supressed.
  91.    - Signals: deleted. Should support the native ones.
  92.    - pipes: had some trouble in ext.c and with error_pipes but soon will be fixed.
  93.    - Chown command: Not supported yet.
  94.  
  95. 2.2. Files rewritten
  96. --------------------
  97. There are 3 files with so many changes that they have been moved to independent
  98. archives (or OS dependent).
  99.   - Chmod.nt.c: this command will query and change attributes (hidden, system,
  100.                 archive,...). Maybe we should write a real chmod (and also a
  101.                 chown). It is not finished, but works almost fine. Look that
  102.         the stat st_mode member is filled with attributes, not modes.
  103.   - Cons.handler.nt.c: Supports same API as linux cons.handler.c. It allocates
  104.         a new console buffer and switches between the two when doing a
  105.         shell. The new allocated one is the used by Midnight commander.
  106.         (look that to make this we should also redirect standard handles)
  107.   - Key.nt.c:   a static table maps Virtual Key codes to Curses-like Key codes.
  108.         Also mouse events are supported.
  109.         still preliminar.
  110.  
  111. 2.3. New files
  112. --------------
  113.   - drive.nt.c: A Change Drive command has been implemented. Two lines
  114.                 in main.c were included (in the left/right panel menus).
  115.                 The funcs drive_cmd_a/b are implemented in this new file.
  116.                 It will build a dialog with available drives as buttons.
  117.         bug: too many drives are not supported (think just 7). have
  118.              to rewrite to support more than one line.
  119.  
  120. 2.4 Files not used
  121. ------------------
  122. Naturally, key.c chmod.c cons.handler.c cons.saver.c are not used in NT builds.
  123. Also: learn.c utilunix.c chown.c achown.c xcurses.c
  124.  
  125. 3. Windows '95
  126. --------------
  127. It will run also on windows'95, but maybe need a pair of changes. keep waiting.
  128. 
  129.  
  130. 4. About this binary file. (Alexander Dong: ado@software-ag.de)
  131. -------------------------------------------
  132.  
  133. I have produced this binary file (MC.EXE) with the version 3.5.25 and
  134. add the F11/F12 keys to enable the change of drives.
  135.  
  136. It's only tested under Windows 95.
  137.  
  138. Use at your own risk!
  139.  
  140. Juan Grigera