Fixed also some outdated informations in doc/HACKING

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
This commit is contained in:
Slava Zanko 2009-06-30 23:12:10 +03:00
parent 01bd446bdf
commit 388bcc3520

View File

@ -19,15 +19,18 @@ required:
Autoconf 2.52 and above (latest is recommended) Autoconf 2.52 and above (latest is recommended)
Automake 1.5 and above (latest is recommended) Automake 1.5 and above (latest is recommended)
Gettext 0.11.5 and above Gettext 0.11.5 and above
Glib 2.x and above Glib 2.6 and above (2.14 and higher is recommended)
Full list of requirements you can see at:
http://www.midnight-commander.org/wiki/en/doc/buildAndInstall/req
It is recommended that all those tools are installed with the same It is recommended that all those tools are installed with the same
prefix. Make sure that the tools with the right version are first in prefix. Make sure that the tools with the right version are first in
PATH. PATH.
Once you have the right tools, run `autogen.sh' - it will generate Once you have the right tools, run `autogen.sh' - it will generate
everything necessary for the build and run `configure'. Arguments given everything necessary for the build `configure'. Then run 'configure'
to `autogen.sh' are passed to `configure'. Then run `make' as usually. and `make' as usually.
The distribution tarball is created by the command `make distcheck'. The distribution tarball is created by the command `make distcheck'.
This command can take a while. This command can take a while.
@ -50,14 +53,8 @@ versions. A lot of cleanup is going on. The GIT version may be easier
to understand, in addition to the obvious fact that the merging is to understand, in addition to the obvious fact that the merging is
easier with the GIT version. easier with the GIT version.
There are some tools in the maint directory on GIT. They are not
included with releases or snapshots. You may be interested to look at
them if you are going to work on the project for an extended period of
time. In particular, the release procedure is described there.
In order to compile GNU Midnight Commander from a clean GIT checkout you In order to compile GNU Midnight Commander from a clean GIT checkout you
should use autogen.sh instead of configure. Arguments passed to should use 'autogen.sh && ./configure' instead of 'configure'.
autogen.sh are passed to configure after it's generated.
GNU Midnight Commander uses Autoconf and Automake, with make it fairly GNU Midnight Commander uses Autoconf and Automake, with make it fairly
portable. However, GNU Make is strongly recommended for development portable. However, GNU Make is strongly recommended for development
@ -69,10 +66,6 @@ If you add or remove any files, please change Makefile.am in the same
directory accordingly. When doing significant changes in the tree directory accordingly. When doing significant changes in the tree
structure, "make distcheck" is strongly recommended. structure, "make distcheck" is strongly recommended.
If you have etags installed, you can run "make tags" and use tags in
emacs to find functions or variables. But you can also use the internal
editor and the "Find File" command to find any text in the source tree.
GNU Autoconf allows you to test several different configurations are GNU Autoconf allows you to test several different configurations are
once. To do so, use the so called out-of-tree (or VPATH) compilation. once. To do so, use the so called out-of-tree (or VPATH) compilation.
Create separate empty directories and run configure with full path from Create separate empty directories and run configure with full path from
@ -119,7 +112,7 @@ mc_open() instead.
edit - the internal editor. edit - the internal editor.
This code has been contributed by Paul Sheer, the author of Cooledit. This code has been contributed by Paul Sheer, the author of Cooledit.
The internal editor shares some code with Cooledit, but now it's The internal editor shares some code with Cooledit, but now it's
developed as part of GNU Midnight Commander. developed as part of GNU Midnight Commander.
@ -133,17 +126,18 @@ Code structure - details
GNU Midnight Commander uses extensively the dialog manager written by GNU Midnight Commander uses extensively the dialog manager written by
Radek Doulik. To understand how the dialog manager works, please read Radek Doulik. To understand how the dialog manager works, please read
the dialog.c. You will find the basic widgets in the files widget.c. the dialog.c. You will find the basic widgets in the files widget.c.
Some more high-level functions, e.g. to display a message box, are Some more high-level functions, e.g. to display a message box, are
located in wtools.c. This file also contains the Quick Dialog code, located in wtools.c. This file also contains the Quick Dialog code,
which makes it easier to create complex dialogs. which makes it easier to create complex dialogs.
Files findme.c, popt.c, poptconfig.c, popthelp.c and poptparse.c come Files findme.c, popt.c, poptconfig.c, popthelp.c and poptparse.c come
from the popt library used to parse the command line. They should not from the popt library used to parse the command line. They should not
be modified unless absolutely necessary. be modified unless absolutely necessary. At near time these stuff will
removed.
The files util.c and utilunix.c have a lot of utility functions. Get The files util.c and utilunix.c have a lot of utility functions. Get
familiar with them, they are very simple. familiar with them, they are very simple.
glib is used for memory allocation and for some utility functions, such glib is used for memory allocation and for some utility functions, such
as manipulation with lists and trees. gmodule (part of the glib as manipulation with lists and trees. gmodule (part of the glib
@ -278,7 +272,7 @@ The official place for bug reports is:
http://www.midnight-commander.org/ http://www.midnight-commander.org/
There are various unofficial sources where bug reports and patches can There are various unofficial sources where bug reports and patches can
be found (NOT maintained by the MC team). be found (NOT maintained by the MC team).