| 1 | cfa-cc: Cforall to C Trans-compiler
 | 
|---|
| 2 | ======================================
 | 
|---|
| 3 | 
 | 
|---|
| 4 | Cforall is built using GNU Make and the GNU Autoconf system.  It also requires
 | 
|---|
| 5 | g++ version >= 6, bison and flex.  On systems where GNU Make is the default
 | 
|---|
| 6 | make, the system is built by entering the commands:
 | 
|---|
| 7 | 
 | 
|---|
| 8 | For developers using the root git:
 | 
|---|
| 9 | 
 | 
|---|
| 10 |   $ ./autogen.sh
 | 
|---|
| 11 |   $ ./configure [ --prefix=/some/directory ]
 | 
|---|
| 12 |   $ make -j 8 install
 | 
|---|
| 13 |   $ cfa
 | 
|---|
| 14 | 
 | 
|---|
| 15 | For users using the distributed tarball / github:
 | 
|---|
| 16 | 
 | 
|---|
| 17 |   $ ./configure
 | 
|---|
| 18 |   $ make -j 8 install
 | 
|---|
| 19 |   $ cfa
 | 
|---|
| 20 | 
 | 
|---|
| 21 | where 8 is the number of CPUs on your computer.
 | 
|---|
| 22 | 
 | 
|---|
| 23 | The above instructions produce an in-tree, installed build, where intermediate
 | 
|---|
| 24 | binaries share the same folders as their sources, and where the final result
 | 
|---|
| 25 | becomes an "official" CFA version for the current environment.  For developers
 | 
|---|
| 26 | preferring an isolated side-by-side build, where all binaries are separated
 | 
|---|
| 27 | from sources, where it is possible to build multiple configurations from a
 | 
|---|
| 28 | common set of sources, and where no "official" CFA version is designated:
 | 
|---|
| 29 | 
 | 
|---|
| 30 |   $ ./autogen.sh
 | 
|---|
| 31 |   $ mkdir ../build
 | 
|---|
| 32 |   $ cd ../build
 | 
|---|
| 33 |   $ ../cfa-cc/configure
 | 
|---|
| 34 |   $ make -j 8
 | 
|---|
| 35 |   $ ./driver/cfa
 | 
|---|
| 36 | 
 | 
|---|
| 37 | 
 | 
|---|
| 38 | Options for configure
 | 
|---|
| 39 | ======================================
 | 
|---|
| 40 | The script 'configure' accepts many command-line arguments.  Run
 | 
|---|
| 41 | 
 | 
|---|
| 42 |   $ ./configure --help
 | 
|---|
| 43 | 
 | 
|---|
| 44 | to list them.  The most common argument is:
 | 
|---|
| 45 | 
 | 
|---|
| 46 |   --prefix=/some/directory controls the path prefix common to all installed
 | 
|---|
| 47 |     cfa-cc components.  Components are installed in directories bin and lib.
 | 
|---|
| 48 |     If unspecified, prefix defaults to /usr/local.  To use (a subdirectory of)
 | 
|---|
| 49 |     your home directory, ${HOME}/some/dir, but do not put quotes around the
 | 
|---|
| 50 |     directory path; Cforall may appear to build, but the installed version may
 | 
|---|
| 51 |     not work properly.
 | 
|---|
| 52 | 
 | 
|---|
| 53 | 
 | 
|---|
| 54 | Build Test
 | 
|---|
| 55 | ======================================
 | 
|---|
| 56 | 
 | 
|---|
| 57 |   $ cd ./tests
 | 
|---|
| 58 |   $ make -j 8 all-local
 | 
|---|
| 59 | 
 | 
|---|
| 60 | The tests take about 2-5 minutes and can be stopped at any time.
 | 
|---|