aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorurbanjost <urbanjost@comcast.net>2020-12-03 23:07:03 -0500
committerGitHub <noreply@github.com>2020-12-03 23:07:03 -0500
commit185706c62138479dea53b3cb1e49e3f48045a8da (patch)
tree9bb1c7ee716b57c22b3511fe7193f9e57fce3768 /README.md
parentadd0d607aea2e7ce2e04dd3161b549f4210224fc (diff)
parentaf67eaedf86b312c86b9f081a169cc6e220f0cb6 (diff)
downloadfpm-185706c62138479dea53b3cb1e49e3f48045a8da.tar.gz
fpm-185706c62138479dea53b3cb1e49e3f48045a8da.zip
Merge branch 'master' into compiler
Diffstat (limited to 'README.md')
-rw-r--r--README.md87
1 files changed, 47 insertions, 40 deletions
diff --git a/README.md b/README.md
index a9d1a02..7d966dc 100644
--- a/README.md
+++ b/README.md
@@ -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.