If you want everything built at once, type make all
and go play outside for a few minutes, we'll copy all of the targets into the build
directory for you along with specific instructions contained in a README.md
on how to use each binary. You can then use make -s check
to check the build status of each binary target.
NOTE for Apple platforms: In order to build iOS/OSX Frameworks and Bundles you will need XCode command line tools xcode-select --install
NOTE: For Android JNI libraries to build you'll need to install Android Studio the Android NDK. Currently only Android NDK r10e is supported and can be found here for OSX and here for Linux. You'll need to tell our project where you put it by putting the path in this file, you'll need to install the Android Build-Tools (this can typically be done through the editor the first time you start it up), and finally you should probably upgrade your Gradle plugin if it asks you to. If you don't have these things installed and configured we will detect that and just skip those builds automatically. Additionally, you can specify the target architectures you wish to build for by editing Application.mk. By default it will build arm64-v8a
, armeabi
, armeabi-v7a
, mips
, mips64
, x86
, and x86_64
Below are the specific instructions for each integration requiring little to no modification to your code. Remember, with a full build we'll put a copy of the appropriate integration instructions in the resultant binary's folder for you anyway.
For more support on these integrations, or if you'd like help creating a new integration, stop by our community section!
-
SDK_IPV4=1
- Enable IPv4 support -
SDK_IPV6=1
- Enable IPv6 support -
SDK_DEBUG=1
- Enables SDK debugging -
SDK_PICOTCP=1
- Enable the use ofpicoTCP
(recommended) -
SDK_PICO_DEBUG=1
- Enables debug output for thepicoTCP
network stack -
SDK_LWIP=1
- Enable the use oflwIP
(deprecated) -
SDK_LWIP_DEBUG=1
- Enables debug output for thelwIP
library.
- For everything:
make apple <flags>
- Embedding within an app
make ios_app_framework
->build/ios_app_framework/*
- Unity3D plugin
make ios_unity3d_bundle
->build/ios_unity3d_bundle/*
- Linking into an app at compiletime
make osx_static_lib
->build/libzt.a
- Embedding within an app with Xcode
make osx_app_framework
->build/osx_app_framework/*
- Dynamic-linking into an app/service at runtime
make osx_service_and_intercept
-> {build/zerotier-sdk-service
+build/libztintercept.so
} - Intercept library
make osx_sdk_service
->build/zerotier-sdk-service
- SDK Service
make osx_intercept
->build/libztintercept.so
- Unity3D plugin
make osx_unity3d_bundle
- For everything:
make linux <flags>
- Dynamic-linking into an app/service at runtime
make linux_shared_lib
- Service and Intercept
make linux_service_and_intercept
-> {build/zerotier-sdk-service
+build/libztintercept.so
} - Using the SDK with Docker
-
For everything:
make android
-
Embedding within an app
make android_jni_lib
->build/android_jni_lib/YOUR_ARCH/libZeroTierOneJNI.so
- Not yet.