diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c13c2f7..0e9956b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -128,6 +128,30 @@ jobs: with: path: ./${{ env.install_path }}/** name: ${{ env.install_path }} + ios-arm64-sim: + # The type of runner that the job will run on + runs-on: macos-12 + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + - name: Setup Xcode version + uses: maxim-lobanov/setup-xcode@v1 + id: setup-xcode + with: + xcode-version: '${{ env.GH_XCODE_VER }}' + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + - name: Build + shell: pwsh + run: ./build.ps1 -p ios -a arm64 -sdk simulator + - name: Upload + uses: actions/upload-artifact@v4 + with: + path: ./${{ env.install_path }}/** + name: ${{ env.install_path }} tvos: # The type of runner that the job will run on @@ -167,7 +191,30 @@ jobs: with: path: ./${{ env.install_path }}/** name: ${{ env.install_path }} - + tvos-arm64-sim: + # The type of runner that the job will run on + runs-on: macos-12 + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + - name: Setup Xcode version + uses: maxim-lobanov/setup-xcode@v1 + id: setup-xcode + with: + xcode-version: '${{ env.GH_XCODE_VER }}' + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + - name: Build + shell: pwsh + run: ./build.ps1 -p tvos -a arm64 -sdk simulator + - name: Upload + uses: actions/upload-artifact@v4 + with: + path: ./${{ env.install_path }}/** + name: ${{ env.install_path }} android: # The type of runner that the job will run on runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index e1e7e7e..16925a7 100644 --- a/.gitignore +++ b/.gitignore @@ -362,4 +362,6 @@ MigrationBackup/ /buildsrc_* /tools -/cache \ No newline at end of file +/cache + +fat_tmp diff --git a/1k/build.ps1 b/1k/build.ps1 index 5b9a6b1..ec22b37 100644 --- a/1k/build.ps1 +++ b/1k/build.ps1 @@ -230,8 +230,7 @@ $options = @{ xc = @() xb = @() j = -1 - sdk = $null - env = '' + sdk = '' dll = $false } @@ -1765,7 +1764,7 @@ if (!$setupOnly) { } elseif ($Global:is_ios) { $gn_buildargs_overrides += 'target_os=\"ios\"' - if ($TARGET_CPU -eq 'x64' -or $Global:is_ios_sim) { + if ($Global:is_ios_sim) { $gn_buildargs_overrides += 'target_environment=\"simulator\"' } } diff --git a/1k/config.h.in b/1k/config.h.in index d2b9f1d..c9a6a50 100644 --- a/1k/config.h.in +++ b/1k/config.h.in @@ -16,7 +16,11 @@ # include # if TARGET_IPHONE_SIMULATOR == 1 -# include "ios-x64/@INC_DIR@@CONF_HEADER@" +# if defined(__arm64__) +# include "ios-x64/@INC_DIR@@CONF_HEADER@" +# else +# include "ios-arm64-sim/@INC_DIR@@CONF_HEADER@" +# endif # elif TARGET_OS_IPHONE == 1 # if defined(__arm64__) # include "ios-arm64/@INC_DIR@@CONF_HEADER@" diff --git a/1k/dist.sh b/1k/dist.sh index 3011fcd..964c1d3 100755 --- a/1k/dist.sh +++ b/1k/dist.sh @@ -84,8 +84,11 @@ function dist_lib { mkdir -p ${DIST_DIR}/include/mac/${INC_DIR} # mkdir -p ${DIST_DIR}/include/ios-arm/${INC_DIR} mkdir -p ${DIST_DIR}/include/ios-arm64/${INC_DIR} + mkdir -p ${DIST_DIR}/include/ios-arm64-sim/${INC_DIR} mkdir -p ${DIST_DIR}/include/ios-x64/${INC_DIR} + # Note: tvos can share ios configuration safety for openssl mkdir -p ${DIST_DIR}/include/tvos-arm64/${INC_DIR} + mkdir -p ${DIST_DIR}/include/tvos-arm64-sim/${INC_DIR} mkdir -p ${DIST_DIR}/include/tvos-x64/${INC_DIR} mkdir -p ${DIST_DIR}/include/android-arm/${INC_DIR} mkdir -p ${DIST_DIR}/include/android-arm64/${INC_DIR} @@ -122,8 +125,10 @@ function dist_lib { cp install_osx_x64/${LIB_NAME}/include/${INC_DIR}${CONF_HEADER} ${DIST_DIR}/include/mac/${INC_DIR} # cp install_ios_armv7/${LIB_NAME}/include/${INC_DIR}${CONF_HEADER} ${DIST_DIR}/include/ios-arm/${INC_DIR} cp install_ios_arm64/${LIB_NAME}/include/${INC_DIR}${CONF_HEADER} ${DIST_DIR}/include/ios-arm64/${INC_DIR} + cp install_ios_arm64_sim/${LIB_NAME}/include/${INC_DIR}${CONF_HEADER} ${DIST_DIR}/include/ios-arm64-sim/${INC_DIR} cp install_ios_x64/${LIB_NAME}/include/${INC_DIR}${CONF_HEADER} ${DIST_DIR}/include/ios-x64/${INC_DIR} cp install_tvos_arm64/${LIB_NAME}/include/${INC_DIR}${CONF_HEADER} ${DIST_DIR}/include/tvos-arm64/${INC_DIR} + cp install_tvos_arm64_sim/${LIB_NAME}/include/${INC_DIR}${CONF_HEADER} ${DIST_DIR}/include/tvos-arm64-sim/${INC_DIR} cp install_tvos_x64/${LIB_NAME}/include/${INC_DIR}${CONF_HEADER} ${DIST_DIR}/include/tvos-x64/${INC_DIR} cp install_android_armv7/${LIB_NAME}/include/${INC_DIR}${CONF_HEADER} ${DIST_DIR}/include/android-arm/${INC_DIR} cp install_android_arm64/${LIB_NAME}/include/${INC_DIR}${CONF_HEADER} ${DIST_DIR}/include/android-arm64/${INC_DIR} @@ -182,18 +187,6 @@ function dist_lib { copy1k "install_wasm/${LIB_NAME}/lib/*.so" ${DIST_DIR}/lib/wasm/ fi - if [ $(($DIST_FLAGS & $DISTF_MAC)) != 0 ]; then - mkdir -p ${DIST_DIR}/lib/mac - fi - - if [ $(($DIST_FLAGS & $DISTF_IOS)) != 0 ]; then - mkdir -p ${DIST_DIR}/lib/ios - fi - - if [ $(($DIST_FLAGS & $DISTF_TVOS)) != 0 ]; then - mkdir -p ${DIST_DIR}/lib/tvos - fi - ver= branch= commits= @@ -233,6 +226,39 @@ function dist_lib { fi } +function create_fat { + LIB_NAME=$1 + LIB_FILE=$2 + # create fat lib for ios-sim + mkdir -p fat_tmp/${LIB_NAME}/lib/ios_sim/ + mkdir -p fat_tmp/${LIB_NAME}/lib/tvos_sim/ + mkdir -p fat_tmp/${LIB_NAME}/lib/mac/ + lipo -create install_ios_arm64_sim/${LIB_NAME}/lib/$LIB_FILE install_ios_x64/${LIB_NAME}/lib/$LIB_FILE -output fat_tmp/${LIB_NAME}/lib/ios_sim/$LIB_FILE + lipo -create install_tvos_arm64_sim/${LIB_NAME}/lib/$LIB_FILE install_tvos_x64/${LIB_NAME}/lib/$LIB_FILE -output fat_tmp/${LIB_NAME}/lib/tvos_sim/$LIB_FILE + lipo -create install_osx_arm64/${LIB_NAME}/lib/$LIB_FILE install_osx_x64/${LIB_NAME}/lib/$LIB_FILE -output fat_tmp/${LIB_NAME}/lib/mac/$LIB_FILE + + lipo -info fat_tmp/${LIB_NAME}/lib/ios_sim/$LIB_FILE + lipo -info fat_tmp/${LIB_NAME}/lib/tvos_sim/$LIB_FILE + lipo -info fat_tmp/${LIB_NAME}/lib/mac/$LIB_FILE +} + +function create_xcfraemwork { + NAME=$1 + LIB_NAME=$2 + LIB_FILE=$3 + + create_fat $LIB_NAME $LIB_FILE + + # create xcframework + xcodebuild -create-xcframework \ + -library install_ios_arm64/${LIB_NAME}/lib/$LIB_FILE \ + -library fat_tmp/${LIB_NAME}/lib/ios_sim/$LIB_FILE \ + -library install_tvos_arm64/${LIB_NAME}/lib/$LIB_FILE \ + -library fat_tmp/${LIB_NAME}/lib/tvos_sim/$LIB_FILE \ + -library fat_tmp/${LIB_NAME}/lib/mac/$LIB_FILE \ + -output ${DIST_DIR}/lib/$NAME.xcframework +} + # dist libs if [ "$DIST_LIBS" = "" ] ; then DIST_LIBS="zlib,jpeg-turbo,openssl,cares,curl,luajit,angle" @@ -248,6 +274,7 @@ echo "Dist $libs_count libs ..." mkdir ./seprate for (( i=0; i<${libs_count}; ++i )); do lib_name=${libs_arr[$i]} + echo "dist $lib_name ..." source src/$lib_name/dist1.sh $DIST_ROOT cd ${DIST_NAME} zip -q -r ../seprate/$lib_name.zip ./$lib_name diff --git a/1k/fetch.cmake b/1k/fetch.cmake index a757942..27fd03b 100644 --- a/1k/fetch.cmake +++ b/1k/fetch.cmake @@ -27,7 +27,7 @@ function(_1kfetch_init) string(REPLACE "#" ";" _1kdist_url ${_1kdist_url}) list(GET _1kdist_url 0 _1kdist_base_url) list(GET _1kdist_url 1 _1kdist_ver) - set(_1kdist_base_url "${_1kdist_base_url}/v${_1kdist_ver}" PARENT_SCOPE) + set(_1kdist_base_url "${_1kdist_base_url}/${_1kdist_ver}" PARENT_SCOPE) set(_1kdist_ver ${_1kdist_ver} PARENT_SCOPE) endfunction() @@ -36,7 +36,7 @@ endfunction() function(_1kfetch_dist package_name) set(_prebuilt_root ${CMAKE_CURRENT_LIST_DIR}/_x) if(NOT IS_DIRECTORY ${_prebuilt_root}) - set (package_store "${_1kfetch_cache_dir}/1kdist/v${_1kdist_ver}/${package_name}.zip") + set (package_store "${_1kfetch_cache_dir}/1kdist/${_1kdist_ver}/${package_name}.zip") if (NOT EXISTS ${package_store}) set (package_url "${_1kdist_base_url}/${package_name}.zip") message(AUTHOR_WARNING "Downloading ${package_url}") @@ -58,9 +58,13 @@ function(_1kfetch_dist package_name) endif() # set platform specific path, PLATFORM_NAME provided by user: win32,winrt,mac,ios,android,tvos,watchos,linux - set(_prebuilt_lib_dir "${_prebuilt_root}/lib/${PLATFORM_NAME}") - if(ANDROID OR WIN32) - set(_prebuilt_lib_dir "${_prebuilt_lib_dir}/${ARCH_ALIAS}") + if(APPLE) # since 1kiss_dist v80+, xcframework don't require platform spec sub folder + set(_prebuilt_lib_dir "${_prebuilt_root}/lib") + else() + set(_prebuilt_lib_dir "${_prebuilt_root}/lib/${PLATFORM_NAME}") + if(ANDROID OR WIN32) + set(_prebuilt_lib_dir "${_prebuilt_lib_dir}/${ARCH_ALIAS}") + endif() endif() set(${package_name}_INC_DIR ${_prebuilt_root}/include PARENT_SCOPE) set(${package_name}_LIB_DIR ${_prebuilt_lib_dir} PARENT_SCOPE) diff --git a/1k/fetch.ps1 b/1k/fetch.ps1 index af0ee04..3151f27 100644 --- a/1k/fetch.ps1 +++ b/1k/fetch.ps1 @@ -54,7 +54,7 @@ function fetch_repo($url, $name, $dest, $ext) { } } catch { - Remove-Item $out -Force + Remove-Item $out -Force throw "fetch.ps1: extract $out failed, try again" } @@ -175,8 +175,8 @@ if (!$revision) { } if ($is_git_repo) { $old_rev_hash = $(git -C $lib_src rev-parse HEAD) + $cur_rev_hash = $(git -C $lib_src rev-parse --verify --quiet "$revision^{}") - if (!$cur_rev_hash) { git -C $lib_src fetch $cur_rev_hash = $(git -C $lib_src rev-parse --verify --quiet "$revision^{}") @@ -224,8 +224,7 @@ if (Test-Path (Join-Path $lib_src '.gn') -PathType Leaf) { # the repo use google gn build system manage deps and build Push-Location $lib_src # angle (A GLES native implementation by google) - if (Test-Path 'scripts/bootstrap.py' -PathType Leaf) - { + if (Test-Path 'scripts/bootstrap.py' -PathType Leaf) { python scripts/bootstrap.py } # darwin (A WebGPU native implementation by google) diff --git a/1k/ios.cmake b/1k/ios.cmake index 966a9b4..f845863 100644 --- a/1k/ios.cmake +++ b/1k/ios.cmake @@ -1,5 +1,5 @@ # -# The minimal ios toolchain file: https://github.com/yasio/yasio/blob/dev/cmake/ios.cmake +# The minimal ios toolchain file: https://github.com/simdsoft/1kiss/blob/dev/1k/ios.cmake # version: 4.1.3 # # The supported params: diff --git a/build.ps1 b/build.ps1 index 970ec1c..7c81637 100644 --- a/build.ps1 +++ b/build.ps1 @@ -54,7 +54,7 @@ $install_path = "install_${target_os}" if ($target_cpu -ne '*') { $install_path = "${install_path}_$target_cpu" } -if($target_environment.StartsWith('sim')) { $install_path += '_sim' } +if($sdk.StartsWith('sim')) { $install_path += '_sim' } $install_root = Join-Path $_1k_root $install_path # Create buildsrc tmp dir for build libs diff --git a/src/cares/dist1.sh b/src/cares/dist1.sh index ed7f84d..c67093d 100644 --- a/src/cares/dist1.sh +++ b/src/cares/dist1.sh @@ -4,33 +4,7 @@ DIST_DIR="${DIST_ROOT}/${LIB_NAME}" dist_lib ${LIB_NAME} ${DIST_DIR} $DISTF_NATIVES -# create flat lib for ios -if [ -f "install_ios_arm/${LIB_NAME}/lib/libcares.a" ] ; then - lipo -create install_ios_arm/${LIB_NAME}/lib/libcares.a install_ios_arm64/${LIB_NAME}/lib/libcares.a install_ios_x64/${LIB_NAME}/lib/libcares.a -output ${DIST_DIR}/lib/ios/libcares.a -else - lipo -create install_ios_arm64/${LIB_NAME}/lib/libcares.a install_ios_x64/${LIB_NAME}/lib/libcares.a -output ${DIST_DIR}/lib/ios/libcares.a -fi - -# create flat lib for tvos -if [ -f "install_tvos_arm/${LIB_NAME}/lib/libcares.a" ] ; then - lipo -create install_tvos_arm/${LIB_NAME}/lib/libcares.a install_tvos_arm64/${LIB_NAME}/lib/libcares.a install_tvos_x64/${LIB_NAME}/lib/libcares.a -output ${DIST_DIR}/lib/tvos/libcares.a -else - lipo -create install_tvos_arm64/${LIB_NAME}/lib/libcares.a install_tvos_x64/${LIB_NAME}/lib/libcares.a -output ${DIST_DIR}/lib/tvos/libcares.a -fi - -# check the flat lib -lipo -info ${DIST_DIR}/lib/ios/libcares.a - -# check the flat lib -lipo -info ${DIST_DIR}/lib/tvos/libcares.a - - -# create fat lib for mac -lipo -create install_osx_arm64/${LIB_NAME}/lib/libcares.a install_osx_x64/${LIB_NAME}/lib/libcares.a -output ${DIST_DIR}/lib/mac/libcares.a - - -# check the fat lib -lipo -info ${DIST_DIR}/lib/mac/libcares.a +create_xcfraemwork cares ${LIB_NAME} libcares.a # overrite ares_build.h with common header cp -f src/cares/ares_build.h ${DIST_DIR}/include/ diff --git a/src/curl/dist1.sh b/src/curl/dist1.sh index 7a9c538..36de33b 100644 --- a/src/curl/dist1.sh +++ b/src/curl/dist1.sh @@ -4,30 +4,4 @@ DIST_DIR="${DIST_ROOT}/${LIB_NAME}" dist_lib ${LIB_NAME} ${DIST_DIR} $DISTF_NATIVES -# create flat lib for ios -if [ -f "install_ios_arm/${LIB_NAME}/lib/libcurl.a" ] ; then - lipo -create install_ios_arm/${LIB_NAME}/lib/libcurl.a install_ios_arm64/${LIB_NAME}/lib/libcurl.a install_ios_x64/${LIB_NAME}/lib/libcurl.a -output ${DIST_DIR}/lib/ios/libcurl.a -else - lipo -create install_ios_arm64/${LIB_NAME}/lib/libcurl.a install_ios_x64/${LIB_NAME}/lib/libcurl.a -output ${DIST_DIR}/lib/ios/libcurl.a -fi - -# create flat lib for tvos -if [ -f "install_tvos_arm/${LIB_NAME}/lib/libcurl.a" ] ; then - lipo -create install_tvos_arm/${LIB_NAME}/lib/libcurl.a install_tvos_arm64/${LIB_NAME}/lib/libcurl.a install_tvos_x64/${LIB_NAME}/lib/libcurl.a -output ${DIST_DIR}/lib/tvos/libcurl.a -else - lipo -create install_tvos_arm64/${LIB_NAME}/lib/libcurl.a install_tvos_x64/${LIB_NAME}/lib/libcurl.a -output ${DIST_DIR}/lib/tvos/libcurl.a -fi - -# check the flat lib -lipo -info ${DIST_DIR}/lib/ios/libcurl.a - -# check the flat lib -lipo -info ${DIST_DIR}/lib/tvos/libcurl.a - - -# create fat lib for mac -lipo -create install_osx_arm64/${LIB_NAME}/lib/libcurl.a install_osx_x64/${LIB_NAME}/lib/libcurl.a -output ${DIST_DIR}/lib/mac/libcurl.a - - -# check the fat lib -lipo -info ${DIST_DIR}/lib/mac/libcurl.a +create_xcfraemwork curl ${LIB_NAME} libcurl.a diff --git a/src/jpeg-turbo/dist1.sh b/src/jpeg-turbo/dist1.sh index 01b37b5..2fc879d 100644 --- a/src/jpeg-turbo/dist1.sh +++ b/src/jpeg-turbo/dist1.sh @@ -4,28 +4,4 @@ DIST_DIR="${DIST_ROOT}/${LIB_NAME}" dist_lib ${LIB_NAME} ${DIST_DIR} $DISTF_NO_WINRT jconfig.h config_ab.h.in -# create flat lib for ios -if [ -f "install_ios_arm/${LIB_NAME}/lib/libjpeg.a" ] ; then - lipo -create install_ios_arm/${LIB_NAME}/lib/libjpeg.a install_ios_arm64/${LIB_NAME}/lib/libjpeg.a install_ios_x64/${LIB_NAME}/lib/libjpeg.a -output ${DIST_DIR}/lib/ios/libjpeg.a -else - lipo -create install_ios_arm64/${LIB_NAME}/lib/libjpeg.a install_ios_x64/${LIB_NAME}/lib/libjpeg.a -output ${DIST_DIR}/lib/ios/libjpeg.a -fi - -# create flat lib for tvos -if [ -f "install_tvos_arm/${LIB_NAME}/lib/libjpeg.a" ] ; then - lipo -create install_tvos_arm/${LIB_NAME}/lib/libjpeg.a install_tvos_arm64/${LIB_NAME}/lib/libjpeg.a install_tvos_x64/${LIB_NAME}/lib/libjpeg.a -output ${DIST_DIR}/lib/tvos/libjpeg.a -else - lipo -create install_tvos_arm64/${LIB_NAME}/lib/libjpeg.a install_tvos_x64/${LIB_NAME}/lib/libjpeg.a -output ${DIST_DIR}/lib/tvos/libjpeg.a -fi - -# check the flat lib -lipo -info ${DIST_DIR}/lib/ios/libjpeg.a - -# check the flat lib -lipo -info ${DIST_DIR}/lib/tvos/libjpeg.a - -# create fat lib for mac -lipo -create install_osx_arm64/${LIB_NAME}/lib/libjpeg.a install_osx_x64/${LIB_NAME}/lib/libjpeg.a -output ${DIST_DIR}/lib/mac/libjpeg.a - -# check the fat lib -lipo -info ${DIST_DIR}/lib/mac/libjpeg.a +create_xcfraemwork jpeg ${LIB_NAME} libjpeg.a diff --git a/src/luajit/build.yml b/src/luajit/build.yml index 39fe99b..3cc0e8f 100644 --- a/src/luajit/build.yml +++ b/src/luajit/build.yml @@ -1,4 +1,4 @@ -repo: https://github.com/LuaJIT/LuaJIT.git +repo: https://github.com/luajit/luajit.git ver: 2.1 tag_prefix: v tag_dot2ul: false diff --git a/src/luajit/dist1.sh b/src/luajit/dist1.sh index 12d3d8d..f90fff4 100644 --- a/src/luajit/dist1.sh +++ b/src/luajit/dist1.sh @@ -4,27 +4,4 @@ DIST_DIR="${DIST_ROOT}/${LIB_NAME}" dist_lib ${LIB_NAME} ${DIST_DIR} $DISTF_NO_WINRT -# create flat lib for ios -if [ -f "install_ios_arm/${LIB_NAME}/lib/libluajit.a" ] ; then - echo "Creating flat libluajit.a with armv7,arm64,x86_64" - lipo -create install_ios_arm/${LIB_NAME}/lib/libluajit.a install_ios_arm64/${LIB_NAME}/lib/libluajit.a install_ios_x64/${LIB_NAME}/lib/libluajit.a -output ${DIST_DIR}/lib/ios/libluajit.a -else - echo "Creating flat libluajit.a with arm64,x86_64" - lipo -create install_ios_arm64/${LIB_NAME}/lib/libluajit.a install_ios_x64/${LIB_NAME}/lib/libluajit.a -output ${DIST_DIR}/lib/ios/libluajit.a -fi - -# create flat lib for tvos -if [ -f "install_tvos_arm/${LIB_NAME}/lib/libluajit.a" ] ; then - echo "Creating flat libluajit.a with armv7,arm64,x86_64" - lipo -create install_tvos_arm/${LIB_NAME}/lib/libluajit.a install_tvos_arm64/${LIB_NAME}/lib/libluajit.a install_tvos_x64/${LIB_NAME}/lib/libluajit.a -output ${DIST_DIR}/lib/tvos/libluajit.a -else - echo "Creating flat libluajit.a with arm64,x86_64" - lipo -create install_tvos_arm64/${LIB_NAME}/lib/libluajit.a install_tvos_x64/${LIB_NAME}/lib/libluajit.a -output ${DIST_DIR}/lib/tvos/libluajit.a -fi - -# create fat lib for mac -lipo -create install_osx_arm64/${LIB_NAME}/lib/libluajit.a install_osx_x64/${LIB_NAME}/lib/libluajit.a -output ${DIST_DIR}/lib/mac/libluajit.a - -# check the fat lib -lipo -info ${DIST_DIR}/lib/mac/libluajit.a - +create_xcfraemwork luajit ${LIB_NAME} libluajit.a diff --git a/src/openssl/build1.ps1 b/src/openssl/build1.ps1 index f9ef20f..eb54627 100644 --- a/src/openssl/build1.ps1 +++ b/src/openssl/build1.ps1 @@ -59,7 +59,9 @@ else { # asume x64 as simulator $ossl_target_os += 'sim-' $ios_plat_suffix = 'Simulator' - $TARGET_OPTIONS += 'no-asm' + if ($target_cpu -eq 'arm64') { + $TARGET_OPTIONS += 'no-asm' + } } $ossl_target_os += "cross-$ossl_target_cpu" $TARGET_OPTIONS += $ossl_target_os diff --git a/src/openssl/dist1.sh b/src/openssl/dist1.sh index d9b85d2..9b526a6 100644 --- a/src/openssl/dist1.sh +++ b/src/openssl/dist1.sh @@ -4,36 +4,20 @@ DIST_DIR="${DIST_ROOT}/${LIB_NAME}" dist_lib ${LIB_NAME} ${DIST_DIR} $DISTF_ALL configuration.h config.h.in openssl/ -# create flat lib for ios -if [ -f "install_ios_arm/${LIB_NAME}/lib/libssl.a" ] ; then - lipo -create install_ios_arm/${LIB_NAME}/lib/libssl.a install_ios_arm64/${LIB_NAME}/lib/libssl.a install_ios_x64/${LIB_NAME}/lib/libssl.a -output ${DIST_DIR}/lib/ios/libssl.a - lipo -create install_ios_arm/${LIB_NAME}/lib/libcrypto.a install_ios_arm64/${LIB_NAME}/lib/libcrypto.a install_ios_x64/${LIB_NAME}/lib/libcrypto.a -output ${DIST_DIR}/lib/ios/libcrypto.a -else - lipo -create install_ios_arm64/${LIB_NAME}/lib/libssl.a install_ios_x64/${LIB_NAME}/lib/libssl.a -output ${DIST_DIR}/lib/ios/libssl.a - lipo -create install_ios_arm64/${LIB_NAME}/lib/libcrypto.a install_ios_x64/${LIB_NAME}/lib/libcrypto.a -output ${DIST_DIR}/lib/ios/libcrypto.a -fi +function combine_openssl { + dir=$1 + libtool -static -o $dir/${LIB_NAME}/lib/libopenssl.a \ + $dir/${LIB_NAME}/lib/libcrypto.a \ + $dir/${LIB_NAME}/lib/libssl.a +} -# create flat lib for tvos -if [ -f "install_tvos_arm/${LIB_NAME}/lib/libssl.a" ] ; then - lipo -create install_tvos_arm/${LIB_NAME}/lib/libssl.a install_tvos_arm64/${LIB_NAME}/lib/libssl.a install_tvos_x64/${LIB_NAME}/lib/libssl.a -output ${DIST_DIR}/lib/tvos/libssl.a - lipo -create install_tvos_arm/${LIB_NAME}/lib/libcrypto.a install_tvos_arm64/${LIB_NAME}/lib/libcrypto.a install_tvos_x64/${LIB_NAME}/lib/libcrypto.a -output ${DIST_DIR}/lib/tvos/libcrypto.a -else - lipo -create install_tvos_arm64/${LIB_NAME}/lib/libssl.a install_tvos_x64/${LIB_NAME}/lib/libssl.a -output ${DIST_DIR}/lib/tvos/libssl.a - lipo -create install_tvos_arm64/${LIB_NAME}/lib/libcrypto.a install_tvos_x64/${LIB_NAME}/lib/libcrypto.a -output ${DIST_DIR}/lib/tvos/libcrypto.a -fi +combine_openssl install_ios_arm64 +combine_openssl install_ios_x64 +combine_openssl install_ios_arm64_sim +combine_openssl install_tvos_arm64 +combine_openssl install_tvos_x64 +combine_openssl install_tvos_arm64_sim +combine_openssl install_osx_x64 +combine_openssl install_osx_arm64 -# check the flat lib -lipo -info ${DIST_DIR}/lib/ios/libssl.a -lipo -info ${DIST_DIR}/lib/ios/libcrypto.a - -# check the flat lib -lipo -info ${DIST_DIR}/lib/tvos/libssl.a -lipo -info ${DIST_DIR}/lib/tvos/libcrypto.a - -# create fat lib for mac -lipo -create install_osx_arm64/${LIB_NAME}/lib/libssl.a install_osx_x64/${LIB_NAME}/lib/libssl.a -output ${DIST_DIR}/lib/mac/libssl.a -lipo -create install_osx_arm64/${LIB_NAME}/lib/libcrypto.a install_osx_x64/${LIB_NAME}/lib/libcrypto.a -output ${DIST_DIR}/lib/mac/libcrypto.a - -# check the fat lib -lipo -info ${DIST_DIR}/lib/mac/libssl.a -lipo -info ${DIST_DIR}/lib/mac/libcrypto.a +create_xcfraemwork openssl ${LIB_NAME} libopenssl.a diff --git a/src/zlib/dist1.sh b/src/zlib/dist1.sh index d6bc603..2eab3a4 100644 --- a/src/zlib/dist1.sh +++ b/src/zlib/dist1.sh @@ -4,31 +4,7 @@ DIST_DIR="${DIST_ROOT}/${LIB_NAME}" dist_lib ${LIB_NAME} ${DIST_DIR} $DISTF_NATIVES -# create flat lib for ios -if [ -f "install_ios_arm/${LIB_NAME}/lib/libz.a" ] ; then - lipo -create install_ios_arm/${LIB_NAME}/lib/libz.a install_ios_arm64/${LIB_NAME}/lib/libz.a install_ios_x64/${LIB_NAME}/lib/libz.a -output ${DIST_DIR}/lib/ios/libz.a -else - lipo -create install_ios_arm64/${LIB_NAME}/lib/libz.a install_ios_x64/${LIB_NAME}/lib/libz.a -output ${DIST_DIR}/lib/ios/libz.a -fi - -# create flat lib for tvos -if [ -f "install_tvos_arm/${LIB_NAME}/lib/libz.a" ] ; then - lipo -create install_tvos_arm/${LIB_NAME}/lib/libz.a install_tvos_arm64/${LIB_NAME}/lib/libz.a install_tvos_x64/${LIB_NAME}/lib/libz.a -output ${DIST_DIR}/lib/tvos/libz.a -else - lipo -create install_tvos_arm64/${LIB_NAME}/lib/libz.a install_tvos_x64/${LIB_NAME}/lib/libz.a -output ${DIST_DIR}/lib/tvos/libz.a -fi - -# check the flat lib -lipo -info ${DIST_DIR}/lib/ios/libz.a - -# check the flat lib -lipo -info ${DIST_DIR}/lib/tvos/libz.a - -# create fat lib for mac -lipo -create install_osx_arm64/${LIB_NAME}/lib/libz.a install_osx_x64/${LIB_NAME}/lib/libz.a -output ${DIST_DIR}/lib/mac/libz.a - -# check the fat lib -lipo -info ${DIST_DIR}/lib/ios/libz.a +create_xcfraemwork zlib ${LIB_NAME} libz.a # overrite zconf.h with common header cp -f src/zlib/zconf.h ${DIST_DIR}/include/