=Installing Prerequisites=
The recommended way to set up your system and build Echo is to do the following.
==On Unix-like platforms (Linux, BSD)==
- Ensure you have [[tools|Mercurial]] installed first.
- Ensure you have access to [[/diffusion|the repositories]].
- Ensure you have updated the host fingerprint as per the [[technical_documents/repositories/|Repositories]] page. This will avoid any certificate errors when attempting to clone.
- Clone the {rEI} Echo Installer repository into the desired location:
-- Navigate to the {rEI} page and click the !!Clone!! button. This will show a URL
-- Open a Terminal and navigate to the directory where you want to clone
-- Run the command `hg clone` followed by the URL determined above; e.g. `hg clone https://developer.emblem.net.au/diffusion/EI/echoinstaller/`
-- Enter your https://developer.emblem.net.au Phabricator username and password for the credentials (@0xSeanTasker, shouldn't read access be public now?)
- Navigate to the newly-cloned location in the Terminal.
- Run `sudo ./SetupEcho.sh` and follow the prompts.
=Building Echo=
The installer script will attempt to build Echo for all targets that were selected (including Debug and Release for Linux). If you want, or need to, to build manually you can do one of the following:
# Navigate to the cloned EchoInstaller directory and run `./BuildEcho.sh`. The default platform is linux. You can specify the platform you want using `PLATFORMS=platformname ./BuildEcho.sh` where `platformname` is the lowercase name of the platform. At the time of this writing the following were available: `linux, android, wii, windowscross`.
# Open the `echo3` project in [[tools/netbeans|NetBeans]] and build using the IDE.
=Verifying things worked=
You should receive output if there were errors to the above processes. The installer will output the build result to a `buildlogs` folder that you can inspect to find errors. Please Please [[https://developer.emblem.net.au/maniphest/task/edit/form/1/|report errors]] that you come across since do want the process to be error free when possible.
To verify that everything built and that you can run an Echo project you can run the tests.
```
make test
```
Will run through the unit tests for the library. A lot of these tests are graphical and are set to timeout after 30 seconds or so but you can close windows early. If 30 seconds elapses and the window doesn't close chances are we forgot to add the timeout. Please [[/maniphest/task/edit/form/1/|report it]] so we can fix it.
Once you're satisfied and have had fun playing with the tests you can move to the [[projects/echo_3/getting_started/|Getting started]] page for information on building an application.