summaryrefslogtreecommitdiff
path: root/BUILDING.md
diff options
context:
space:
mode:
Diffstat (limited to 'BUILDING.md')
-rw-r--r--BUILDING.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/BUILDING.md b/BUILDING.md
new file mode 100644
index 00000000..d6b5feec
--- /dev/null
+++ b/BUILDING.md
@@ -0,0 +1,41 @@
+Building ZeroTier One From Source
+======
+
+(See RUNNING.md for what to do next.)
+
+Developers note: there is currently no management of dependencies on *nix
+platforms, so you should make clean ; make if you change a header. Will
+do this eventually.
+
+### Linux and FreeBSD
+
+Just type 'make'. You'll need gcc and g++ installed, but ZeroTier One requires
+no other third party libraries beyond the standard libc, libstdc++, and libm.
+
+*Note:* On FreeBSD you must use 'gmake', not 'make'!
+
+### MacOS
+
+make
+
+If you are building ext/tap-mac you will need a different version of the
+OSX gcc compiler chain than what currently ships (clang). We've got a copy
+available here:
+
+http://download.zerotier.com/dev/llvm-g++-Xcode4.6.2.tar.bz2
+
+Un-tar this into ext/ (it's excluded in .gitignore) and then 'make' in
+ext/tap-mac/tuntap/src/tap.
+
+Most users should not need to build tap-mac, since a binary is included
+in ext/bin.
+
+To build the UI you will need Qt version 5.0 or later. The Qt home must
+be symbolically linked into "Qt" in the parent directory of the ZeroTier
+One source tree. Then you can type "make mac-ui" and the UI should build.
+You can also load the UI in Qt Creator and build/test it that way.
+
+### Windows
+
+There's a Visual Studio 2012 solution file in windows/ that can be used.
+I've never tried it with MinGW, but theoretically this should be possible.