Prerequisites ------------- Parts of this libraries need - Gtkmm (which itself needs GTK+); configure test for version 2.2.0, but the 2.0 series might also work - A CORBA implementation (tested with MICO 2.3.9) The package will compile without them, but you don't get the whole functionality (not surprisingly the CORBA- and/or the X-windows library are missing). How to build (if extracted from an (tar-)archive) ------------------------------------------------- Inside the directory containing the source code type ./configure [configure-options] make [make-options] How to build (the first time after checking out of CVS) ------------------------------------------------------- As there is no public CVS server, these are just notes for me. Additional prerequiste software: - CVS (obviously) - GNU gettext - libtool - autoconf - automake Inside the directory containing the source code type gettextize --intl --no-changelog mv Makefile.am~ Makefile.am mv configure.in~ configure.in # Undo changes made by gettextize libtoolize aclocal -I m4 && automake -a && autoconf # Create configure.in autoheader # Create gzo-cfg.in ./configure [configure-options] make [make-options] * Common options for configure --help # Overwhelming help to configure --help=short # Reduces the output of configure --help --prefix= # default: /usr/local --disable-nls # Disable national language support --enable-checks[=level] # Adds asserts and Checks --enable-debug[=level] # Sets tracelevel & generation of debuginfo 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. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. Compilers and Options Some systems require unusual options for compilation or linking that the `configure' script does not know about. You can give `configure' initial values for variables by setting them in the environment. Using a Bourne-compatible shell, you can do that on the command line like this: CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure Or on systems that have the `env' program, you can do it like this: env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure Compiling For Multiple Architectures You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, 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 you have to use a `make' that does not supports the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names 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'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec-prefix=PATH', the package will use PATH as the prefix for installing programs and libraries. Documentation and other data files will still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=PATH' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. * Common options/targets for make: - check # Runs some tests on (some) classes - install # Installs the whole thing - clean # Deletes the files created during the make - uninstall # Uninstalls (after you found out what crap this package actually contains) - doc # Only in the doc subdirectory