Merge pull request #2 from BoteRock/master
Build libzmq from source, generate SwiftZMQ.framework for macosx and iphoneos platforms.
This commit is contained in:
commit
d4e5da572c
|
@ -24,4 +24,7 @@ xcuserdata
|
|||
## Other
|
||||
*.xccheckout
|
||||
*.moved-aside
|
||||
*.xcuserstate
|
||||
*.xcuserstate
|
||||
.DS_Store
|
||||
libzmq/
|
||||
!libzmq/pull_compile_libzmq_git.sh
|
||||
|
|
|
@ -0,0 +1,212 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
# Script adapted from https://github.com/samsoir/libzmq-ios-universal
|
||||
# tried to keep things to a minimum
|
||||
|
||||
|
||||
|
||||
|
||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
|
||||
GLOBAL_OUTDIR=${DIR}/dependencies
|
||||
BUILD_DIR=${DIR}/build
|
||||
|
||||
LIBZMQ_DIR="${DIR}/libzmq-git"
|
||||
LIBZMQ_FILE="libzmq.a"
|
||||
|
||||
IOS_DEPLOY_TARGET="8.0"
|
||||
OSX_DEPLOY_TARGET="10.9"
|
||||
|
||||
|
||||
if [[ -f "${DIR}/libzmq-ios.a" ]]; then
|
||||
exit 0;
|
||||
#library already built
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
echo "Initializing build directory..."
|
||||
if [[ -d ${BUILD_DIR} ]]; then
|
||||
rm -rf "${BUILD_DIR}"
|
||||
fi
|
||||
|
||||
|
||||
echo "Initializing dependency directory..."
|
||||
if [[ -d ${GLOBAL_OUTDIR} ]]; then
|
||||
rm -rf "${GLOBAL_OUTDIR}"
|
||||
fi
|
||||
|
||||
mkdir -p "${GLOBAL_OUTDIR}/include" "${GLOBAL_OUTDIR}/lib"
|
||||
|
||||
|
||||
|
||||
|
||||
setenv ()
|
||||
{
|
||||
export ARCH=$1
|
||||
export SDK=$2
|
||||
export HOST=$3
|
||||
|
||||
|
||||
export SDKROOT
|
||||
SDKROOT=$(xcrun -sdk "${SDK}" --show-sdk-path)
|
||||
|
||||
export CFLAGS="${CFLAGS} -arch ${ARCH}"
|
||||
|
||||
export CXXFLAGS="${CFLAGS}"
|
||||
export CPPFLAGS="${CFLAGS}"
|
||||
export LDFLAGS="${CFLAGS}"
|
||||
|
||||
mkdir -p "${BUILD_DIR}/${SDK}-${ARCH}"
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
setenv_ios ()
|
||||
{
|
||||
export CFLAGS="-mios-version-min=${IOS_DEPLOY_TARGET}"
|
||||
setenv $1 $2 $3
|
||||
}
|
||||
|
||||
setenv_osx ()
|
||||
{
|
||||
export CFLAGS="-mmacosx-version-min=${OSX_DEPLOY_TARGET}"
|
||||
setenv $1 $2 $3
|
||||
}
|
||||
|
||||
compile_zmq ()
|
||||
{
|
||||
make distclean
|
||||
|
||||
|
||||
|
||||
"${LIBZMQ_DIR}/configure" --disable-dependency-tracking \
|
||||
--enable-static --disable-shared \
|
||||
--host=${HOST} \
|
||||
--prefix="${BUILD_DIR}/${SDK}-${ARCH}" --without-libsodium
|
||||
|
||||
make
|
||||
make install
|
||||
make clean
|
||||
}
|
||||
|
||||
|
||||
rm -rf "${LIBZMQ_DIR}"
|
||||
|
||||
echo "Cloning libzmq from source https://github.com/zeromq/libzmq.git"
|
||||
|
||||
git clone "https://github.com/zeromq/libzmq.git" "${LIBZMQ_DIR}"
|
||||
|
||||
|
||||
|
||||
cd "${LIBZMQ_DIR}" || exit
|
||||
|
||||
${LIBZMQ_DIR}/autogen.sh
|
||||
|
||||
cd "${DIR}" || exit
|
||||
|
||||
|
||||
echo "Compiling libzmq for iphoneos/iphonesimulator"
|
||||
echo "============================================="
|
||||
# ios and mac osx should be compiled in different files
|
||||
# https://karp.id.au/post/xcode_7_linker_rules/
|
||||
|
||||
echo "Compiling libzmq for armv7..."
|
||||
setenv_ios "armv7" "iphoneos" "arm-apple-darwin"
|
||||
compile_zmq
|
||||
|
||||
echo "Compiling libzmq for armv7s..."
|
||||
setenv_ios "armv7s" "iphoneos" "arm-apple-darwin"
|
||||
compile_zmq
|
||||
|
||||
echo "Compiling libzmq for arm64..."
|
||||
setenv_ios "arm64" "iphoneos" "arm-apple-darwin"
|
||||
compile_zmq
|
||||
|
||||
echo "Compiling libzmq for i386..."
|
||||
setenv_ios "i386" "iphonesimulator" "i386-apple-darwin"
|
||||
compile_zmq
|
||||
|
||||
echo "Compiling libzmq for x86_64..."
|
||||
setenv_ios "x86_64" "iphonesimulator" "x86_64-apple-darwin"
|
||||
compile_zmq
|
||||
|
||||
|
||||
echo "Creating fat static library for iphoneos/iphonesimulator"
|
||||
|
||||
lipo_input+=("${BUILD_DIR}/iphoneos-armv7/lib/${LIBZMQ_FILE}")
|
||||
lipo_input+=("${BUILD_DIR}/iphoneos-armv7s/lib/${LIBZMQ_FILE}")
|
||||
lipo_input+=("${BUILD_DIR}/iphoneos-arm64/lib/${LIBZMQ_FILE}")
|
||||
lipo_input+=("${BUILD_DIR}/iphonesimulator-i386/lib/${LIBZMQ_FILE}")
|
||||
lipo_input+=("${BUILD_DIR}/iphonesimulator-x86_64/lib/${LIBZMQ_FILE}")
|
||||
|
||||
mkdir -p "${BUILD_DIR}/universal-ios/"
|
||||
|
||||
lipo -create ${lipo_input[*]} -output "${BUILD_DIR}/universal-ios/${LIBZMQ_FILE}"
|
||||
|
||||
|
||||
|
||||
echo "Compiling libzmq for macosx"
|
||||
echo "==========================="
|
||||
|
||||
echo "Compiling libzmq for i386..."
|
||||
setenv_osx "i386" "macosx" "i386-apple-darwin"
|
||||
compile_zmq
|
||||
|
||||
echo "Compiling libzmq for x86_64..."
|
||||
setenv_osx "x86_64" "macosx" "x86_64-apple-darwin"
|
||||
compile_zmq
|
||||
|
||||
|
||||
echo "Creating fat static library for macosx"
|
||||
|
||||
lipo_input=( )
|
||||
lipo_input+=("${BUILD_DIR}/macosx-i386/lib/${LIBZMQ_FILE}")
|
||||
lipo_input+=("${BUILD_DIR}/macosx-x86_64/lib/${LIBZMQ_FILE}")
|
||||
|
||||
mkdir -p "${BUILD_DIR}/universal-osx/"
|
||||
|
||||
lipo -create ${lipo_input[*]} -output "${BUILD_DIR}/universal-osx/${LIBZMQ_FILE}"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
echo "Copying libzmq headers into universal library..."
|
||||
|
||||
mkdir -p "${BUILD_DIR}/universal"
|
||||
cp -R "${LIBZMQ_DIR}/include" "${BUILD_DIR}/universal"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
echo "Tidying up..."
|
||||
rm -rf builds
|
||||
rm -rf config.*
|
||||
rm -rf dependencies
|
||||
rm -rf doc
|
||||
rm -rf foreign
|
||||
rm -f libtool
|
||||
rm -f Makefile
|
||||
rm -rf perf
|
||||
rm -rf src
|
||||
rm -rf tests
|
||||
rm -rf packaging
|
||||
rm -rf tools
|
||||
|
||||
|
||||
cp ${DIR}/build/universal/include/zmq.h ${DIR}
|
||||
cp ${DIR}/build/universal/include/zmq_utils.h ${DIR}
|
||||
cp ${DIR}/build/universal-ios/libzmq.a ${DIR}/libzmq-ios.a
|
||||
cp ${DIR}/build/universal-osx/libzmq.a ${DIR}/libzmq-osx.a
|
||||
|
|
@ -20,6 +20,8 @@ SwiftZMQ
|
|||
- [x] Poller
|
||||
- [x] Proxy
|
||||
|
||||
This fork clones the libzmq repo and compiles it statically into the SwiftZMQ framework, also it adds the iOS framework target
|
||||
|
||||
##Example
|
||||
|
||||
```swift
|
||||
|
|
|
@ -7,15 +7,30 @@
|
|||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
B00ED9EB1BD8A2CD00BBBBAE /* SwiftZMQ.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B00ED9E01BD8A2CD00BBBBAE /* SwiftZMQ.framework */; settings = {ASSET_TAGS = (); }; };
|
||||
B00EDA421BDDD1FB00BBBBAE /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA361BDDD1FB00BBBBAE /* Context.swift */; settings = {ASSET_TAGS = (); }; };
|
||||
B00EDA431BDDD1FB00BBBBAE /* CURVE.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA371BDDD1FB00BBBBAE /* CURVE.swift */; settings = {ASSET_TAGS = (); }; };
|
||||
B00EDA441BDDD1FB00BBBBAE /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA381BDDD1FB00BBBBAE /* Error.swift */; settings = {ASSET_TAGS = (); }; };
|
||||
B00EDA461BDDD1FB00BBBBAE /* Message.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3A1BDDD1FB00BBBBAE /* Message.swift */; settings = {ASSET_TAGS = (); }; };
|
||||
B00EDA471BDDD1FB00BBBBAE /* Poller.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3B1BDDD1FB00BBBBAE /* Poller.swift */; settings = {ASSET_TAGS = (); }; };
|
||||
B00EDA481BDDD1FB00BBBBAE /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3C1BDDD1FB00BBBBAE /* Proxy.swift */; settings = {ASSET_TAGS = (); }; };
|
||||
B00EDA491BDDD1FB00BBBBAE /* Socket.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3D1BDDD1FB00BBBBAE /* Socket.swift */; settings = {ASSET_TAGS = (); }; };
|
||||
B00EDA4D1BDDD27000BBBBAE /* ZMQTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA411BDDD1FB00BBBBAE /* ZMQTests.swift */; settings = {ASSET_TAGS = (); }; };
|
||||
53045E9A1C50914D0037E4C1 /* libzmq-osx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 53045E981C50914D0037E4C1 /* libzmq-osx.a */; };
|
||||
53045E9B1C5091580037E4C1 /* libzmq-ios.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 53045E971C50914D0037E4C1 /* libzmq-ios.a */; };
|
||||
539073F51C50484E00E8F9C6 /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA361BDDD1FB00BBBBAE /* Context.swift */; };
|
||||
539073F61C50484E00E8F9C6 /* Socket.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3D1BDDD1FB00BBBBAE /* Socket.swift */; };
|
||||
539073F71C50484E00E8F9C6 /* Message.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3A1BDDD1FB00BBBBAE /* Message.swift */; };
|
||||
539073F81C50484E00E8F9C6 /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA381BDDD1FB00BBBBAE /* Error.swift */; };
|
||||
539073F91C50484E00E8F9C6 /* CURVE.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA371BDDD1FB00BBBBAE /* CURVE.swift */; };
|
||||
539073FA1C50484E00E8F9C6 /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3C1BDDD1FB00BBBBAE /* Proxy.swift */; };
|
||||
539073FB1C50484E00E8F9C6 /* Poller.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3B1BDDD1FB00BBBBAE /* Poller.swift */; };
|
||||
539073FD1C50484E00E8F9C6 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 53C76A2F1C4EE1FE00F0357B /* libc++.tbd */; };
|
||||
539074001C50484E00E8F9C6 /* zmq_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 53C76A2A1C4EDFD500F0357B /* zmq_utils.h */; };
|
||||
539074011C50484E00E8F9C6 /* zmq.h in Headers */ = {isa = PBXBuildFile; fileRef = 53C76A2B1C4EDFD500F0357B /* zmq.h */; };
|
||||
53C76A2D1C4EDFD500F0357B /* zmq_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 53C76A2A1C4EDFD500F0357B /* zmq_utils.h */; };
|
||||
53C76A2E1C4EDFD500F0357B /* zmq.h in Headers */ = {isa = PBXBuildFile; fileRef = 53C76A2B1C4EDFD500F0357B /* zmq.h */; };
|
||||
53C76A301C4EE1FE00F0357B /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 53C76A2F1C4EE1FE00F0357B /* libc++.tbd */; };
|
||||
B00ED9EB1BD8A2CD00BBBBAE /* SwiftZMQ.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B00ED9E01BD8A2CD00BBBBAE /* SwiftZMQ.framework */; };
|
||||
B00EDA421BDDD1FB00BBBBAE /* Context.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA361BDDD1FB00BBBBAE /* Context.swift */; };
|
||||
B00EDA431BDDD1FB00BBBBAE /* CURVE.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA371BDDD1FB00BBBBAE /* CURVE.swift */; };
|
||||
B00EDA441BDDD1FB00BBBBAE /* Error.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA381BDDD1FB00BBBBAE /* Error.swift */; };
|
||||
B00EDA461BDDD1FB00BBBBAE /* Message.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3A1BDDD1FB00BBBBAE /* Message.swift */; };
|
||||
B00EDA471BDDD1FB00BBBBAE /* Poller.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3B1BDDD1FB00BBBBAE /* Poller.swift */; };
|
||||
B00EDA481BDDD1FB00BBBBAE /* Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3C1BDDD1FB00BBBBAE /* Proxy.swift */; };
|
||||
B00EDA491BDDD1FB00BBBBAE /* Socket.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA3D1BDDD1FB00BBBBAE /* Socket.swift */; };
|
||||
B00EDA4D1BDDD27000BBBBAE /* ZMQTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B00EDA411BDDD1FB00BBBBAE /* ZMQTests.swift */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
|
@ -29,6 +44,13 @@
|
|||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
53045E971C50914D0037E4C1 /* libzmq-ios.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libzmq-ios.a"; path = "Dependencies/libzmq/libzmq-ios.a"; sourceTree = SOURCE_ROOT; };
|
||||
53045E981C50914D0037E4C1 /* libzmq-osx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libzmq-osx.a"; path = "Dependencies/libzmq/libzmq-osx.a"; sourceTree = SOURCE_ROOT; };
|
||||
539074071C50484E00E8F9C6 /* SwiftZMQ_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftZMQ_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
53C2A3BA1C4DE5B2008600D1 /* pull_compile_libzmq_git.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = pull_compile_libzmq_git.sh; sourceTree = "<group>"; };
|
||||
53C76A2A1C4EDFD500F0357B /* zmq_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zmq_utils.h; sourceTree = "<group>"; };
|
||||
53C76A2B1C4EDFD500F0357B /* zmq.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zmq.h; sourceTree = "<group>"; };
|
||||
53C76A2F1C4EE1FE00F0357B /* libc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libc++.tbd"; path = "usr/lib/libc++.tbd"; sourceTree = SDKROOT; };
|
||||
B00ED9E01BD8A2CD00BBBBAE /* SwiftZMQ.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftZMQ.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B00ED9EA1BD8A2CD00BBBBAE /* SwiftZMQTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SwiftZMQTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
B00EDA021BD8A34B00BBBBAE /* module.map */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = "sourcecode.module-map"; path = module.map; sourceTree = "<group>"; };
|
||||
|
@ -46,10 +68,21 @@
|
|||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
539073FC1C50484E00E8F9C6 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
539073FD1C50484E00E8F9C6 /* libc++.tbd in Frameworks */,
|
||||
53045E9B1C5091580037E4C1 /* libzmq-ios.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
B00ED9DC1BD8A2CD00BBBBAE /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
53C76A301C4EE1FE00F0357B /* libc++.tbd in Frameworks */,
|
||||
53045E9A1C50914D0037E4C1 /* libzmq-osx.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
@ -64,9 +97,23 @@
|
|||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
53C2A3B91C4DE5B2008600D1 /* libzmq */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
53045E971C50914D0037E4C1 /* libzmq-ios.a */,
|
||||
53045E981C50914D0037E4C1 /* libzmq-osx.a */,
|
||||
53C76A2A1C4EDFD500F0357B /* zmq_utils.h */,
|
||||
53C76A2B1C4EDFD500F0357B /* zmq.h */,
|
||||
53C2A3BA1C4DE5B2008600D1 /* pull_compile_libzmq_git.sh */,
|
||||
);
|
||||
name = libzmq;
|
||||
path = dependencies/libzmq;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
B00ED9D61BD8A2CD00BBBBAE = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
53C76A2F1C4EE1FE00F0357B /* libc++.tbd */,
|
||||
B00ED9FA1BD8A2D900BBBBAE /* Dependencies */,
|
||||
B00EDA351BDDD1FA00BBBBAE /* SwiftZMQ */,
|
||||
B00EDA3F1BDDD1FB00BBBBAE /* SwiftZMQTests */,
|
||||
|
@ -79,6 +126,7 @@
|
|||
children = (
|
||||
B00ED9E01BD8A2CD00BBBBAE /* SwiftZMQ.framework */,
|
||||
B00ED9EA1BD8A2CD00BBBBAE /* SwiftZMQTests.xctest */,
|
||||
539074071C50484E00E8F9C6 /* SwiftZMQ_iOS.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
|
@ -86,6 +134,7 @@
|
|||
B00ED9FA1BD8A2D900BBBBAE /* Dependencies */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
53C2A3B91C4DE5B2008600D1 /* libzmq */,
|
||||
B00EDA001BD8A34B00BBBBAE /* ZeroMQ */,
|
||||
);
|
||||
name = Dependencies;
|
||||
|
@ -128,20 +177,51 @@
|
|||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
539073FF1C50484E00E8F9C6 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
539074001C50484E00E8F9C6 /* zmq_utils.h in Headers */,
|
||||
539074011C50484E00E8F9C6 /* zmq.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
B00ED9DD1BD8A2CD00BBBBAE /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
53C76A2D1C4EDFD500F0357B /* zmq_utils.h in Headers */,
|
||||
53C76A2E1C4EDFD500F0357B /* zmq.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
539073F21C50484E00E8F9C6 /* SwiftZMQ_iOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 539074041C50484E00E8F9C6 /* Build configuration list for PBXNativeTarget "SwiftZMQ_iOS" */;
|
||||
buildPhases = (
|
||||
539073F31C50484E00E8F9C6 /* Run Script */,
|
||||
539073F41C50484E00E8F9C6 /* Sources */,
|
||||
539073FC1C50484E00E8F9C6 /* Frameworks */,
|
||||
539073FF1C50484E00E8F9C6 /* Headers */,
|
||||
539074021C50484E00E8F9C6 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = SwiftZMQ_iOS;
|
||||
productName = swiftzmq;
|
||||
productReference = 539074071C50484E00E8F9C6 /* SwiftZMQ_iOS.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
B00ED9DF1BD8A2CD00BBBBAE /* SwiftZMQ */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = B00ED9F41BD8A2CD00BBBBAE /* Build configuration list for PBXNativeTarget "SwiftZMQ" */;
|
||||
buildPhases = (
|
||||
53C2A3BC1C4DE652008600D1 /* Run Script */,
|
||||
B00ED9DB1BD8A2CD00BBBBAE /* Sources */,
|
||||
B00ED9DC1BD8A2CD00BBBBAE /* Frameworks */,
|
||||
B00ED9DD1BD8A2CD00BBBBAE /* Headers */,
|
||||
|
@ -181,7 +261,7 @@
|
|||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0700;
|
||||
LastUpgradeCheck = 0700;
|
||||
LastUpgradeCheck = 0720;
|
||||
ORGANIZATIONNAME = Zewo;
|
||||
TargetAttributes = {
|
||||
B00ED9DF1BD8A2CD00BBBBAE = {
|
||||
|
@ -206,11 +286,19 @@
|
|||
targets = (
|
||||
B00ED9DF1BD8A2CD00BBBBAE /* SwiftZMQ */,
|
||||
B00ED9E91BD8A2CD00BBBBAE /* SwiftZMQTests */,
|
||||
539073F21C50484E00E8F9C6 /* SwiftZMQ_iOS */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
539074021C50484E00E8F9C6 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
B00ED9DE1BD8A2CD00BBBBAE /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -227,7 +315,52 @@
|
|||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
539073F31C50484E00E8F9C6 /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Run Script";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "${PROJECT_DIR}/dependencies/libzmq/pull_compile_libzmq_git.sh";
|
||||
};
|
||||
53C2A3BC1C4DE652008600D1 /* Run Script */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Run Script";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "${PROJECT_DIR}/dependencies/libzmq/pull_compile_libzmq_git.sh\n\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
539073F41C50484E00E8F9C6 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
539073F51C50484E00E8F9C6 /* Context.swift in Sources */,
|
||||
539073F61C50484E00E8F9C6 /* Socket.swift in Sources */,
|
||||
539073F71C50484E00E8F9C6 /* Message.swift in Sources */,
|
||||
539073F81C50484E00E8F9C6 /* Error.swift in Sources */,
|
||||
539073F91C50484E00E8F9C6 /* CURVE.swift in Sources */,
|
||||
539073FA1C50484E00E8F9C6 /* Proxy.swift in Sources */,
|
||||
539073FB1C50484E00E8F9C6 /* Poller.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
B00ED9DB1BD8A2CD00BBBBAE /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
|
@ -261,6 +394,75 @@
|
|||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
539074051C50484E00E8F9C6 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_VERSION = A;
|
||||
INFOPLIST_FILE = SwiftZMQ/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)",
|
||||
"$(PROJECT_DIR)/Dependencies/ZeroMQ",
|
||||
"$(PROJECT_DIR)/dependencies/libzmq",
|
||||
"$(PROJECT_DIR)/Dependencies/libzmq",
|
||||
);
|
||||
OTHER_CFLAGS = "";
|
||||
OTHER_LDFLAGS = "-L/usr/local/lib ";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.zewo.SwiftZMQ-iOS";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = iphoneos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_INCLUDE_PATHS = "$(SRCROOT)/Dependencies";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
539074061C50484E00E8F9C6 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||
ENABLE_BITCODE = NO;
|
||||
FRAMEWORK_VERSION = A;
|
||||
INFOPLIST_FILE = SwiftZMQ/Info.plist;
|
||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)",
|
||||
"$(PROJECT_DIR)/Dependencies/ZeroMQ",
|
||||
"$(PROJECT_DIR)/dependencies/libzmq",
|
||||
"$(PROJECT_DIR)/Dependencies/libzmq",
|
||||
);
|
||||
OTHER_CFLAGS = "";
|
||||
OTHER_LDFLAGS = "-L/usr/local/lib ";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.zewo.SwiftZMQ-iOS";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = iphoneos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_INCLUDE_PATHS = "$(SRCROOT)/Dependencies";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
B00ED9F21BD8A2CD00BBBBAE /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
|
@ -298,12 +500,11 @@
|
|||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = /usr/local/include;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LIBRARY_SEARCH_PATHS = /usr/local/lib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_LDFLAGS = "-lzmq";
|
||||
SDKROOT = macosx;
|
||||
OTHER_LDFLAGS = "";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
|
@ -341,11 +542,11 @@
|
|||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = /usr/local/include;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
LIBRARY_SEARCH_PATHS = /usr/local/lib;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
OTHER_LDFLAGS = "-lzmq";
|
||||
SDKROOT = macosx;
|
||||
OTHER_LDFLAGS = "";
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
VERSION_INFO_PREFIX = "";
|
||||
};
|
||||
|
@ -354,6 +555,7 @@
|
|||
B00ED9F51BD8A2CD00BBBBAE /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
|
@ -368,14 +570,15 @@
|
|||
"$(inherited)",
|
||||
"$(PROJECT_DIR)",
|
||||
"$(PROJECT_DIR)/Dependencies/ZeroMQ",
|
||||
"$(PROJECT_DIR)/dependencies/libzmq",
|
||||
"$(PROJECT_DIR)/Dependencies/libzmq",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.9;
|
||||
OTHER_CFLAGS = "";
|
||||
OTHER_LDFLAGS = (
|
||||
"-L/usr/local/lib",
|
||||
"-lzmq",
|
||||
);
|
||||
OTHER_LDFLAGS = "-L/usr/local/lib";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.zewo.SwiftZMQ;
|
||||
PRODUCT_NAME = SwiftZMQ;
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_INCLUDE_PATHS = "$(SRCROOT)/Dependencies";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
|
@ -385,6 +588,7 @@
|
|||
B00ED9F61BD8A2CD00BBBBAE /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
|
@ -399,14 +603,15 @@
|
|||
"$(inherited)",
|
||||
"$(PROJECT_DIR)",
|
||||
"$(PROJECT_DIR)/Dependencies/ZeroMQ",
|
||||
"$(PROJECT_DIR)/dependencies/libzmq",
|
||||
"$(PROJECT_DIR)/Dependencies/libzmq",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.9;
|
||||
OTHER_CFLAGS = "";
|
||||
OTHER_LDFLAGS = (
|
||||
"-L/usr/local/lib",
|
||||
"-lzmq",
|
||||
);
|
||||
OTHER_LDFLAGS = "-L/usr/local/lib";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.zewo.SwiftZMQ;
|
||||
PRODUCT_NAME = SwiftZMQ;
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_INCLUDE_PATHS = "$(SRCROOT)/Dependencies";
|
||||
};
|
||||
|
@ -418,6 +623,7 @@
|
|||
COMBINE_HIDPI_IMAGES = YES;
|
||||
INFOPLIST_FILE = SwiftZMQ/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
|
||||
OTHER_LDFLAGS = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.zewo.SwiftZMQTests;
|
||||
PRODUCT_NAME = SwiftZMQTests;
|
||||
};
|
||||
|
@ -429,6 +635,7 @@
|
|||
COMBINE_HIDPI_IMAGES = YES;
|
||||
INFOPLIST_FILE = SwiftZMQ/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
|
||||
OTHER_LDFLAGS = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.zewo.SwiftZMQTests;
|
||||
PRODUCT_NAME = SwiftZMQTests;
|
||||
};
|
||||
|
@ -437,6 +644,15 @@
|
|||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
539074041C50484E00E8F9C6 /* Build configuration list for PBXNativeTarget "SwiftZMQ_iOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
539074051C50484E00E8F9C6 /* Debug */,
|
||||
539074061C50484E00E8F9C6 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
B00ED9DA1BD8A2CD00BBBBAE /* Build configuration list for PBXProject "SwiftZMQ" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0700"
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0720"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "539073F21C50484E00E8F9C6"
|
||||
BuildableName = "SwiftZMQ_iOS.framework"
|
||||
BlueprintName = "SwiftZMQ_iOS"
|
||||
ReferencedContainer = "container:SwiftZMQ.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "539073F21C50484E00E8F9C6"
|
||||
BuildableName = "SwiftZMQ_iOS.framework"
|
||||
BlueprintName = "SwiftZMQ_iOS"
|
||||
ReferencedContainer = "container:SwiftZMQ.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "539073F21C50484E00E8F9C6"
|
||||
BuildableName = "SwiftZMQ_iOS.framework"
|
||||
BlueprintName = "SwiftZMQ_iOS"
|
||||
ReferencedContainer = "container:SwiftZMQ.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
|
@ -37,6 +37,8 @@ public enum SocketType {
|
|||
case Pull
|
||||
case Pair
|
||||
case Stream
|
||||
case Server
|
||||
case Client
|
||||
}
|
||||
|
||||
extension SocketType {
|
||||
|
@ -54,6 +56,9 @@ extension SocketType {
|
|||
case ZMQ_PULL: self = Pull
|
||||
case ZMQ_PAIR: self = Pair
|
||||
case ZMQ_STREAM: self = Stream
|
||||
case ZMQ_SERVER: self = Server
|
||||
case ZMQ_CLIENT: self = Client
|
||||
|
||||
default: return nil
|
||||
}
|
||||
}
|
||||
|
@ -74,6 +79,8 @@ extension SocketType {
|
|||
case .Pull: return ZMQ_PULL
|
||||
case .Pair: return ZMQ_PAIR
|
||||
case .Stream: return ZMQ_STREAM
|
||||
case .Server: return ZMQ_SERVER
|
||||
case .Client: return ZMQ_CLIENT
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue