shrub/README.md

55 lines
2.1 KiB
Markdown
Raw Normal View History

2016-12-08 23:52:46 +03:00
# Install instructions
To install and run Urbit please follow the instructions at
2016-12-09 00:04:37 +03:00
[urbit.org/docs/using/install](http://urbit.org/docs/using/install). Packages
and source tarballs are available there. You'll be on the live network in a few
minutes.
2013-09-29 00:21:18 +04:00
2016-12-08 23:52:46 +03:00
If you're doing development on Urbit, keep reading.
# Build instructions
2014-06-10 01:56:56 +04:00
2016-09-12 22:29:35 +03:00
## External dependencies
2015-09-23 00:04:11 +03:00
2016-09-12 22:29:35 +03:00
`vere`, the Urbit virtual machine, depends on the following:
2015-06-17 04:27:28 +03:00
2016-09-12 22:29:35 +03:00
- C compiler ([gcc](https://gcc.gnu.org) or [clang](http://clang.llvm.org))
- [GNU Make](https://www.gnu.org/software/make/)
- [GMP](https://gmplib.org)
- [CMake](https://cmake.org)
2017-02-08 02:19:15 +03:00
- [libuv](https://libuv.org) 1.x
2016-09-12 22:29:35 +03:00
- [OpenSSL](https://www.openssl.org)
- [libsigsegv](https://www.gnu.org/software/libsigsegv/)
2016-10-06 01:10:37 +03:00
- [libcurl](https://curl.haxx.se/libcurl/)
2016-09-12 22:29:35 +03:00
- curses implementation (ncurses on Linux distributions, OS curses otherwise)
- [Ragel](https://www.colm.net/open-source/ragel/)
- [re2c](http://re2c.org)
2015-10-20 21:40:29 +03:00
2016-09-12 22:29:35 +03:00
Most of these dependencies are unfortunate; we aim to drastically shrink the
2016-10-06 01:10:37 +03:00
list in upcoming versions. `vere` proper makes use of GMP, OpenSSL, libcurl, and
2016-09-12 22:29:35 +03:00
libsigsegv. The multiple build tools are a result of bundled libraries, slated
for future unbundling or removal wherever possible.
2015-10-20 21:40:29 +03:00
2016-09-12 22:29:35 +03:00
## Building
2015-11-17 06:29:27 +03:00
2016-09-12 22:29:35 +03:00
Our Makefile should handle the build smoothly on all supported platforms. It's
just a simple Makefile, written by hand for GNU Make, and the most complicated
parts of its internal machinery have to do with the varied build systems of the
bundled libraries.
2016-06-30 01:21:40 +03:00
2016-09-12 22:29:35 +03:00
Useful targets are the default `all`, `clean`, and `distclean`. The last may not
produce an entirely clean distribution directory, and runs a bundled library's
configure script; `git clean` may be a better option.
2016-06-30 01:21:40 +03:00
2016-09-12 22:29:35 +03:00
The `vere` binary is produced in `bin/urbit`.
2016-06-30 01:21:40 +03:00
2016-09-12 22:29:35 +03:00
## Contact
2016-06-30 01:21:40 +03:00
2016-09-12 22:29:35 +03:00
If you have any questions, problems, patches, or proposals for patches, please
2016-12-08 23:52:46 +03:00
feel free to get in touch in whatever way is most convenient:
- Post to `/urbit-meta` on Urbit `:talk`. (You can do this via
[urbit.org/stream](https://urbit.org/stream) without a running Urbit).
- Post to [urbit.org/fora](https://urbit.org/fora/).
- Email us directly [questions@urbit.org](mailto:questions@urbit.org).