@node Installing @sc{mdk} @comment node-name, next, previous, up @chapter Installing @sc{mdk} @node Download @comment node-name, next, previous, up @section Download the source tarball GNU @sc{mdk} is distributed as a source tarball available for download in the following @acronym{URL}s: @itemize @bullet @item @url{ftp://ftp.gnu.org/pub/gnu/mdk} (or one of @uref{http://www.gnu.org/prep/ftp.html, its mirrors}) @item @uref{http://sourceforge.net/project/showfiles.php?group_id=13897} @end itemize The above sites contain the latest stable releases of @sc{mdk}. The development branch is available at: @itemize @bullet @item @uref{http://sourceforge.net/cvs/?group_id=13897} @end itemize After you have downloaded the source tarball, unpack it in a directory of your choice using the command: @example tar xfvz mdk-X.Y.tar.gz @end example @noindent where @var{X.Y} stands for the downloaded version (the current stable release being version @value{VERSION}). @node Requirements @comment node-name, next, previous, up @section Requirements In order to build and install @sc{mdk}, you will need the following libraries installed in your system: @itemize @minus @item @uref{http://www.gtk.org, GLIB 1.2.0} (required) @item @uref{http://www.gnu.org/software/flex/flex.html, GNU Flex 2.3} (required) @item @uref{http://www.gtk.org, GTK+ 1.2.0} (optional) @item @uref{ftp://ftp.gnome.org/pub/GNOME/stable/sources/libglade/, libglade} (optional) @item GNU readline and history libraries (optional) @end itemize If present, readline and history are used to provide command completion and history management to the command line MIX virtual machine, @code{mixvm} GTK+ and libglade are needed if you want to build the graphical interface to the MIX virtual machine, @code{gmixvm}. @strong{Please note}: you need both the libraries @emph{and} the headers; this means both the library package and the @file{-dev} package if you do not compile your libraries yourself (ex: installing @file{libgtk1.2} and @file{libgtk1.2-dev} on Debian). @node Basic installation @comment node-name, next, previous, up @section Basic installation @sc{mdk} uses GNU Autoconf and Automake tools, and, therefore, should be built and installed without hassle using the following commands inside the source directory: @example ./configure make make install @end example @noindent where the last one must be run as root. The first command, @code{configure}, will setup the makefiles for your system. In particular, @code{configure} will look for GTK+ and libglade, and, if they are present, will generate the appropiate makefiles for building the @code{gmixvm} graphical user interface. Upon completion, you should see a message with the configuration results like the following: @example *** GNU MDK 0.3 has been successfully configured. *** Type make to build the following utilities: - mixasm (MIX assembler) - mixvm (MIX virtual machine) - gmixvm (mixvm GTK+ GUI) @end example @noindent where the last line may be missing if you lack the above mentioned libraries. The next command, @code{make}, will actually build the @sc{mdk} programs in the following locations: @itemize @minus @item @file{mixutils/mixasm} @item @file{mixutils/mixvm} @item @file{mixgtk/gmixvm} @end itemize You can run these programs from within their directories, but I recommend you to install them in proper locations using @code{make install} from a root shell. @node Special configure flags @comment node-name, next, previous, up @section Special configure flags You can fine tunning the configuration process using the following switches with configure: Platforms --------- Gaby should compile and work without any problems on Linux (2.0 and 2.2 tested), with libc5 or glibc2.x, with gcc or egcs (pgcc not tested). And some people even tried to use Gaby on hostile platforms :) : Version Who On ....... ... .. 1.9.6 Larry Hunter SGI Irix 6.5.4, MIPSpro cc 7.2.1 1.9.7 Régis Julie Sun Solaris 2.5.1 1.9.14 Philippe Defert (with egcs 1.1.2) i686-pc-linux-gnu (Redhat 5.1) i686-pc-linux-gnu (Redhat 6.0) sparc-sun-solaris2.6 alpha-dec-osf4.0d hppa1.1-hp-hpux10.20 mips-sgi-irix6.5 powerpc-ibm-aix4.3.2.0 (you?)