chapel-lang/chapel — pull request #252 by thomasvandoren (2014-08-28 20:27:15+00:00)
Title: Build multiple configs

Add script to build multiple configurations in a loop. This is a **work in progress**. **Please do not merge.**

### What is can do so far:

* Accept command line arguments to build multiple configurations based on these values:
* `CHPL_COMM`
* `CHPL_TASKS`
* `CHPL_LAUNCHER`
* `CHPL_GMP`
* `CHPL_REGEXP`
* `CHPL_LLVM`
* The cross product of all values creates the configurations that are built.
* Settings that are not available, or not specified, will be copied from the environment of the caller.

### Features to add:

* Add additional configuration values, in some kind of priorites:
* `CHPL_TARGET_COMPILER`
* `CHPL_TARGET_ARCH`
* `CHPL_COMM_SUBSTRATE`
* miscellaneous other comm settings (i.e. `CHPL_GASNET_SEGMENT`)
* `CHPL_HOST_COMPILER`
* `CHPL_LOCALE_MODEL`
* `CHPL_MEM`
* `CHPL_AUX_FILESYS`
* Split the compile process into stages (compile, runtime, third-party, etc).
* Parallelize build where possible (i.e. all runtime builds can be done concurrently)
* Add interactive mode where user is prompted for what configs they would like to build (see charm++ `./build` script).
* Add option to ignore environment of caller and instead setup a pristine environment for build (maybe `--ignore-environment`?).