diff options
author | urbanjost <urbanjost@comcast.net> | 2020-12-03 23:07:03 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-03 23:07:03 -0500 |
commit | 185706c62138479dea53b3cb1e49e3f48045a8da (patch) | |
tree | 9bb1c7ee716b57c22b3511fe7193f9e57fce3768 /README.md | |
parent | add0d607aea2e7ce2e04dd3161b549f4210224fc (diff) | |
parent | af67eaedf86b312c86b9f081a169cc6e220f0cb6 (diff) | |
download | fpm-185706c62138479dea53b3cb1e49e3f48045a8da.tar.gz fpm-185706c62138479dea53b3cb1e49e3f48045a8da.zip |
Merge branch 'master' into compiler
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 87 |
1 files changed, 47 insertions, 40 deletions
@@ -24,45 +24,7 @@ __Note:__ On Linux and MacOS, you will need to enable executable permission befo _e.g._ `$ chmod u+x fpm-v0.1.0-linux-x86_64` -### Build from source - -#### Install Haskell - -To install **Haskell Stack**, follow these -[instructions](https://docs.haskellstack.org/en/stable/install_and_upgrade/), -users without superuser (admin) permissions should follow the -[manual installation](https://docs.haskellstack.org/en/stable/install_and_upgrade/#manual-download_2) -procedure. - -#### Download this repository - -```bash -$ git clone https://github.com/fortran-lang/fpm -$ cd fpm/ -``` - -#### Build and test fpm - -Bootstrap *fpm* using: - -```bash -$ cd bootstrap/ -$ stack build -``` - -To test: - -```bash -$ stack test -``` - -To install: - -```bash -$ stack install -``` - -On Linux, the above command installs `fpm` to `${HOME}/.local/bin/`. +For other platforms and architectures have a look at the [bootstrapping instructions](#bootstrapping-instructions). ### Creating a new project @@ -88,7 +50,52 @@ with the following contents and initialized as a git repository. The command `fpm run` can optionally accept the name of the specific executable to run, as can `fpm test`; like `fpm run specific_executable`. Command line arguments can also be passed to the executable(s) or test(s) with the option -`--args "some arguments"`. +`-- some arguments`. See additional instructions in the [Packaging guide](PACKAGING.md) or the [manifest reference](manifest-reference.md). + + +### Bootstrapping instructions + +This guide explains the process of building *fpm* on a platform for the first time. +If your platform and architecture are already supported, download the binary from the [release page](https://github.com/fortran-lang/fpm/releases) instead. + +#### Download this repository + +```bash +$ git clone https://github.com/fortran-lang/fpm +$ cd fpm/ +``` + +#### Build a bootstrap version of fpm + +You can use the install script to perform the build of the Haskell version of *fpm* with: + +```bash +$ ./install.sh +``` + +On Linux, the above command installs `fpm` to `${HOME}/.local/bin/`. + +Now you can build the Fortran *fpm* version with + +```bash +$ cd fpm/ +$ fpm build +``` + +Test that everything is working as expected + +```bash +$ fpm test +``` + +Finally, install the Fortran *fpm* version with + +```bash +$ fpm run --runner cp -- ~/.local/bin +``` + +Or choose another location if you do not want to overwrite the bootstrapping version. +From now on you can rebuild *fpm* with your Fortran *fpm* version. |