123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462 |
- -*-text-*-
- This file contains:
- - Installation instructions and notes for the Midnight Commander
- - Where to get more information on the Midnight Commander
- - Common problems
- - Information on porting the program
- - Obtaining the missing pieces of the Midnight Commander
- Installation instructions for the Midnight Commander
- ----------------------------------------------------
- The `configure' shell script attempts to guess correct values for
- various system-dependent variables used during compilation, and creates
- the Makefile. It also creates a file `config.status' that you can run
- in the future to recreate the current configuration.
- (Nextstep users, make sure you read the "Compiling under Nextstep"
- section)
- To compile this package:
- 1. Configure the package for your system.
- Normally, you just `cd' to the directory containing the package's
- source code and type `./configure'. If you're using `csh' on an old
- version of System V, you might need to type `sh configure' instead to
- prevent `csh' from trying to execute `configure' itself (under AIX,
- you may need to use ksh instead of sh).
- Running `configure' takes a while. While it is running, it
- prints some messages that tell what it is doing. If you don't want to
- see any messages, run `configure' with its standard output redirected
- to `/dev/null'; for example, `./configure >/dev/null'.
- To compile the package in a different directory from the one
- containing the source code, you must use a version of `make' that
- supports the `VPATH' variable, such as GNU `make'. `cd' to the
- directory where you want the object files and executables to go and run
- the `configure' script. `configure' automatically checks for the
- source code in the directory that `configure' is in and in `..'. If
- for some reason `configure' is not in the source code directory that
- you are configuring, then it will report that it can't find the source
- code. In that case, run `configure' with the option `--srcdir=DIR',
- where DIR is the directory that contains the source code.
- By default, `make install' will install the package's files in
- `/usr/local/bin', `/usr/local/man', etc. You can specify an
- installation prefix other than `/usr/local' by giving `configure' the
- option `--prefix=PATH'. Alternately, you can do so by consistently
- giving a value for the `prefix' variable when you run `make', e.g.,
- make prefix=/usr/gnu
- make prefix=/usr/gnu install
- You can specify separate installation prefixes for
- architecture-specific files and architecture-independent files. If
- you give `configure' the option `--exec-prefix=PATH' or set the `make'
- variable `exec_prefix' to PATH, the package will use PATH as the
- prefix for installing programs and libraries. Data files and
- documentation will still use the regular prefix. Normally, all files
- are installed using the same prefix.
- The program detects if you have the gpm library installed. If you
- installed the gpm mouse library in a non-standard place, you will need
- to use the --with-gpm-mouse flag with the directory base where you
- installed the gpm package.
- `configure' also recognizes the following options:
- `--help'
- Print a summary of the options to `configure', and exit.
- `--quiet'
- `--silent'
- Do not print messages saying which checks are being made.
- `--verbose'
- Print the results of the checks.
- `--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
- `--with-debug'
- Enables the built-in memory allocation debugger and forces
- compilation with -Wall. This is an option intended to be used by
- the program developers.
- `--without-edit'
- Configures the program to be compiled without the built-in file
- editor. The built-in editor is compiled in by default.
- `--with-ext2undel[=PATH]'
- On systems that use the Extended 2 file system and have the
- libext2fs.a library available, this compiles into the Midnight
- Commander the support code for recovering deleted files (the
- undel virtual file system).
- Use =PATH if libext2fs.a is installed in a non-standard place.
- The configure will append `lib' and `include' to find the ext2fs
- libraries and include files respectively.
- `--with-gpm-mouse[=PATH]'
- Use this flag if your GPM mouse package cannot be detected by the
- configure. Use =PATH if it is installed in a non-standard place.
- The configure will append `lib' and `include' to find the libgpm.a
- and gpm.h files respectively.
- `--without-gpm-mouse'
- Use this flag to disable GPM mouse support (e.g. if you want to
- use mouse only on X terminals).
- `--with-hsc'
- Compiles support into the ftp virtual file system to support the
- HSC firewall.
- `--with-mmap'
- Needed when compiling under AIX if you want the fast viewer.
- `--with-sco'
- This option is used to compile on SCO: it turns on SCO-specific
- code, i.e. disables the terminal resizing mechanism, uses the
- BSD-like pseudoterminal handling, adds screen-saving capabilities
- on console, etc.
- `--with-subshell[=optional]', `--without-subshell'
- The subshell support is by default turned on, you can disable
- this by using the --without-subshell option. If you pass the
- =optional parameter, then the subshell support is turned off by
- default, to turn it on, you have to specify the `-U' flag when
- running the program.
- `--with-termnet'
- Enables the network support with the Term package.
- `--with-tm-x-support'
- This option enables minimal X Window support in the text edition. It
- enables MC to query the status of the modifiers CONTROL and SHIFT
- when invoked in a terminal emulation under X11. That's necessary
- to recognice key combinations like C-HOME or S-Cursor key.
- `--without-vfs'
- This option disables the Virtual File System switch code in the
- Midnight Commander and uses the standard file system calls for
- file access. If you specify this option you will not get the
- transparent tar File system manipulation as well nor the
- networked Midnight Commander file system.
- You may also tell configure which display manager you want to use with
- the Midnight Commander. The configure script will use SLang as default,
- but you can override this by using any of the following flags (please
- note that slang is included as part of the distribution),
- `--with-slang' (default)
- This is used to configure the program to use the SLang screen
- manager. This is included as part of the Midnight Commander,
- you don't need it installed on your system. If SLang is installed
- on your system it will be used if possible. You can force usage of
- the included SLang with the `--with-included-slang' option.
- Slang is the only library that will let you resize the Midnight
- Commander window on an xterm.
- This option will usually try to use the terminfo database if it
- is available, otherwise it will use the termcap database. At
- compile time, you may force the use the terminal database with
- the `--with-termcap' and `--with-terminfo' options (both options
- automaticly turn `--with-included-slang' on).
- `--with-ncurses[=directory]'
- Use this flag (either with or without the =directory part), if
- you want to compile with ncurses instead of the default SLang.
- Use the =directory part if your ncurses is not installed in any of the
- places configure will check (/usr/include, /usr/include/ncurses,
- /usr/local/include and /usr/local/include/ncurses).
- The argument to this flag is the base directory where the ncurses
- files are located. The configure will append lib and include to
- find the libncurses.a and ncurses.h file respectively. For
- example, if you have installed ncurses under /gnu/lib and
- /gnu/include, you specify: --with-ncurses=/gnu
- You will need the ncurses package only if your system does not
- provide a compatible curses. If after compiling, the program
- says that it can't resolve the has_colors function, then you need
- the ncurses package or you may always go back to the included SLang
- screen manager.
- `--with-vcurses[=directory]'
- Use this flag to force the Midnight Commander to use a SystemV
- type ncurses, the optional directory specifies where should
- the C compiler find the include files.
- `--with-sunos-curses'
- You use this flag on SunOS machines if you want to use SunOS 4.x
- curses instead of ncurses. You don't need this flag if you don't
- have ncurses installed: it's only needed to force the usage of
- SunOS curses over ncurses.
- `configure' also accepts and ignores some other options.
- On systems that require unusual options for compilation or linking
- that the package's `configure' script does not know about, you can give
- `configure' initial values for variables by setting them in the
- environment. In Bourne-compatible shells, you can do that on the
- command line like this:
- CC='gcc -traditional' LIBS=-lposix ./configure
- On systems that have the `env' program, you can do it like this:
- env CC='gcc -traditional' LIBS=-lposix ./configure
- Here are the `make' variables that you might want to override with
- environment variables when running `configure'.
- For these variables, any value given in the environment overrides the
- value that `configure' would choose:
- - Variable: CC
- C compiler program. The default is `cc'.
- - Variable: CFLAGS
- The default flags used to build the program.
- - Variable: INSTALL
- Program to use to install files. The default is `install' if you
- have it, `cp' otherwise.
- For these variables, any value given in the environment is added to
- the value that `configure' chooses:
- - Variable: LIBS
- Libraries to link with, in the form `-lfoo -lbar...'.
- If you need to do unusual things to compile the package, we encourage
- you to figure out how `configure' could check whether to do them, and
- mail diffs or instructions to the address given in the README so we
- can include them in the next release.
- 2. Type `make' to compile the package.
- 3. If the package comes with self-tests and you want to run them,
- type `make check'. If you're not sure whether there are any, try it;
- if `make' responds with something like
- make: *** No way to make target `check'. Stop.
- then the package does not come with self-tests.
- 4. Type `make install' to install programs, data files, and
- documentation.
- If your system is Linux, then install installs the Linux console screen
- saver as well.
- 5. You can remove the program binaries and object files from the
- source directory by typing `make clean'. To also remove the
- Makefile(s), the header file containing system-dependent definitions
- (if the package uses one), and `config.status' (all the files that
- `configure' created), type `make realclean'. If you want to clean the source
- tree completely, so that it contains only those files that should be
- packaged in the archive, issue `make distclean'. If you've run configure in
- a different directory than the source tree, distclean won't remove your *.o
- and linked programs in that directory.
- 6. The Midnight Commander allows you to be kept on the directory you
- were when you quit the program, this is done with a shell function,
- the man page has more information about this. If you want to let the
- install program make the change to your /etc/profile or your
- ~/.profile or ~/.bashrc, then type: `make mcfninstall'.
- The file `configure.in' is used to create `configure' by a program
- called `autoconf'. You only need it if you want to regenerate
- `configure' using a newer version of `autoconf'.
- Compiling under NeXTStep
- ------------------------
- These instructions were provided by Gregor Hoffleit
- <flight@mathi.uni-heidelberg.DE>, he recommends configuring the
- program like this:
- export CC="cc -posix"
- configure --without-subshell --with-termcap
- Edie config.h and make sure you have #undef HAVE_GETWD
- make
- - Where to get more information on the Midnight Commander
- ---------------------------------------------------------
- Janne Kukonlehto set up a WWW page, here is the URL:
- http://mc.blackdown.org/mc/
- We also a set of mailing lists for the program:
- mc: Discussion on the Midnight Commander file manager.
- mc-devel: For discussion between the developers of the program.
- to subscribe to the mailing lists, visit their respective pages:
- http://mail.gnome.org/mailman/listinfo/mc/
- http://mail.gnome.org/mailman/listinfo/mc-devel/
- Notes about the Midnight Commander installation
- ------------------------------------------------
- The Midnight Commander has been run in the following configurations:
- i386-*-linux
- sparc-*-linux
- alpha-*-linux
- mips-dec-ultrix4.3
- mips-dec-{open,net}bsd1.0
- mips-sgi-irix5.2
- mips-sgi-irix5.3
- rs6000-ibm-aix3.2.5
- sparc-sun-sunos4.1
- sparc-sun-netbsd1.0
- sparc-sun-solaris2.3
- hppa-hp-hpux9
- hppa-hp-hpux7
- m68k-apple-aux
- mc88110-aviion-dgux5.4
- i386-*-{bsdi2,freebsd}
- Since the Midnight Commander is configured via the GNU autoconf
- program, it's not difficult to run it in other operating systems.
- If you're using AIX, with the cc6000 compiler, you have to specify the
- `--with-mmap' command line option.
- You will need GNU C (or an ANSI C Compiler) and optionally a color
- curses library (ncurses is a good choice). The Midnight Commander now
- comes with the Slang screen manager, a fast screen manager, so ncurses
- is not required anymore unless you want to use it.
- Many Linux systems ship with ncurses version 1.9.9e, however, we recommend
- ncurses 4.1 or above, since the former version does not support resizing
- of the xterm window.
- Since version 0.9 the Midnight Commander comes with mouse support on
- xterms and in the Linux console. In order to take advantage of the
- mouse support on the Linux console you will need the gpm mouse server
- (see the section "Obtaining the Missing Pieces" in this file).
- Once you get the Mouse Server, compile it and install it, then you
- will have to specify the `--with-gpm-mouse' flag to the configure
- program if you installed it in a non-standard directory. If you
- installed the gpm package under /usr or /usr/local, you don't need to
- specify this flag; configure will find gpm for you. The support for
- mice on xterms is always compiled in.
- We are working on further enhancements to the program, but we're not
- sure which ones must go first. If you would like to point us in the
- Right Direction we will be glad to hear from you (you could check the
- file TODO included with this distribution for the current projects).
- If you happen to find an undocumented feature that doesn't do what you
- expected, please drop us a note telling us as much as you can about
- the problem you're experiencing (to miguel@roxanne.nuclecu.unam.mx).
- Porting the program
- -------------------
- Random notes on porting to other architectures.
- The Midnight Commander uses now by default the SLang library for
- handling the display. You may want to download the latest version of
- SLang or use a slightly modified SLang version 0.99.38 included with
- the Midnight Commander. The later is very stable and has been used
- for years without problems. You shouldn't expect any problems porting
- SLang to your platform.
- Another possibility is to download and install ncurses on your OS.
- The Midnight Commander can use ncurses as well as the display engine.
- However, you may encounter minor differences, for instance, you will
- be unable to force the color mode by giving the "-c" switch to the
- Midnight Commander.
- As the last resort, you may try to use the curses library supplied with
- your OS. Beware that some systems, e.g. SystemV Release 4, include the
- curses library with bugs critical to the Midnight Commander. You may
- try to recompile all your source code with the symbol BUGGY_CURSES
- defined, i.e.
- make clean; make CFLAGS="-g -O -DBUGGY_CURSES"
- Obtaining the missing pieces of the Midnight Commander
- ------------------------------------------------------
- The Midnight Commander will build without requiring you to get any
- other software packages, however, you may be interested in enhancing
- the Midnight Commander environment with some of these:
- o Terminal database
-
- There are many incomplete terminal databases out there, however, a
- complete terminfo is bundled with ncurses. (It is simple to generate
- the termcap database using the infocmp utility in ncurses).
- Some terminfo data are included with the mc distribution (lib/*.ti).
- Particularly linux, xterm and vt100. Use e.g. ''tic linux.ti'' to
- use them.
- If you want to run mc on xterm/color_xterm/ansi_xterm (not rxvt), then
- you might read lib/README.xterm for further information.
- o In the past the Midnight Commander required the NCurses library to
- build, now it's optional. You can get Ncurses from
- ftp.gnu.org:/pub/gnu
- ftp.clark.net:/pub/dickey/ncurses
- o The GPM Mouse Server is available at:
- iride.unipv.it:/pub/gpm
- o The X Windows System libraries are only used if you are going to
- build the X11 versions of the program. Please note that this code
- is not finished, so it's only useful if you want to look at what we
- are doing or want to help in one of the two X11 versions.
-
- To get the mouse support working on the Linux console:
- If you're using Linux version >= 1.1.34, then you will have to choose yes
- to selection when you compile your kernel. If your Linux version is
- older than this one, you may try to apply one of the patches included in
- the gpm package.
- And the GNU C Compiler may be obtained from the following sites:
- ASIA: ftp.cs.titech.ac.jp, utsun.s.u-tokyo.ac.jp:/ftpsync/prep,
- cair.kaist.ac.kr:/pub/gnu
- AUSTRALIA: archie.au:/gnu (archie.oz or archie.oz.au for ACSnet)
- AFRICA: ftp.sun.ac.za:/pub/gnu
- MIDDLE-EAST: ftp.technion.ac.il:/pub/unsupported/gnu
- EUROPE: ftp.cvut.cz:/pub/gnu, irisa.irisa.fr:/pub/gnu,
- ftp.univ-lyon1.fr:pub/gnu, ftp.mcc.ac.uk,
- unix.hensa.ac.uk:/pub/uunet/systems/gnu,
- src.doc.ic.ac.uk:/gnu, ftp.win.tue.nl, ugle.unit.no,
- ftp.denet.dk, ftp.informatik.rwth-aachen.de:/pub/gnu,
- ftp.informatik.tu-muenchen.de, ftp.eunet.ch,
- nic.switch.ch:/mirror/gnu, nic.funet.fi:/pub/gnu, isy.liu.se,
- ftp.stacken.kth.se, ftp.luth.se:/pub/unix/gnu, archive.eu.net
- CANADA: ftp.cs.ubc.ca:/mirror2/gnu
- USA: wuarchive.wustl.edu:/mirrors/gnu, labrea.stanford.edu,
- ftp.kpc.com:/pub/mirror/gnu, ftp.cs.widener.edu, uxc.cso.uiuc.edu,
- col.hp.com:/mirrors/gnu, ftp.cs.columbia.edu:/archives/gnu/prep,
- gatekeeper.dec.com:/pub/GNU, ftp.uu.net:/systems/gnu
- Unsupported options to configure:
- ---------------------------------
- `--with-bsd-curses'
- If you don't want to use ncurses and are using an Ultrix box, you
- can use this switch. Be aware that ncurses is a better option
- than the curses included in Ultrix.
|