mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-27 00:21:05 +00:00
Make tap build on OSX 10.9, though not in a way that is easy for users. Instead package binaries.
This commit is contained in:
parent
17778a36ba
commit
148619f0ba
16
Makefile.mac
16
Makefile.mac
@ -35,18 +35,18 @@ idtool: $(OBJS)
|
|||||||
$(CXX) $(CXXFLAGS) -o zerotier-idtool idtool.cpp $(OBJS) $(LIBS)
|
$(CXX) $(CXXFLAGS) -o zerotier-idtool idtool.cpp $(OBJS) $(LIBS)
|
||||||
$(STRIP) zerotier-idtool
|
$(STRIP) zerotier-idtool
|
||||||
|
|
||||||
mac-tap: FORCE
|
#mac-tap: FORCE
|
||||||
cd mac-tap/tuntap ; make tap.kext
|
# cd mac-tap/tuntap ; make tap.kext
|
||||||
|
|
||||||
install-mac-tap: FORCE
|
#install-mac-tap: FORCE
|
||||||
mkdir -p /Library/Application\ Support/ZeroTier/One
|
# mkdir -p /Library/Application\ Support/ZeroTier/One
|
||||||
rm -rf /Library/Application\ Support/ZeroTier/One/tap.kext
|
# rm -rf /Library/Application\ Support/ZeroTier/One/tap.kext
|
||||||
cp -R mac-tap/tuntap/tap.kext /Library/Application\ Support/ZeroTier/One
|
# cp -R mac-tap/tuntap/tap.kext /Library/Application\ Support/ZeroTier/One
|
||||||
chown -R root:wheel /Library/Application\ Support/ZeroTier/One/tap.kext
|
# chown -R root:wheel /Library/Application\ Support/ZeroTier/One/tap.kext
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf *.dSYM
|
rm -rf *.dSYM
|
||||||
rm -f $(OBJS) zerotier-*
|
rm -f $(OBJS) zerotier-*
|
||||||
cd mac-tap/tuntap ; make clean
|
cd tap-mac/tuntap ; make clean
|
||||||
|
|
||||||
FORCE:
|
FORCE:
|
||||||
|
36
ext/bin/tap-mac/tap.kext/Contents/Info.plist
Normal file
36
ext/bin/tap-mac/tap.kext/Contents/Info.plist
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>English</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>tap</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.zerotier.tap</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>tap</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>KEXT</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>20111101</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>OSBundleLibraries</key>
|
||||||
|
<dict>
|
||||||
|
<key>com.apple.kpi.mach</key>
|
||||||
|
<string>8.0</string>
|
||||||
|
<key>com.apple.kpi.bsd</key>
|
||||||
|
<string>8.0</string>
|
||||||
|
<key>com.apple.kpi.libkern</key>
|
||||||
|
<string>8.0</string>
|
||||||
|
<key>com.apple.kpi.unsupported</key>
|
||||||
|
<string>8.0</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
|
|
BIN
ext/bin/tap-mac/tap.kext/Contents/MacOS/tap
Executable file
BIN
ext/bin/tap-mac/tap.kext/Contents/MacOS/tap
Executable file
Binary file not shown.
18
tap-mac/tuntap/README.zerotier-build
Normal file
18
tap-mac/tuntap/README.zerotier-build
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Building the tap for both x86_64 and i386 requires an older version of the
|
||||||
|
Xcode tools than what now ships for Mavericks (10.9). The newer version
|
||||||
|
does not support creating i386 kernel images.
|
||||||
|
|
||||||
|
These can be obtained from:
|
||||||
|
|
||||||
|
https://developer.apple.com/downloads
|
||||||
|
|
||||||
|
It requires a bit of a dance to unpack the package and obtain an unpacked
|
||||||
|
tree, but once it's there you can change the line in tap/Makefile and
|
||||||
|
build for both architectures.
|
||||||
|
|
||||||
|
This will go on until i386 is thoroughly legacy, at which point we'll
|
||||||
|
probably start just supporting x86_64. But that might be a while. We want
|
||||||
|
to support old Macs through their entire useful life.
|
||||||
|
|
||||||
|
Since this build is irritating, a pre-built copy is packaged in ext/ and
|
||||||
|
is installed by 'make install'. So users shouldn't have to build this.
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@ -19,7 +19,7 @@ BUNDLE_SIGNATURE = ????
|
|||||||
BUNDLE_PACKAGETYPE = KEXT
|
BUNDLE_PACKAGETYPE = KEXT
|
||||||
BUNDLE_VERSION = $(TAP_KEXT_VERSION)
|
BUNDLE_VERSION = $(TAP_KEXT_VERSION)
|
||||||
|
|
||||||
INCLUDE = -I.. -I/System/Library/Frameworks/Kernel.framework/Headers
|
INCLUDE = -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Kernel.framework/Headers
|
||||||
CFLAGS = -Wall -mkernel -force_cpusubtype_ALL \
|
CFLAGS = -Wall -mkernel -force_cpusubtype_ALL \
|
||||||
-fno-builtin -fno-stack-protector -arch i386 -arch x86_64 \
|
-fno-builtin -fno-stack-protector -arch i386 -arch x86_64 \
|
||||||
-DKERNEL -D__APPLE__ -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"$(TUNTAP_VERSION)\" \
|
-DKERNEL -D__APPLE__ -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"$(TUNTAP_VERSION)\" \
|
||||||
@ -27,7 +27,9 @@ CFLAGS = -Wall -mkernel -force_cpusubtype_ALL \
|
|||||||
CCFLAGS = $(CFLAGS)
|
CCFLAGS = $(CFLAGS)
|
||||||
LDFLAGS = -Wall -mkernel -nostdlib -r -lcc_kext -arch i386 -arch x86_64 -Xlinker -kext
|
LDFLAGS = -Wall -mkernel -nostdlib -r -lcc_kext -arch i386 -arch x86_64 -Xlinker -kext
|
||||||
|
|
||||||
CCP = $(shell if [ -f /usr/bin/llvm-g++ ]; then echo llvm-g++; else echo g++; fi)
|
#CCP = g++
|
||||||
|
CCP = $(HOME)/Code/llvm-g++-Xcode4.6.2/bin/llvm-g++
|
||||||
|
|
||||||
CC = gcc
|
CC = gcc
|
||||||
|
|
||||||
all: $(KMOD_BIN) bundle
|
all: $(KMOD_BIN) bundle
|
@ -34,8 +34,7 @@
|
|||||||
|
|
||||||
#define TAP_IF_COUNT 16 /* max number of tap interfaces */
|
#define TAP_IF_COUNT 16 /* max number of tap interfaces */
|
||||||
|
|
||||||
// ZeroTier default MTU, see Constants.hpp
|
#define TAP_MTU 4000
|
||||||
#define TAP_MTU 2800
|
|
||||||
|
|
||||||
#define TAP_LLADDR tap_lladdr
|
#define TAP_LLADDR tap_lladdr
|
||||||
|
|
Loading…
Reference in New Issue
Block a user