Building Votorola from Source

Unix is required. Only Linux has been tested, but most other versions of Unix should be okay.

  1. Ensure you have Perl 5:

    $ perl --version
  2. Change to the directory of your working copy:

    $ cd working-copy/

    (If you have no working copy, see ../contributors.xht#revision-control-system.)

  3. Smoke test the build script:

    $ votorola/b/build --help

    If this is your first build, it will fail with an error message. The exact fix depends on the error message. Either:

    1. Can't locate MODULE.pm in @INC...

      A Perl module is missing. Simply install the module, e.g. from CPAN.

    2. Unable to parse votorola/b/MODULE_config.pl: No such file or directory

      A configuration file is missing. Config.pm explains the reason, and how to fix it.

    When all of the dependencies are in place, the command will run to completion, and print a help message:

    Usage:
        build clean
    
        build argument*
    
        build --help | --man
    
    Arguments:
        clean   Deletes all build files.
    
        doc     Builds the documentation files. Almost all of the source is
                output, with only lightly filtering to exclude a few unwanted
                files.
    
        exec    Builds the executables.
    
        javadoc Builds the Java API docs.
    
        release Builds the whole of Votorola for release. This is the default.
                It is equivalent to 'build doc exec javadoc'.
    
    Options:
                --help  Outputs a brief help message and exits.
    
                --man   Outputs the full manual page and exits.
    
                --verbose
                        Increases the level of console output.
  4. Build the code.

    $ votorola/b/build

    It prints out its progress. (As in the previous step, it may fail if any dependencies are missing. Simply supply the dependencies, and retry.)

      release
        doc
        exec
            (compile 90...
            (jar files 144...
        javadoc
          (javadoc ...

    The code is now built to the out_dir(), as defined in your Build_config.pl.

  5. Run the code as instructed in the system manual. But where it talks of creating a symbolic link to the code, substitute the path to your out_dir().

maintainer Michael Allan