OLMKit: Make the project build
Make OLMKit CocoaPods expose the obj-c wrapper of libolm
Showing
- .gitignore 22 additions, 1 deletion.gitignore
- OLMKit.podspec 55 additions, 0 deletionsOLMKit.podspec
- lib/crypto-algorithms/aes.c 1 addition, 0 deletionslib/crypto-algorithms/aes.c
- lib/crypto-algorithms/sha256.c 1 addition, 0 deletionslib/crypto-algorithms/sha256.c
- olm.podspec 0 additions, 98 deletionsolm.podspec
- xcode/OLMKit.xcodeproj/project.pbxproj 522 additions, 0 deletionsxcode/OLMKit.xcodeproj/project.pbxproj
- xcode/OLMKit/OLMAccount_Private.h 2 additions, 2 deletionsxcode/OLMKit/OLMAccount_Private.h
- xcode/OLMKit/OLMKit.h 4 additions, 4 deletionsxcode/OLMKit/OLMKit.h
- xcode/OLMKit/OLMSession.m 1 addition, 1 deletionxcode/OLMKit/OLMSession.m
- xcode/OLMKit/OLMSession_Private.h 2 additions, 2 deletionsxcode/OLMKit/OLMSession_Private.h
- xcode/OLMKitTests/Info.plist 0 additions, 2 deletionsxcode/OLMKitTests/Info.plist
- xcode/OLMKitTests/OLMKitTests.m 1 addition, 1 deletionxcode/OLMKitTests/OLMKitTests.m
- xcode/Podfile 6 additions, 5 deletionsxcode/Podfile
- xcode/Podfile.lock 12 additions, 6 deletionsxcode/Podfile.lock
- xcode/README.rst 22 additions, 0 deletionsxcode/README.rst
- xcode/olm.xcodeproj/xcshareddata/xcschemes/OLMKit.xcscheme 0 additions, 99 deletionsxcode/olm.xcodeproj/xcshareddata/xcschemes/OLMKit.xcscheme
- xcode/olm.xcodeproj/xcshareddata/xcschemes/OLMKitTests.xcscheme 0 additions, 90 deletions...olm.xcodeproj/xcshareddata/xcschemes/OLMKitTests.xcscheme
- xcode/olm.xcworkspace/contents.xcworkspacedata 0 additions, 10 deletionsxcode/olm.xcworkspace/contents.xcworkspacedata
OLMKit.podspec
0 → 100644
Pod::Spec.new do |s| | ||
# The libolm version | ||
MAJOR = 1 | ||
MINOR = 3 | ||
PATCH = 0 | ||
s.name = "OLMKit" | ||
s.version = "#{MAJOR}.#{MINOR}.#{PATCH}" | ||
s.summary = "An Objective-C wrapper of olm (http://matrix.org/git/olm)" | ||
s.description = <<-DESC | ||
olm is an implementation of the Double Ratchet cryptographic ratchet in C++ | ||
DESC | ||
s.homepage = "http://matrix.org/git/olm" | ||
s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" } | ||
s.authors = { "Chris Ballinger" => "chrisballinger@gmail.com", | ||
"matrix.org" => "support@matrix.org" } | ||
s.platform = :ios, "5.0" | ||
# Expose the Objective-C wrapper API of libolm | ||
s.public_header_files = "xcode/OLMKit/*.h" | ||
s.source = { | ||
:git => "https://matrix.org/git/olm.git", | ||
:tag => s.version.to_s | ||
} | ||
s.source_files = "xcode/OLMKit/*.{h,m}", "include/**/*.{h,hh}", "src/*.{c,cpp}", "lib/ed25519/**/*.{h,c}", "lib/crypto-algorithms/sha256.c", "lib/crypto-algorithms/aes.c", "lib/curve25519-donna/curve25519-donna.c" | ||
s.library = "c++" | ||
# Use the same compiler options for C and C++ as olm/Makefile | ||
s.compiler_flags = "-g -O3 -DOLMLIB_VERSION_MAJOR=#{MAJOR} -DOLMLIB_VERSION_MINOR=#{MINOR} -DOLMLIB_VERSION_PATCH=#{PATCH}" | ||
s.xcconfig = { | ||
'USER_HEADER_SEARCH_PATHS' =>"#{File.join(File.dirname(__FILE__), 'include')} #{File.join(File.dirname(__FILE__), 'lib')}" | ||
} | ||
s.subspec 'olmc' do |olmc| | ||
olmc.source_files = "src/*.{c}", "lib/ed25519/**/*.{h,c}", "lib/crypto-algorithms/sha256.c", "lib/crypto-algorithms/aes.c", "lib/curve25519-donna/curve25519-donna.c" | ||
olmc.compiler_flags = ' -std=c99 -fPIC' | ||
end | ||
s.subspec 'olmcpp' do |olmcpp| | ||
olmcpp.source_files = "src/*.{cpp}" | ||
olmcpp.compiler_flags = ' -std=c++11 -fPIC' | ||
end | ||
end |
olm.podspec
deleted
100644 → 0
# | ||
# Be sure to run `pod spec lint olm.podspec' to ensure this is a | ||
# valid spec and to remove all comments including this before submitting the spec. | ||
# | ||
# To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html | ||
# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ | ||
# | ||
Pod::Spec.new do |s| | ||
# ――― Spec Metadata ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # | ||
# | ||
# These will help people to find your library, and whilst it | ||
# can feel like a chore to fill in it's definitely to your advantage. The | ||
# summary should be tweet-length, and the description more in depth. | ||
# | ||
s.name = "olm" | ||
s.version = "0.1.0" | ||
s.summary = "olm" | ||
# This description is used to generate tags and improve search results. | ||
# * Think: What does it do? Why did you write it? What is the focus? | ||
# * Try to keep it short, snappy and to the point. | ||
# * Write the description between the DESC delimiters below. | ||
# * Finally, don't worry about the indent, CocoaPods strips it! | ||
s.description = <<-DESC | ||
DESC | ||
s.homepage = "http://EXAMPLE/olm" | ||
# s.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif" | ||
# ――― Spec License ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # | ||
# | ||
# Licensing your code is important. See http://choosealicense.com for more info. | ||
# CocoaPods will detect a license file if there is a named LICENSE* | ||
# Popular ones are 'MIT', 'BSD' and 'Apache License, Version 2.0'. | ||
# | ||
s.license = "MIT (example)" | ||
# s.license = { :type => "MIT", :file => "FILE_LICENSE" } | ||
# ――― Author Metadata ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # | ||
# | ||
# Specify the authors of the library, with email addresses. Email addresses | ||
# of the authors are extracted from the SCM log. E.g. $ git log. CocoaPods also | ||
# accepts just a name if you'd rather not provide an email address. | ||
# | ||
# Specify a social_media_url where others can refer to, for example a twitter | ||
# profile URL. | ||
# | ||
s.author = { "Chris Ballinger" => "chrisballinger@gmail.com" } | ||
# Or just: s.author = "Chris Ballinger" | ||
# s.authors = { "Chris Ballinger" => "chrisballinger@gmail.com" } | ||
# s.social_media_url = "http://twitter.com/Chris Ballinger" | ||
# ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― # | ||
# | ||
# If this Pod runs only on iOS or OS X, then specify the platform and | ||
# the deployment target. You can optionally include the target after the platform. | ||
# | ||
# s.platform = :ios | ||
# s.platform = :ios, "5.0" | ||
# When using multiple platforms | ||
# s.ios.deployment_target = "5.0" | ||
# s.osx.deployment_target = "10.7" | ||
# s.watchos.deployment_target = "2.0" | ||
# s.tvos.deployment_target = "9.0" | ||
# ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # | ||
# | ||
# Specify the location from where the source should be retrieved. | ||
# Supports git, hg, bzr, svn and HTTP. | ||
# | ||
s.source = { :git => "http://EXAMPLE/olm.git", :tag => "0.0.1" } | ||
# ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # | ||
# | ||
# CocoaPods is smart about how it includes source code. For source files | ||
# giving a folder will include any swift, h, m, mm, c & cpp files. | ||
# For header files it will include any header in the folder. | ||
# Not including the public_header_files will make all headers public. | ||
# | ||
s.source_files = ["include/olm/*.hh","src/*.cpp"] | ||
s.public_header_files = "include/olm/olm.hh" | ||
s.library = "c++" | ||
s.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(PODS_ROOT)/olm/include $(PODS_ROOT)/olm/lib $(PODS_ROOT)/../../include $(PODS_ROOT)/../../lib' } | ||
end |
This diff is collapsed.
xcode/README.rst
0 → 100644
Please register or sign in to comment