-
Notifications
You must be signed in to change notification settings - Fork 25
Building BioNetGen
The perl script bng2/make_dist.pl
automates the process of building a BNG distribution. Pre-compiled binaries may be included using the bindir
switch, or alternately a binary may be compiled for the local architecture with the build
switch.
Here's the basic syntax (all arguments are optional):
make_dist.pl OPTS
--bngpath BNGDIR path to BNGDIR repository
--outdir OUTDIR path where distribution is built
--bindir BINDIR path to directory of pre-compiled binaries
--build compile binary for local architecture
--archive create tar-zip distribution archive
--validate run validation tests (local machine only)
--overwrite overwrite existing distribution
--version VERSION distribution version number
--codename CODENAME distribution codename
The distribution tree is built in the directory OUTDIR/BioNetGen-VERSION-CODENAME. By default, OUT is the current directory. BNGDIR should point to the bng2
subdirectory in the repository. The default value for BNGDIR is the same directory as the make_dist.pl script. If the archive switch is set, the script will create a tar-zip archive. By default, version and codename information is extracted from the VERSION file in bng2
. Optional version and codename switches are provided to override the default behavior. Pre-compiled binaries may be included in the distribution by pointing BINDIR to a directory containing those binaries. Alternatively, a binary can be built for the local architecture by using the 'build' switch. Finally, the validation tests are run automatically if the 'validate' switch is set (local architecture only).
Some things to keep in mind:
- Don't build a distribution in the repository.(Or if you do, don't check it in!)
- build script should work on Unix-type systems (Linux and Mac)
- build script won't work on Windows
- versions have the regex format
\d+\.\d+\.\d+
Test distributions may be posted on googlecode under the following conditions:
- The distribution passes all Validation and Unit tests (if any)
- The distribution must be clearly labeled 'testing'
Developers should make an effort to try test distributions prior to release. When a distribution is deemed ready for release, it should be posted for download on googlecode.
Some issues to consider:
- Conventions for numbering and naming distributions
- Automated compilation for all platforms.