Skip to content

Commit 325c1da

Browse files
committed
Update the readme with osx build steps
1 parent ca82037 commit 325c1da

File tree

1 file changed

+48
-36
lines changed

1 file changed

+48
-36
lines changed

README.md

Lines changed: 48 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,6 @@ sysadmin
33

44
Like system administrators in big companies, `sysadmin` configures things
55

6-
Development
7-
===========
8-
9-
Generally speaking, build as follows:
10-
11-
```
12-
mkdir build
13-
cd build
14-
cmake ..
15-
make check
16-
make
17-
```
18-
19-
`make check` runs only sysadmin's tests. If you wish to run the decibel-cpp tests, run
20-
`make decibel-check`.
21-
22-
If this is your first time, you might have some dependencies which need to be installed
23-
first. The included `third-party-build.sh` will download, build, then install those
24-
dependencies. You will definitely need gcc, g++, and make at the very least in order
25-
to build those dependencies.
26-
27-
Dependencies
28-
============
29-
30-
sysadmin's dependencies are codified in its CMakeLists.txt files, but the key ones are
31-
as follows:
32-
- decibel-cpp, which is included with sysadmin and built when sysadmin is built. It
33-
is a C++ wrapper around libuv, and additional abstractions built with folly
34-
- [libuv](https://github.com/libuv/libuv) is a C event loop library
35-
- [boost](http://www.boost.org/) is boost
36-
- [folly](https://github.com/facebook/folly) is a C++ library, primarily used for
37-
its excellent futures code
38-
- [protobufs](https://developers.google.com/protocol-buffers/), specifically proto 2,
39-
provides the API to sysadmin
40-
- [yaml-cpp](https://github.com/jbeder/yaml-cpp) provides YAML config file support
41-
426
About
437
=====
448

@@ -70,3 +34,51 @@ sysadmin allows you to change the value of one or more of these keys, then `comm
7034
all at once, at which point the 2 hooks above are run. From a user's perspective, they need
7135
only know what values they want, and sysadmin takes care of the messy, system level details
7236
via its hooks.
37+
38+
Dependencies
39+
============
40+
41+
sysadmin's dependencies are codified in its CMakeLists.txt files, but the key ones are
42+
as follows:
43+
- decibel-cpp, which is included with sysadmin and built when sysadmin is built. It
44+
is a C++ wrapper around libuv, and additional abstractions built with folly
45+
- [libuv](https://github.com/libuv/libuv) is a C event loop library
46+
- [boost](http://www.boost.org/) is boost
47+
- [folly](https://github.com/facebook/folly) is a C++ library, primarily used for
48+
its excellent futures code
49+
- [protobufs](https://developers.google.com/protocol-buffers/), specifically proto 2,
50+
provides the API to sysadmin
51+
- [yaml-cpp](https://github.com/jbeder/yaml-cpp) provides YAML config file support
52+
53+
Development
54+
===========
55+
56+
Generally speaking, build as follows:
57+
58+
```
59+
mkdir build
60+
cd build
61+
cmake ..
62+
make check
63+
make
64+
```
65+
66+
`make check` runs only sysadmin's tests. If you wish to run the decibel-cpp tests, run
67+
`make decibel-check`.
68+
69+
If this is your first time, you might have some dependencies which need to be installed
70+
first.
71+
72+
If you're on linux, the included `third-party-build.sh` will pull and install all
73+
the necessary dependencies.
74+
75+
On macOS, `brew` is generally able to install all the necessary
76+
libraries, at least at the time of writing this. You'll at least need to do the following
77+
the first time:
78+
```bash
79+
brew install folly # Folly is the key dependency, and brings boost with it
80+
brew install amqp-cpp
81+
brew install libuv
82+
brew install yaml-cpp
83+
brew install protobuf
84+
```

0 commit comments

Comments
 (0)