README.PC 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. ------------------------------------------------------------------------
  2. Support for Windows is broken since GNU Midnight Commander started using
  3. glib. If you want to revive the project, it may be your last chance.
  4. If nobody volunteers, all the code for the native Windows port will be
  5. removed from the project.
  6. ------------------------------------------------------------------------
  7. GNU Midnight Commander for Win32
  8. --------------------------------
  9. 0. Introduction
  10. 1. Compiling
  11. 2. Changes made
  12. 3. Authors and maintainers
  13. 0. Introduction
  14. ---------------
  15. Yes, Midnight Commander can be compiled for Win32 (all versions of
  16. Microsoft Windows starting with Windows 95 for all platforms, except
  17. Windows CE). It may be tricky to compile, it may be buggy, but it should
  18. be usable. Maybe you can help as a beta tester or as a programmer.
  19. In either case you would like subscribe to the mc-devel list (see README
  20. and FAQ) and contact us.
  21. Please note that Midnight Commander remains primarily a file manager for
  22. UNIX-like systems. You should not expect that it will work on your
  23. system better than a file manager written specifically for your OS.
  24. 1. Compiling
  25. ------------
  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.
  31. RSXNT: http://www.mathematik.uni-bielefeld.de/~rainer/
  32. MinGW: http://www.mingw.org/
  33. MinGW is also included with Cygwin (http://www.cygwin.com/).
  34. Cygwin environment is so close to UNIX, that it's possible to compile
  35. GNU Midnight Commander in the same way as it's done in UNIX (see file
  36. INSTALL for details). However, you should realize that you would get a
  37. UNIX program that has no idea about drives, Windows-style permissions
  38. and some other Windows-specific features. This is not the Win32 port
  39. discussed in this document.
  40. Speaking of non-free compilers, Microsoft Visual C++ (4.0 and above) and
  41. Borland C++ are supported. "Supported" means merely that there are
  42. specific makefiles for those compilers, but it does not even assume that
  43. they will compile GNU Midnight Commander out-of-box.
  44. 1.2. General issues
  45. -------------------
  46. See pc/README, pc/BUGS, pc/TODO for the information concerning current
  47. state of the port. You will need to hack the code a lot just to
  48. compile it.
  49. 1.3 Windowing Library
  50. ---------------------
  51. Currently only support for the S-Lang windowing library is provided.
  52. There are curses clones ported to Win32, but I believe that since we
  53. are not using autoconf for the Win32 port, we should avoid unnecessary
  54. difficulties.
  55. Currently the Win32 port only can use S-Lang included in this
  56. distribution (see slang/ subdirectory). This is a subset of S-Lang
  57. distribution with some bugfixes and MC-specific code changes.
  58. 1.4 Features and Limitations
  59. ----------------------------
  60. Internal editor is supported (including syntax highlighting).
  61. Internal viewer is supported (including hex editor).
  62. VFS (virtual file system) is not supported.
  63. Concurrent subshell is not supported.
  64. 2. Changes made
  65. ---------------
  66. 2.1. Changes to main code
  67. -------------------------
  68. Changes in the main code are enclosed in #ifdef NATIVE_WIN32 blocks.
  69. In some cases we suppressed code. This is temporal (so that mc can compile).
  70. In the future we will provide fake or true interfaces for these features.
  71. - Links: creation and information on links are not supported. We
  72. should provide a fake interface for the local filesystem and
  73. a true one for networked.
  74. - GID/UID queries (get_user, owner, preserve UID/GID on copy, ...).
  75. - Terminals: all the code directly done with terminals must be suppressed.
  76. - Signals: deleted. Should support the native ones.
  77. - pipes: had some trouble in ext.c and with error_pipes but soon will be
  78. fixed.
  79. - Chown command: Not supported yet.
  80. 2.2. Files rewritten
  81. --------------------
  82. There are several files with so many changes that they have been moved
  83. to pc/ subdirectory. Our intention should be, however, to make most code
  84. system-independent. This would increase code reuse and maintainability.
  85. See pc/ subdirectory for further details.
  86. 3. Authors and maintainers
  87. --------------------------
  88. The code is not actively maintained, but the patches are applied.
  89. Please send your changes to the mc-devel list.