| This file gives information regarding the cvs tree of flex. The cvs |
| tree of flex contains the files which are under version control by |
| the flex maintainers for the flex project. |
| |
| You can learn about the details of retrieving a copy of the cvs flex |
| tree from flex's SourceForge project page at: |
| |
| http://sourceforge.net/projects/flex |
| |
| If you are not interested in flex development or you are not in need |
| of the latest bleeding-edge features, then the cvs flex tree is |
| not for you. |
| |
| When you get a distribution of flex, a large number of intermediate |
| files needed to make building flex easy are included. You don't have |
| that in the cvs tree. |
| |
| You will need various external tools in order to build the distribution. Here is |
| a (hopefully complete and correct) list of the required tools. Always get the |
| latest version of each tool; we list the versions used in development of |
| flex, but the listed versions may not work for you. |
| |
| compiler suite; e.g., gcc |
| bash or some other fairly robust sh-style shell |
| GNU bison; to generate parse.c from parse.y |
| GNU m4 1.4; required by GNU autoconf (yes, it *must* be GNU m4) |
| GNU autoconf 2.60 and GNU automake 1.10; for generating Makefiles etc. |
| GNU gettext 0.14.5; for i18n |
| flex (latest beta release); for bootstrap of scan.l |
| help2man 1.36; to generate the flex man page |
| tar, gzip, etc.; for packaging of the source distribution |
| GNU texinfo 4.8; to build and test the flex manual |
| perl; GNU automake and GNU autoconf now depend on perl to run |
| GNU indent 2.8; for indenting the flex source the way we want it done |
| |
| Once you have all the necessary tools installed, life becomes |
| simple. To prepare the flex tree for building, run the script: |
| |
| $ ./autogen.sh |
| |
| in the top level of the flex source tree. |
| This script calls the various tools needed to get flex ready for the |
| GNU-style configure script to be able to work. |
| |
| From this point on, building flex follows the usual configure, make, |
| make install routine. |