From b5f9ec414e4740fc47d5daa2ce83c07f0f240db9 Mon Sep 17 00:00:00 2001 From: Dmitry Pronin Date: Tue, 31 May 2016 11:05:40 +0300 Subject: [PATCH] New: bitcode support --- lib/curl_builder.rb | 3 ++- lib/curl_builder/compiler.rb | 6 +++++- lib/curl_builder/parser.rb | 6 ++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/curl_builder.rb b/lib/curl_builder.rb index ec9aa1a..d91aae8 100644 --- a/lib/curl_builder.rb +++ b/lib/curl_builder.rb @@ -60,10 +60,11 @@ module CurlBuilder verbose: false, debug_symbols: false, curldebug: false, - sdk_version: "9.2", + sdk_version: "9.3", osx_sdk_version: "10.11", libcurl_version: "7.47.1", architectures: %w(i386 armv7 armv7s arm64 x86_64), + bitcode: true, xcode_home: "/Applications/Xcode.app/Contents/Developer", run_on_dir: Dir::pwd, work_dir: "build", diff --git a/lib/curl_builder/compiler.rb b/lib/curl_builder/compiler.rb index 3915cfd..0ea2f22 100644 --- a/lib/curl_builder/compiler.rb +++ b/lib/curl_builder/compiler.rb @@ -102,12 +102,16 @@ def compilation_flags_for(platform, architecture) min_version = "-mmacosx-version-min=10.7" end + if setup(:bitcode) + embed_bitcode = "-fembed-bitcode" + end + sdk_version = sdk_version_for platform sdk = "#{setup(:xcode_home)}/Platforms/#{platform}.platform/Developer/SDKs/#{platform}#{sdk_version}.sdk" { ldflags: "-arch #{architecture} -pipe -isysroot #{sdk}", - cflags: "-arch #{architecture} -pipe -isysroot #{sdk} #{min_version}" + cflags: "-arch #{architecture} -pipe -isysroot #{sdk} #{min_version} #{embed_bitcode}" } end diff --git a/lib/curl_builder/parser.rb b/lib/curl_builder/parser.rb index 137dc1a..5921f92 100644 --- a/lib/curl_builder/parser.rb +++ b/lib/curl_builder/parser.rb @@ -67,6 +67,12 @@ def parse(args) setup[:architectures] = CurlBuilder.filter_valid_archs(archs) end + parser.on("--[no-]bitcode", + "Use BITCODE flag when building", + " Defaults to #{param(setup[:bitcode])}") do |bitcode| + setup[:bitcode] = bitcode + end + parser.on("--enable-protocols A,B,C", Array, "Enables a list of protocols",