Curl for ios 的編譯方法及指令碼

來源:互聯網
上載者:User

 https://github.com/miyabichan/cURL-SSL-for-iOS

#!/bin/sh        #  Automatic build script for libcurl        #  for iPhoneOS and iPhoneSimulator        #        #  Created by Miyabi Kazamatsuri on 19.04.11.        #  Copyright 2011 Miyabi Kazamatsuri. All rights reserved.        #        #  Licensed under the Apache License, Version 2.0 (the "License");        #  you may not use this file except in compliance with the License.        #  You may obtain a copy of the License at        #        #  http://www.apache.org/licenses/LICENSE-2.0        #        #  Unless required by applicable law or agreed to in writing, software        #  distributed under the License is distributed on an "AS IS" BASIS,        #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.        #  See the License for the specific language governing permissions and        #  limitations under the License.        #        ###########################################################################        #  Change values here  #        #  #        VERSION="7.21.5"  #        SDKVERSION="5.1"  #        OPENSSL="${PWD}/../OpenSSL"  #        #  #        ###########################################################################        #  #        # Don't change anything under this line!  #        #  #        ###########################################################################        CURRENTPATH=`pwd`        DEVELOPER=`xcode-select --print-path`        set -e        if [ ! -e curl-${VERSION}.tar.gz ]; then            echo "Downloading curl-${VERSION}.tar.gz"            curl -O http://curl.haxx.se/download/curl-${VERSION}.tar.gz        else            echo "Using curl-${VERSION}.tar.gz"        fi        if [ -d  ${CURRENTPATH}/src ]; then            rm -rf ${CURRENTPATH}/src        fi        if [ -d ${CURRENTPATH}/bin ]; then            rm -rf ${CURRENTPATH}/bin        fi        mkdir -p "${CURRENTPATH}/src"        tar zxf curl-${VERSION}.tar.gz -C "${CURRENTPATH}/src"        cd "${CURRENTPATH}/src/curl-${VERSION}"        ############        # iPhone Simulator        ARCH="i386"        PLATFORM="iPhoneSimulator"        echo "Building libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}"        echo "Please stand by..."        export CC="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/usr/bin/gcc"        export CFLAGS="-arch ${ARCH} -isysroot ${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk -I${OPENSSL}/include -L${OPENSSL}"        mkdir -p "${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}.sdk"        LOG="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}.sdk/build-libcurl-${VERSION}.log"        echo "Configure libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}"        ./configure -prefix=${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}.sdk -disable-shared -with-random=/dev/urandom --with-ssl > "${LOG}" 2>&1        echo "Make libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}"        make >> "${LOG}" 2>&1        make install >> "${LOG}" 2>&1        make clean >> "${LOG}" 2>&1        echo "Building libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}, finished"        #############        #############        # iPhoneOS armv6        ARCH="armv6"        PLATFORM="iPhoneOS"        echo "Building libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}"        echo "Please stand by..."        export CC="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/usr/bin/gcc"        export CFLAGS="-arch ${ARCH} -isysroot ${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk -I${OPENSSL}/include -L${OPENSSL}"        mkdir -p "${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk"        LOG="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/build-libcurl-${VERSION}.log"        echo "Configure libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}"        ./configure -prefix=${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk --host=${ARCH}-apple-darwin --disable-shared -with-random=/dev/urandom --with-ssl > "${LOG}" 2>&1        echo "Make libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}"        make >> "${LOG}" 2>&1        make install >> "${LOG}" 2>&1        make clean >> "${LOG}" 2>&1        echo "Building libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}, finished"        #############        #############        # iPhoneOS armv7        ARCH="armv7"        PLATFORM="iPhoneOS"        echo "Building libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}"        echo "Please stand by..."        export CC="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/usr/bin/gcc"        export CFLAGS="-arch ${ARCH} -isysroot ${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk -I${OPENSSL}/include -L${OPENSSL}"        mkdir -p "${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk"        LOG="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/build-libcurl-${VERSION}.log"        echo "Configure libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}"        ./configure -prefix=${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk --host=${ARCH}-apple-darwin --disable-shared -with-random=/dev/urandom --with-ssl > "${LOG}" 2>&1        echo "Make libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}"        make >> "${LOG}" 2>&1        make install >> "${LOG}" 2>&1        make clean >> "${LOG}" 2>&1        echo "Building libcurl for ${PLATFORM} ${SDKVERSION} ${ARCH}, finished"        #############        #############        # Universal Library        echo "Build universal library..."        lipo -create ${CURRENTPATH}/bin/iPhoneSimulator${SDKVERSION}.sdk/lib/libcurl.a ${CURRENTPATH}/bin/iPhoneOS${SDKVERSION}-armv6.sdk/lib/libcurl.a ${CURRENTPATH}/bin/iPhoneOS${SDKVERSION}-armv7.sdk/lib/libcurl.a -output ${CURRENTPATH}/libcurl.a        mkdir -p ${CURRENTPATH}/include        cp -R ${CURRENTPATH}/bin/iPhoneSimulator${SDKVERSION}.sdk/include/curl ${CURRENTPATH}/include/        echo "Building all steps done."        echo "Cleaning up..."        rm -rf ${CURRENTPATH}/src        rm -rf ${CURRENTPATH}/bin        echo "Done."    
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.