Before configuring and building the source you will need to extract the source tarball and copy the GCC and Doxygen tarballs into the source tree. An example of doing this is shown below:
tar -xvjf edoc-0.2.1.tar.bz2 # Note: Copy of source files only necesary if source obtained from CVS cp gcc-core-4.0.1.tar.bz2 edoc-0.2.1/archives/ cp gcc-g++-4.0.1.tar.bz2 edoc-0.2.1/archives/ cp doxygen-1.5.1.src.tar.gz edoc-0.2.1/archives/
After preparing the source as shown above a simple build + install
should work if you wish to install EDoc++ into
/usr/local
cd edoc-0.2.1 ./configure make # Go and have a coffee or something. This will take a long time. # Change to root user su make install
Throughout this manual I will reference a few different
directories. Namely: <source-dir>
<build-dir>
and
<install-dir>
. In the examples I use the
following values for those locations:
<source-dir>:
$HOME/dev/edoc/edoc/
<build-dir>:
$HOME/build/edoc/edoc
<install-dir>: /usr/local
This is just mentioned here for consistency with viewing the examples.
@@@Brendon TODO Writeme: For now run the configure script with --help as the argument for more information or send a email to the mailing list for further questions.
./configure --help `configure' configures EDoc 0.2.1 to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print `checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for `--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or `..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, `make install' will install all the files in `/usr/local/bin', `/usr/local/lib' etc. You can specify an installation prefix other than `/usr/local' using `--prefix', for instance `--prefix=$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/edoc] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer --disable-doxygen-doc don't generate any doxygen documentation --disable-doxygen-dot don't generate graphics for doxygen documentation --enable-doxygen-man generate doxygen manual pages --enable-doxygen-rtf generate doxygen RTF documentation --disable-doxygen-xml don't generate doxygen XML documentation --enable-doxygen-chm generate doxygen compressed HTML help documentation --enable-doxygen-chi generate doxygen seperate compressed HTML help index file --disable-doxygen-html don't generate doxygen plain HTML documentation --enable-doxygen-ps generate doxygen PostScript documentation --enable-doxygen-pdf generate doxygen PDF documentation --enable-dev Enable development features; Without this enabled it is difficult to commit changes to CVS. EDoc stores in CVS a set of non-standard "patch" files against the original GCC source in CVS so that it does not have to include the entire GCC source tree in CVS. With this feature, the configure script will create a GCC - VANILLA directory that is used as a reference for generating patch files. In order to make changes to the GCC mod and commit them to CVS this is necessary. However it is not necessary if a user just wants to compile and install EDoc from source. --enable-validation Development feature used to perform some internal checking while running the edoc program. This makes running edoc VERY SLOW, but is helpful for a developer to test any modifications to the post processing tool do not break object referencing within the post processing tool. --enable-debug Add debugging information to resulting executable. DEFAULT: Off unless --enable-dev is specified. --disable-optimise Build executables with optimisation turned on. DEFAULT: On unless --enable-dev is specified. --enable-profile Build executables with profiling enabled. DEFAULT: Off --enable-coverage Build executables with code coverage enabled. DEFAULT: Off --disable-gcc Disable building of GCC modification. --disable-doxygen Disable building of Doxygen modification. --enable-dummy-edocpy Creates an UNUSABLE libEDocPy but is helpful for automated build testing as speeds up build times dramatically. --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-swig Enable the usage of SWIG to re-generate the edoc_wrap.cpp and edoc.py files. If disabled will just use the ones distributed in the source code. Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-log-level=<level> Development feature used to set the compile time log level to a given value. Where level is one of: ERROR, WARNING, INFO, DEBUG, FINE, FINER, FINEST --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] --with-libintl=DIR specify location of libintl; Usage: --without-libintl --with-libintl=no --with-libintl=yes [DEFAULT] --with-libintl=<prefix-path> --with-libintl=<include-path>:<lib-path> --with-libiberty=DIR specify location of libiberty; Usage: --without-libiberty --with-libiberty=no --with-libiberty=yes [DEFAULT] --with-libiberty=<prefix-path> --with-libiberty=<include-path>:<lib-path> --with-libbfd=DIR specify location of libbfd; Usage: --without-libbfd --with-libbfd=no --with-libbfd=yes [DEFAULT] --with-libbfd=<prefix-path> --with-libbfd=<include-path>:<lib-path> --with-libpython=DIR specify location of libpython; Usage: --without-libpython --with-libpython=no --with-libpython=yes [DEFAULT] --with-libpython=<prefix-path> --with-libpython=<include-path>:<lib-path> Some influential environment variables: DOXYGEN_PAPER_SIZE a4wide (default), a4, letter, legal or executive CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a nonstandard directory <lib dir> LIBS libraries to pass to the linker, e.g. -l<library> CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CC C compiler command CFLAGS C compiler flags CPP C preprocessor CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to <brendon.j.costa@gmail.com>.