https://github.com/tepperly/mixdown
Meta-build tool for managing collections of third-party libraries
https://github.com/tepperly/mixdown
Last synced: about 1 year ago
JSON representation
Meta-build tool for managing collections of third-party libraries
- Host: GitHub
- URL: https://github.com/tepperly/mixdown
- Owner: tepperly
- License: lgpl-3.0
- Created: 2011-02-01T17:36:05.000Z (over 15 years ago)
- Default Branch: master
- Last Pushed: 2015-03-13T22:51:44.000Z (about 11 years ago)
- Last Synced: 2025-03-31T00:24:05.878Z (about 1 year ago)
- Language: Python
- Homepage: https://github.com/tepperly/MixDown/wiki
- Size: 1.27 MB
- Stars: 9
- Watchers: 6
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
MixDown
=======
MixDown is a meta-build tool that makes it easier to build software packages that have multiple dependencies. It uses a simple input file format to describe package information, and uses a series of heuristics to automatically generate an initial problem input file from a collection of tar, zip files, or download URLs.
MixDown supports the following targets:
* Local tarballs and zipfiles (e.g., /tmp/foo-1.2.3.tar.gz)
* Download URLs for tarballs and zipfiles (e.g., http://www.example.com/download/foo-1.2.3.tar.gz)
* Local directories that contain the source code to be built (e.g., /tmp/foo-1.2.3/)
* Subversion repositories
* Mercurial (hg) repositories
* Git repositories
Examples
--------
Subversion
----------
Here's how you would use MixDown to build subversion. First, create an initial MixDown project file using information from the source tarballs of subversion and its dependencies (the order doesn't matter):
mixdown --import \
http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2 \
http://www.eng.lsu.edu/mirrors/apache/apr/apr-1.3.12.tar.bz2 \
http://www.eng.lsu.edu/mirrors/apache/apr/apr-util-1.3.11.tar.bz2 \
http://www.webdav.org/neon/neon-0.29.5.tar.gz \
http://www.sqlite.org/sqlite-autoconf-3070500.tar.gz
This will create a MixDown project file called subversion-1.6.12.md.
Next, execute the build:
mixdown subversion-1.6.12.md
Usage
-----
MixDown - A tool to simplify building
Profile Mode:
Example Usage: mixdown --profile
Required:
--profile Toggle Profile mode
Optional:
-d List of non-recursive search directories (comma-delimited)
Example: -d/home/foo/bin,/usr/local/bin
-r List of recursive search directories (comma-delimited)
Example: -r/home/foo/bin,/usr/local/bin
<.mdo output file> Path to outputted MixDown override group file
Import Mode:
Example Usage: mixdown --import foo.tar.gz http://path/to/bar
Required:
--import Toggle Import mode
Space delimited list of package locations
Optional:
-i Interactive Mode
-v Verbose Mode
Build Mode (Default):
Example Usage: mixdown foo.md
Required:
Path to MixDown project file
Optional:
-v Verbose Mode
-f Force full rebuild (ignores success of previous build)
-j Number of build job slots
-t Number of threads used to build concurrent targets
-s Add steps to skip for individual targets
Example: -starget1:preconfig,target2:config
-o Specify path to Override Groups file
-g,, Specify Override Groups
Example: -gGNU,Debug,MPI
Example: -gGNU,,
-p Override prefix directory
-b Override build directory
-w Override download directory
-l Override default logger (Console, File, Html)
-k Keeps previously existing MixDown directories
Clean Mode:
Example Usage: mixdown --clean foo.md
Required:
--clean Toggle Clean mode
Path to MixDown project file
Optional:
-v Verbose Mode
-j Number of build job slots
-t Number of threads used to build concurrent targets
-s Add steps to skip for individual targets
Example: -starget1:preconfig,target2:config
-o Specify path to Override Groups file
-g,, Specify Override Groups
Example: -gGNU,Debug,MPI
Example: -gGNU,,
-p Override prefix directory
-b Override build directory
-w Override download directory
-l Override default logger (Console, File, Html)
Default Directories:
Builds: mdBuild/
Downloads: mdDownload/
Logs: mdLogFiles/