mirror of
https://github.com/tihmstar/futurerestore.git
synced 2025-04-20 14:31:41 +00:00
Port futurerestore to from autotools to cmake
This commit is contained in:
parent
ecc32003b0
commit
f7fa07e2ba
29
.github/workflows/ci.yml
vendored
29
.github/workflows/ci.yml
vendored
|
@ -20,42 +20,37 @@ jobs:
|
|||
- name: macOS Build
|
||||
id: macOS-Build
|
||||
run: |
|
||||
cd /Users/runner/work/futurerestore/futurerestore/.github/workflows
|
||||
./mac-bootstrap.sh
|
||||
./Builder macOS x86_64 release 1300 10.12 &
|
||||
./Builder macOS x86_64 debug 1300 10.12 &
|
||||
./Builder macOS arm64 release 1700 11.0 &
|
||||
./Builder macOS arm64 debug 1700 11.0 &
|
||||
wait
|
||||
./mac-post.sh
|
||||
/Users/runner/work/futurerestore/futurerestore/.github/workflows/mac-bootstrap.sh
|
||||
/Users/runner/work/futurerestore/futurerestore/.github/workflows/mac-build.sh
|
||||
/Users/runner/work/futurerestore/futurerestore/.github/workflows/mac-post.sh
|
||||
- name: macOS x86_64 RELEASE Archive
|
||||
id: macOS-x86_64-RELEASE-Archive
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: futurerestore-macOS-x86_64-RELEASE
|
||||
path: |
|
||||
/Users/runner/work/futurerestore/futurerestore/.github/workflows/futurerestore-macOS-x86_64-*-RELEASE.tar.xz
|
||||
/Users/runner/work/futurerestore/futurerestore/futurerestore-macOS-x86_64-*-RELEASE.tar.xz
|
||||
- name: macOS x86_64 DEBUG Archive
|
||||
id: macOS-x86_64-DEBUG-Archive
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: futurerestore-macOS-x86_64-DEBUG
|
||||
path: |
|
||||
/Users/runner/work/futurerestore/futurerestore/.github/workflows/futurerestore-macOS-x86_64-*-DEBUG.tar.xz
|
||||
/Users/runner/work/futurerestore/futurerestore/futurerestore-macOS-x86_64-*-DEBUG.tar.xz
|
||||
- name: macOS arm64 RELEASE Archive
|
||||
id: macOS-arm64-RELEASE-Archive
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: futurerestore-macOS-arm64-RELEASE
|
||||
path: |
|
||||
/Users/runner/work/futurerestore/futurerestore/.github/workflows/futurerestore-macOS-arm64-*-RELEASE.tar.xz
|
||||
/Users/runner/work/futurerestore/futurerestore/futurerestore-macOS-arm64-*-RELEASE.tar.xz
|
||||
- name: macOS arm64 DEBUG Archive
|
||||
id: macOS-arm64-DEBUG-Archive
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: futurerestore-macOS-arm64-DEBUG
|
||||
path: |
|
||||
/Users/runner/work/futurerestore/futurerestore/.github/workflows/futurerestore-macOS-arm64-*-DEBUG.tar.xz
|
||||
/Users/runner/work/futurerestore/futurerestore/futurerestore-macOS-arm64-*-DEBUG.tar.xz
|
||||
Linux:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
@ -71,13 +66,9 @@ jobs:
|
|||
image: debian:buster-slim
|
||||
options: -v ${{ github.workspace }}/..:/tmp/Builder/repos/
|
||||
run: |
|
||||
cd /tmp/Builder/repos/futurerestore/.github/workflows/
|
||||
./linux-bootstrap.sh
|
||||
./Builder Linux cctools
|
||||
./Builder Linux x86_64 Release &
|
||||
./Builder Linux x86_64 Debug &
|
||||
wait
|
||||
./linux-post.sh
|
||||
/tmp/Builder/repos/futurerestore/.github/workflows/linux-bootstrap.sh
|
||||
/tmp/Builder/repos/futurerestore/.github/workflows/linux-build.sh
|
||||
/tmp/Builder/repos/futurerestore/.github/workflows/linux-post.sh
|
||||
- name: Linux x86_64 RELEASE Build
|
||||
run: |
|
||||
mkdir -p /home/runner/work/futurerestore/futurerestore/.github/workflows/
|
||||
|
|
1701
.github/workflows/config.guess
vendored
1701
.github/workflows/config.guess
vendored
File diff suppressed because it is too large
Load diff
20
.github/workflows/linux-bootstrap.sh
vendored
20
.github/workflows/linux-bootstrap.sh
vendored
|
@ -2,7 +2,9 @@
|
|||
|
||||
set -e
|
||||
export TMPDIR=/tmp
|
||||
export BASE=${TMPDIR}/Builder/repos/futurerestore/.github/workflows
|
||||
export WORKFLOW_ROOT=${TMPDIR}/Builder/repos/futurerestore/.github/workflows
|
||||
export DEP_ROOT=${TMPDIR}/Builder/repos/futurerestore/dep_root
|
||||
export BASE=${TMPDIR}/Builder/repos/futurerestore/
|
||||
|
||||
#sed -i 's/deb\.debian\.org/ftp.de.debian.org/g' /etc/apt/sources.list
|
||||
apt-get -qq update
|
||||
|
@ -12,20 +14,24 @@ cp -RpP /usr/bin/ld /
|
|||
rm -rf /usr/bin/ld /usr/lib/x86_64-linux-gnu/lib{usb-1.0,png*,readline}.so*
|
||||
cd ${TMPDIR}/Builder/repos/futurerestore
|
||||
git submodule update --init --recursive
|
||||
cd ${BASE}
|
||||
cd ${WORKFLOW_ROOT}
|
||||
curl -sO https://apt.llvm.org/llvm.sh
|
||||
chmod +x llvm.sh
|
||||
./llvm.sh 13 all
|
||||
ln -sf /usr/bin/ld.lld-13 /usr/bin/ld
|
||||
curl -sO https://cdn.cryptiiiic.com/bootstrap/Builder_Linux.tar.zst &
|
||||
#curl -sO https://cdn.cryptiiiic.com/bootstrap/Builder_Linux.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/bootstrap/linux_fix.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/deps/static/Linux/x86_64/Linux_x86_64_Release_Latest.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/deps/static/Linux/x86_64/Linux_x86_64_Debug_Latest.tar.zst &
|
||||
curl -sLO https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-linux-x86_64.tar.gz &
|
||||
wait
|
||||
tar xf Linux_x86_64_Release_Latest.tar.zst -C ${TMPDIR}/Builder &
|
||||
tar xf Linux_x86_64_Debug_Latest.tar.zst -C ${TMPDIR}/Builder &
|
||||
mkdir -p ${DEP_ROOT}/Linux_x86_64_{Release,Debug}
|
||||
tar xf Linux_x86_64_Release_Latest.tar.zst -C ${DEP_ROOT}/Linux_x86_64_Release &
|
||||
tar xf Linux_x86_64_Debug_Latest.tar.zst -C ${DEP_ROOT}/Linux_x86_64_Debug &
|
||||
tar xf linux_fix.tar.zst -C ${TMPDIR}/Builder &
|
||||
tar xf Builder_Linux.tar.zst &
|
||||
tar xf cmake-3.23.2-linux-x86_64.tar.gz
|
||||
cp -RpP cmake-3.23.2-linux-x86_64/* /usr/local/ || true
|
||||
#tar xf Builder_Linux.tar.zst &
|
||||
wait
|
||||
rm -rf "*.zst"
|
||||
cd ${BASE}
|
||||
cd ${WORKFLOW_ROOT}
|
||||
|
|
18
.github/workflows/linux-build.sh
vendored
Executable file
18
.github/workflows/linux-build.sh
vendored
Executable file
|
@ -0,0 +1,18 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
export TMPDIR=/tmp
|
||||
export WORKFLOW_ROOT=${TMPDIR}/Builder/repos/futurerestore/.github/workflows
|
||||
export DEP_ROOT=${TMPDIR}/Builder/repos/futurerestore/dep_root
|
||||
export BASE=${TMPDIR}/Builder/repos/futurerestore/
|
||||
|
||||
cd ${BASE}
|
||||
ln -sf ${DEP_ROOT}/Linux_x86_64_Release/{lib/,include/} ${DEP_ROOT}/
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=$(which make) -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) -G "CodeBlocks - Unix Makefiles" -S ./ -B cmake-build-release-x86_64 -DARCH=x86_64 -DCMAKE_C_COMPILER=clang-13 -DCMAKE_CXX_COMPILER=clang++-13 -DCMAKE_LINKER=ld.lld-13
|
||||
make -j4 -l4 -C cmake-build-release-x86_64
|
||||
|
||||
cd ${BASE}
|
||||
ln -sf ${DEP_ROOT}/Linux_x86_64_Debug/{lib/,include/} ${DEP_ROOT}/
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=$(which make) -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) -G "CodeBlocks - Unix Makefiles" -S ./ -B cmake-build-debug-x86_64 -DARCH=x86_64 -DCMAKE_C_COMPILER=clang-13 -DCMAKE_CXX_COMPILER=clang++-13 -DCMAKE_LINKER=ld.lld-13
|
||||
make -j4 -l4 -C cmake-build-debug-x86_64
|
||||
llvm-strip-13 -s cmake-build-release-x86_64/src/futurerestore
|
12
.github/workflows/linux-post.sh
vendored
12
.github/workflows/linux-post.sh
vendored
|
@ -2,16 +2,18 @@
|
|||
|
||||
set -e
|
||||
export TMPDIR=/tmp
|
||||
export BASE=${TMPDIR}/Builder/repos/futurerestore/.github/workflows
|
||||
export WORKFLOW_ROOT=${TMPDIR}/Builder/repos/futurerestore/.github/workflows
|
||||
export DEP_ROOT=${TMPDIR}/Builder/repos/futurerestore/dep_root
|
||||
export BASE=${TMPDIR}/Builder/repos/futurerestore/
|
||||
|
||||
cd ${BASE}/../../
|
||||
cd ${BASE}
|
||||
export FUTURERESTORE_VERSION=$(git rev-list --count HEAD | tr -d '\n')
|
||||
export FUTURERESTORE_VERSION_RELEASE=$(cat version.txt | tr -d '\n')
|
||||
cd ${BASE}
|
||||
cd ${WORKFLOW_ROOT}
|
||||
echo "futurerestore-Linux-x86_64-${FUTURERESTORE_VERSION_RELEASE}-Build_${FUTURERESTORE_VERSION}-RELEASE.tar.xz" > name1.txt
|
||||
echo "futurerestore-Linux-x86_64-${FUTURERESTORE_VERSION_RELEASE}-Build_${FUTURERESTORE_VERSION}-DEBUG.tar.xz" > name2.txt
|
||||
cp -RpP "${TMPDIR}/Builder/linux_fix.sh" linux_fix.sh
|
||||
cp -RpP "${TMPDIR}/Builder/Linux_x86_64_Release/bin/futurerestore" futurerestore
|
||||
cp -RpP "${BASE}/cmake-build-release-x86_64/src/futurerestore" futurerestore
|
||||
tar cpPJvf "futurerestore1.tar.xz" futurerestore linux_fix.sh
|
||||
cp -RpP "${TMPDIR}/Builder/Linux_x86_64_Debug/bin/futurerestore" futurerestore
|
||||
cp -RpP "${BASE}/cmake-build-debug-x86_64/src/futurerestore" futurerestore
|
||||
tar cpPJvf "futurerestore2.tar.xz" futurerestore linux_fix.sh
|
||||
|
|
37
.github/workflows/mac-bootstrap.sh
vendored
37
.github/workflows/mac-bootstrap.sh
vendored
|
@ -1,33 +1,36 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
set -e
|
||||
export BASE=/Users/runner/work/futurerestore/futurerestore/.github/workflows
|
||||
export WORKFLOW_ROOT=/Users/runner/work/futurerestore/futurerestore/.github/workflows
|
||||
export DEP_ROOT=/Users/runner/work/futurerestore/futurerestore/dep_root
|
||||
export BASE=/Users/runner/work/futurerestore/futurerestore/
|
||||
|
||||
cd ${BASE}
|
||||
cd ${WORKFLOW_ROOT}
|
||||
curl -sO https://cdn.cryptiiiic.com/bootstrap/bootstrap_x86_64.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/bootstrap/Builder_macOS.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/deps/static/macOS/x86_64/macOS_x86_64_1300_Release_Latest.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/deps/static/macOS/arm64/macOS_arm64_1700_Release_Latest.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/deps/static/macOS/x86_64/macOS_x86_64_1300_Debug_Latest.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/deps/static/macOS/arm64/macOS_arm64_1700_Debug_Latest.tar.zst &
|
||||
# curl -sO https://cdn.cryptiiiic.com/bootstrap/Builder_macOS.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/deps/static/macOS/x86_64/macOS_x86_64_Release_Latest.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/deps/static/macOS/arm64/macOS_arm64_Release_Latest.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/deps/static/macOS/x86_64/macOS_x86_64_Debug_Latest.tar.zst &
|
||||
curl -sO https://cdn.cryptiiiic.com/deps/static/macOS/arm64/macOS_arm64_Debug_Latest.tar.zst &
|
||||
wait
|
||||
sudo gtar xf ${BASE}/bootstrap_x86_64.tar.zst -C / --warning=none || true || true &
|
||||
sudo gtar xf ${WORKFLOW_ROOT}/bootstrap_x86_64.tar.zst -C / --warning=none || true || true &
|
||||
echo "${PROCURSUS}/bin" | sudo tee /etc/paths1
|
||||
echo "${PROCURSUS}/libexec/gnubin" | sudo tee /etc/paths1
|
||||
cat /etc/paths | sudo tee -a /etc/paths1
|
||||
sudo mv /etc/paths{1,}
|
||||
wait
|
||||
mkdir -p ${TMPDIR}/Builder/repos
|
||||
gtar xf macOS_x86_64_1300_Release_Latest.tar.zst -C ${TMPDIR}/Builder &
|
||||
gtar xf macOS_x86_64_1300_Debug_Latest.tar.zst -C ${TMPDIR}/Builder &
|
||||
gtar xf macOS_arm64_1700_Release_Latest.tar.zst -C ${TMPDIR}/Builder &
|
||||
gtar xf macOS_arm64_1700_Debug_Latest.tar.zst -C ${TMPDIR}/Builder &
|
||||
mkdir -p ${DEP_ROOT}/macOS_x86_64_Release ${DEP_ROOT}/macOS_x86_64_Debug ${DEP_ROOT}/macOS_arm64_Release ${DEP_ROOT}/macOS_arm64_Debug
|
||||
gtar xf macOS_x86_64_Release_Latest.tar.zst -C ${DEP_ROOT}/macOS_x86_64_Release &
|
||||
gtar xf macOS_x86_64_Debug_Latest.tar.zst -C ${DEP_ROOT}/macOS_x86_64_Debug &
|
||||
gtar xf macOS_arm64_Release_Latest.tar.zst -C ${DEP_ROOT}/macOS_arm64_Release &
|
||||
gtar xf macOS_arm64_Debug_Latest.tar.zst -C ${DEP_ROOT}/macOS_arm64_Debug &
|
||||
wait
|
||||
gtar xf ${BASE}/Builder_macOS.tar.zst &
|
||||
# gtar xf ${BASE}/Builder_macOS.tar.zst &
|
||||
sudo ${PROCURSUS}/bin/apt-get update -qq
|
||||
sudo ${PROCURSUS}/bin/apt-get dist-upgrade -yqq
|
||||
sudo ${PROCURSUS}/bin/apt-get install llvm-utils -yqq
|
||||
sudo mv /usr/local/bin{,1}
|
||||
ln -sf ${BASE}/../../ ${TMPDIR}/Builder/repos/futurerestore
|
||||
cd ${TMPDIR}/Builder/repos/futurerestore
|
||||
cd ${BASE}
|
||||
git submodule update --init --recursive
|
||||
cd ${BASE}/external/tsschecker
|
||||
git submodule update --init --recursive
|
||||
cd ${TMPDIR}/Builder/repos/futurerestore/.github/workflows
|
||||
|
|
25
.github/workflows/mac-build.sh
vendored
Executable file
25
.github/workflows/mac-build.sh
vendored
Executable file
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
set -e
|
||||
export WORKFLOW_ROOT=/Users/runner/work/futurerestore/futurerestore/.github/workflows
|
||||
export DEP_ROOT=/Users/runner/work/futurerestore/futurerestore/dep_root
|
||||
export BASE=/Users/runner/work/futurerestore/futurerestore/
|
||||
|
||||
cd /Users/runner/work/futurerestore/futurerestore/
|
||||
ln -sf ${DEP_ROOT}/macOS_x86_64_Release/{lib/,include/} ${DEP_ROOT}/
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=$(which make) -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) -G "CodeBlocks - Unix Makefiles" -S ./ -B cmake-build-release-x86_64 -DARCH=x86_64
|
||||
make -j4 -l4 -C cmake-build-release-x86_64
|
||||
|
||||
ln -sf ${DEP_ROOT}/macOS_x86_64_Debug/{lib/,include/} ${DEP_ROOT}/
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=$(which make) -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) -G "CodeBlocks - Unix Makefiles" -S ./ -B cmake-build-debug-x86_64 -DARCH=x86_64
|
||||
make -j4 -l4 -C cmake-build-debug-x86_64
|
||||
|
||||
ln -sf ${DEP_ROOT}/macOS_arm64_Release/{lib/,include/} ${DEP_ROOT}/
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=$(which make) -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) -G "CodeBlocks - Unix Makefiles" -S ./ -B cmake-build-release-arm64 -DARCH=arm64
|
||||
make -j4 -l4 -C cmake-build-release-arm64
|
||||
|
||||
ln -sf ${DEP_ROOT}/macOS_arm64_Debug/{lib/,include/} ${DEP_ROOT}/
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=$(which make) -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) -G "CodeBlocks - Unix Makefiles" -S ./ -B cmake-build-debug-arm64 -DARCH=arm64
|
||||
make -j4 -l4 -C cmake-build-debug-arm64
|
||||
llvm-strip -s cmake-build-release-x86_64/src/futurerestore
|
||||
llvm-strip -s cmake-build-release-arm64/src/futurerestore
|
19
.github/workflows/mac-post.sh
vendored
19
.github/workflows/mac-post.sh
vendored
|
@ -1,17 +1,14 @@
|
|||
#!/usr/bin/env zsh
|
||||
|
||||
set -e
|
||||
export BASE=${TMPDIR}/Builder/repos/futurerestore/.github/workflows
|
||||
export WORKFLOW_ROOT=/Users/runner/work/futurerestore/futurerestore/.github/workflows
|
||||
export DEP_ROOT=/Users/runner/work/futurerestore/futurerestore/dep_root
|
||||
export BASE=/Users/runner/work/futurerestore/futurerestore/
|
||||
|
||||
cd ${BASE}/../../
|
||||
cd ${BASE}
|
||||
export FUTURERESTORE_VERSION=$(git rev-list --count HEAD | tr -d '\n')
|
||||
export FUTURERESTORE_VERSION_RELEASE=$(cat version.txt | tr -d '\n')
|
||||
cd ${BASE}
|
||||
cp -RpP "${TMPDIR}/Builder/macOS_x86_64_1300_Release/bin/futurerestore" futurerestore
|
||||
tar cpPJf "futurerestore-macOS-x86_64-${FUTURERESTORE_VERSION_RELEASE}-Build_${FUTURERESTORE_VERSION}-RELEASE.tar.xz" futurerestore
|
||||
cp -RpP "${TMPDIR}/Builder/macOS_x86_64_1300_Debug/bin/futurerestore" futurerestore
|
||||
tar cpPJf "futurerestore-macOS-x86_64-${FUTURERESTORE_VERSION_RELEASE}-Build_${FUTURERESTORE_VERSION}-DEBUG.tar.xz" futurerestore
|
||||
cp -RpP "${TMPDIR}/Builder/macOS_arm64_1700_Release/bin/futurerestore" futurerestore
|
||||
tar cpPJf "futurerestore-macOS-arm64-${FUTURERESTORE_VERSION_RELEASE}-Build_${FUTURERESTORE_VERSION}-RELEASE.tar.xz" futurerestore
|
||||
cp -RpP "${TMPDIR}/Builder/macOS_arm64_1700_Debug/bin/futurerestore" futurerestore
|
||||
tar cpPJf "futurerestore-macOS-arm64-${FUTURERESTORE_VERSION_RELEASE}-Build_${FUTURERESTORE_VERSION}-DEBUG.tar.xz" futurerestore
|
||||
tar cpPJf "futurerestore-macOS-x86_64-${FUTURERESTORE_VERSION_RELEASE}-Build_${FUTURERESTORE_VERSION}-RELEASE.tar.xz" -C cmake-build-release-x86_64/src futurerestore
|
||||
tar cpPJf "futurerestore-macOS-x86_64-${FUTURERESTORE_VERSION_RELEASE}-Build_${FUTURERESTORE_VERSION}-DEBUG.tar.xz" -C cmake-build-debug-x86_64/src futurerestore
|
||||
tar cpPJf "futurerestore-macOS-arm64-${FUTURERESTORE_VERSION_RELEASE}-Build_${FUTURERESTORE_VERSION}-RELEASE.tar.xz" -C cmake-build-release-arm64/src futurerestore
|
||||
tar cpPJf "futurerestore-macOS-arm64-${FUTURERESTORE_VERSION_RELEASE}-Build_${FUTURERESTORE_VERSION}-DEBUG.tar.xz" -C cmake-build-debug-arm64/src futurerestore
|
||||
|
|
52
.gitignore
vendored
52
.gitignore
vendored
|
@ -1,29 +1,65 @@
|
|||
!dep_root/include
|
||||
!dep_root/include/.keep
|
||||
!dep_root/lib
|
||||
!dep_root/lib/.keep
|
||||
*.DS_Store
|
||||
.vscode
|
||||
*.[oa]
|
||||
*.a
|
||||
*.o
|
||||
*.diff
|
||||
*.in
|
||||
*.la
|
||||
*.lo
|
||||
*.o
|
||||
*.patch
|
||||
*.po
|
||||
*.so
|
||||
*/.libs
|
||||
*.swp
|
||||
*/.deps
|
||||
*/.deps/*
|
||||
*/.libs
|
||||
*/all.h*
|
||||
*/futurerestore*
|
||||
*/tsschecker*
|
||||
*Makefile
|
||||
*Makefile.in
|
||||
*~
|
||||
.DS_Store
|
||||
.build_complete
|
||||
.idea
|
||||
.vscode
|
||||
CMakeCache.txt
|
||||
CMakeFiles
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
autom4te.cache/*
|
||||
build
|
||||
cmake-build-debug
|
||||
cmake-build-release
|
||||
cmake_install.cmake
|
||||
compile
|
||||
!.github/workflows/config.guess
|
||||
config.*
|
||||
config.guess
|
||||
config.h
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
configure~
|
||||
dep_root/*
|
||||
dep_root/include/*
|
||||
dep_root/lib/*
|
||||
depcomp
|
||||
install-sh
|
||||
libtool
|
||||
ltmain.sh
|
||||
m4
|
||||
m4/*
|
||||
main
|
||||
missing
|
||||
*/futurerestore*
|
||||
mkinstalldirs
|
||||
py-compile
|
||||
src/.libs
|
||||
src/idevicerestore
|
||||
stamp-h1
|
||||
swig/*
|
||||
xcuserdata
|
||||
.build_complete
|
||||
.idea
|
||||
configure~
|
||||
|
|
4
.gitmodules
vendored
4
.gitmodules
vendored
|
@ -1,8 +1,8 @@
|
|||
[submodule "external/idevicerestore"]
|
||||
[submodule "idevicerestore"]
|
||||
path = external/idevicerestore
|
||||
url = https://github.com/futurerestore/idevicerestore.git
|
||||
branch = main
|
||||
[submodule "external/tsschecker"]
|
||||
[submodule "tsschecker"]
|
||||
path = external/tsschecker
|
||||
url = https://github.com/1Conan/tsschecker.git
|
||||
branch = master
|
||||
|
|
41
CMakeLists.txt
Normal file
41
CMakeLists.txt
Normal file
|
@ -0,0 +1,41 @@
|
|||
cmake_minimum_required(VERSION 3.22)
|
||||
set(SUBPROJECT_BUILD 1)
|
||||
if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Darwin")
|
||||
if(NOT DEFINED NO_XCODE AND NOT DEFINED ENV{NO_XCODE})
|
||||
execute_process(COMMAND xcrun --find clang WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE CC OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND xcrun --find clang++ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND xcrun --find ar WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE AR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND xcrun --find ld WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE LD OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND xcrun --show-sdk-path WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE SYSROOT OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set(CMAKE_C_COMPILER "${CC}")
|
||||
set(CMAKE_CXX_COMPILER "${CXX}")
|
||||
endif()
|
||||
if(NOT DEFINED ARCH)
|
||||
set(ARCH "$ENV{ARCH}")
|
||||
if(ARCH STREQUAL "")
|
||||
set(ARCH "${CMAKE_SYSTEM_PROCESSOR}")
|
||||
endif()
|
||||
endif()
|
||||
if("${ARCH}" STREQUAL "x86_64" OR "$ENV{ARCH}" STREQUAL "x86_64")
|
||||
set(MINVER -mmacosx-version-min=10.12)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12)
|
||||
else()
|
||||
set(MINVER -mmacosx-version-min=11.0)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 11.0)
|
||||
endif()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -arch ${ARCH} -isysroot ${SYSROOT} ${MINVER} -fembed-bitcode=off -flto=thin -pthread")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -arch ${ARCH} -isysroot ${SYSROOT} ${MINVER} -fembed-bitcode=off -flto=thin -pthread")
|
||||
elseif(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wl,--allow-multiple-definition -pthread")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--allow-multiple-definition -pthread")
|
||||
endif()
|
||||
set(CMAKE_C_FLAGS_RELEASE "-Os -DNDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-Os -DNDEBUG")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-g -O0 -DDEBUG")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -DDEBUG")
|
||||
set(CMAKE_C_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
project(futurerestore)
|
||||
add_subdirectory(external/tsschecker)
|
||||
add_subdirectory(external/idevicerestore)
|
||||
add_subdirectory(src)
|
62
COMPILING.md
Normal file
62
COMPILING.md
Normal file
|
@ -0,0 +1,62 @@
|
|||
# Compiling Futurerestore
|
||||
|
||||
# Required/Optional Dependencies
|
||||
* ## External libs
|
||||
Make sure these are installed
|
||||
* [curl](https://github.com/curl/curl) (Linux/Windows only, macOS already has curl preinstalled);
|
||||
* [openssl 3.0.3](https://github.com/openssl/openssl) (or CommonCrypto on macOS);
|
||||
* [libusb 1.0.25](https://github.com/libusb/libusb) (Linux/Windows only, macOS can use IOKit for libirecovery);
|
||||
* [libzip](https://github.com/nih-at/libzip);
|
||||
* [libplist](https://github.com/libimobiledevice/libplist);
|
||||
* [libusbmuxd](https://github.com/libimobiledevice/libusbmuxd);
|
||||
* [libirecovery](https://github.com/libimobiledevice/libirecovery);
|
||||
* [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice);
|
||||
* [libimobiledevice-glue](https://github.com/libimobiledevice/libimobiledevice-glue);
|
||||
* [libpng16](https://github.com/glennrp/libpng);
|
||||
* [xpwn(fork)](https://github.com/nyuszika7h/xpwn);
|
||||
* [libgeneral](https://github.com/tihmstar/libgeneral);
|
||||
* [libfragmentzip](https://github.com/tihmstar/libfragmentzip);
|
||||
* [libinsn](https://github.com/tihmstar/libinsn);
|
||||
* [lzfse](https://github.com/lzfse/lzfse) (Linux/Windows only, macOS has built in libcompression);
|
||||
* [img4tool](https://github.com/tihmstar/img4tool);
|
||||
* [liboffsetfinder64(fork))](https://github.com/Cryptiiiic/liboffsetfinder64);
|
||||
* [libipatcher(fork)](https://github.com/Cryptiiiic/libipatcher)
|
||||
|
||||
* ## Submodules
|
||||
Make sure these projects compile on your system (install it's dependencies):
|
||||
|
||||
* [tsschecker(fork)](https://github.com/1Conan/tsschecker);
|
||||
* * [jssy](https://github.com/tihmstar/jssy) (This is a submodule of tsschecker);
|
||||
* [idevicerestore(fork)](https://github.com/futurerestore/idevicerestore)
|
||||
|
||||
If you are cloning this repository you may run:
|
||||
|
||||
```git clone https://github.com/futurerestore/futurerestore --recursive```
|
||||
|
||||
which will clone these submodules for you.
|
||||
|
||||
# Building from source
|
||||
* ## dep_root
|
||||
After obtaining all the required/optional dependencies you can either install them to your
|
||||
|
||||
system for building dynamically or place the static libs in `dep_root/lib` and headers in
|
||||
|
||||
`dep_root/include` for building statically
|
||||
* ## build.sh
|
||||
Executing build.sh will configure and building in debug mode by default and an arch must be provided.
|
||||
* Example: `./build.sh -DARCH=x86_64` or `ARCH=x86_64 ./build.sh`
|
||||
|
||||
If you want to build in release mode pass in the RELEASE=1 environment variable.
|
||||
* Example: `RELEASE=1 ./build.sh -DARCH=x86_64` or `RELEASE=0 ./build.sh -DARCH=x86_64`
|
||||
|
||||
If you want to overwrite the compiler on mac you can provide `NO_XCODE` flag.
|
||||
* Example: `CC=gcc CXX=g++ ./build.sh -DARCH=x86_64 -DNO_XCODE`
|
||||
* or `NO_XCODE=1 CC=gcc CXX=g++ ./build.sh -DARCH=x86_64`
|
||||
|
||||
If you want to disable cmake reconfigure for each build, you can provide the `NO_CLEAN` flag.
|
||||
* Example: `NO_CLEAN=1 ./build.sh -DARCH=x86_64`
|
||||
* By default it will remove cmake and cache and reconfigure for each subsequent build.
|
||||
|
||||
The compiled binary will be located at:
|
||||
* `cmake-build-release/src/futurerestore` for release build
|
||||
* `cmake-build-debug/src/futurerestore` for debug builds
|
|
@ -1,4 +0,0 @@
|
|||
AUTOMAKE_OPTIONS = foreign
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
SUBDIRS = external/idevicerestore external/tsschecker futurerestore
|
||||
install installdirs: SUBDIRS = futurerestore
|
36
README.md
36
README.md
|
@ -23,41 +23,11 @@ FutureRestore is a modified idevicerestore wrapper, which allows manually specif
|
|||
* Odysseus for 32-bit & 64-bit (A7-A11) devices
|
||||
* Re-restoring 32-bit devices to iOS 9.x with [alitek123](https://github.com/alitek12)'s no-ApNonce method (alternative — [idevicererestore](https://downgrade.party)).
|
||||
|
||||
# Dependencies
|
||||
* ## External libs
|
||||
Make sure these are installed
|
||||
* [curl](https://github.com/curl/curl) (Linux/Windows only, macOS already has curl preinstalled);
|
||||
* [openssl 1.1.1](https://github.com/openssl/openssl) (or CommonCrypto on macOS);
|
||||
* [libusb 1.0.24](https://github.com/libusb/libusb) (Linux/Windows only, macOS can use IOKit for libirecovery);
|
||||
* [libzip](https://github.com/nih-at/libzip);
|
||||
* [libplist](https://github.com/libimobiledevice/libplist);
|
||||
* [libusbmuxd](https://github.com/libimobiledevice/libusbmuxd);
|
||||
* [libirecovery](https://github.com/libimobiledevice/libirecovery);
|
||||
* [libimobiledevice](https://github.com/libimobiledevice/libimobiledevice);
|
||||
* [libpng16](https://github.com/glennrp/libpng);
|
||||
* [xpwn(fork)](https://github.com/nyuszika7h/xpwn);
|
||||
* [libgeneral](https://github.com/tihmstar/libgeneral);
|
||||
* [libfragmentzip](https://github.com/tihmstar/libfragmentzip);
|
||||
* [libinsn](https://github.com/tihmstar/libinsn);
|
||||
* [lzfse](https://github.com/lzfse/lzfse);
|
||||
* [img4tool](https://github.com/tihmstar/img4tool);
|
||||
* [liboffsetfinder64(fork))](https://github.com/Cryptiiiic/liboffsetfinder64);
|
||||
* [libipatcher(fork)](https://github.com/Cryptiiiic/libipatcher)
|
||||
|
||||
* ## Submodules
|
||||
Make sure these projects compile on your system (install it's dependencies):
|
||||
|
||||
* [jssy](https://github.com/tihmstar/jssy);
|
||||
* [tsschecker(fork)](https://github.com/1Conan/tsschecker);
|
||||
* [idevicerestore(fork)](https://github.com/futurerestore/idevicerestore)
|
||||
|
||||
If you are cloning this repository you may run:
|
||||
|
||||
```git clone https://github.com/futurerestore/futurerestore --recursive```
|
||||
|
||||
which will clone these submodules for you.
|
||||
# Compiling
|
||||
See [COMPILING](COMPILING.md)
|
||||
|
||||
|
||||
# Futurerestore Usage
|
||||
Usage: `futurerestore [OPTIONS] iPSW`
|
||||
|
||||
| option (short) | option (long) | description |
|
||||
|
|
27
autogen.sh
27
autogen.sh
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
gprefix=`which glibtoolize 2>&1 >/dev/null`
|
||||
if [ $? -eq 0 ]; then
|
||||
glibtoolize --force
|
||||
else
|
||||
libtoolize --force
|
||||
fi
|
||||
aclocal -I m4
|
||||
autoconf
|
||||
autoheader
|
||||
automake --add-missing
|
||||
autoreconf -i
|
||||
|
||||
export NOCONFIGURE=1
|
||||
|
||||
SUBDIRS="external/idevicerestore external/tsschecker"
|
||||
for SUB in $SUBDIRS; do
|
||||
pushd $SUB
|
||||
./autogen.sh
|
||||
popd
|
||||
done
|
||||
|
||||
unset NOCONFIGURE
|
||||
|
||||
if [ -z "$NOCONFIGURE" ]; then
|
||||
./configure "$@"
|
||||
fi
|
13
build.sh
Executable file
13
build.sh
Executable file
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
if [[ -z "$NO_CLEAN" ]]; then rm -rf cmake-build-release cmake-build-debug; fi
|
||||
if [[ "$RELEASE" == "1" ]]
|
||||
then
|
||||
if [[ ! "$NO_CLEAN" == "1" ]]; then cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=$(which make) -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) -G "CodeBlocks - Unix Makefiles" -S ./ -B cmake-build-release $@; fi
|
||||
make -C cmake-build-release clean
|
||||
make -C cmake-build-release
|
||||
llvm-strip -s cmake-build-release/src/futurerestore
|
||||
else
|
||||
if [[ ! "$NO_CLEAN" == "1" ]]; then cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=$(which make) -DCMAKE_C_COMPILER=$(which clang) -DCMAKE_CXX_COMPILER=$(which clang++) -G "CodeBlocks - Unix Makefiles" -S ./ -B cmake-build-debug $@ ; fi
|
||||
make -C cmake-build-debug clean
|
||||
make -C cmake-build-debug
|
||||
fi
|
103
configure.ac
103
configure.ac
|
@ -1,103 +0,0 @@
|
|||
AC_PREREQ([2.69])
|
||||
AC_INIT([futurerestore], m4_esyscmd([git rev-list --count HEAD | tr -d '\n']), [tihmstar@gmail.com])
|
||||
|
||||
AC_CANONICAL_SYSTEM
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
AM_INIT_AUTOMAKE([subdir-objects])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_MACRO_DIRS([m4])
|
||||
|
||||
# Versioning.
|
||||
AC_DEFINE([VERSION_COMMIT_COUNT], "m4_esyscmd([git rev-list --count HEAD | tr -d '\n'])", [Git commit count])
|
||||
AC_DEFINE([VERSION_COMMIT_SHA], "m4_esyscmd([git rev-parse HEAD | tr -d '\n'])", [Git commit sha])
|
||||
AC_DEFINE([VERSION_RELEASE], "m4_esyscmd([cat version.txt | tr -d '\n'])", [Futurerestore release version])
|
||||
AC_SUBST([VERSION_COMMIT_COUNT], ["m4_esyscmd([git rev-list --count HEAD | tr -d '\n'])"])
|
||||
AC_SUBST([VERSION_COMMIT_SHA], ["m4_esyscmd([git rev-parse HEAD | tr -d '\n'])"])
|
||||
AC_SUBST([VERSION_RELEASE], ["m4_esyscmd([cat version.txt | tr -d '\n'])"])
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_CXX
|
||||
AC_PROG_CC
|
||||
|
||||
# Check for operating system.
|
||||
AC_MSG_CHECKING([whether we need platform-specific build settings])
|
||||
case $host_os in
|
||||
darwin* )
|
||||
CXXFLAGS+=" -stdlib=libc++"
|
||||
;;
|
||||
esac
|
||||
|
||||
# Checks the flags.
|
||||
CFLAGS+=" -DIDEVICERESTORE_NOMAIN=1 -DTSSCHECKER_NOMAIN=1"
|
||||
CXXFLAGS+=" -std=gnu++11"
|
||||
CFLAGS+=" -std=gnu11"
|
||||
|
||||
AC_DEFUN([AX_UNPRECIOUS], [
|
||||
m4_define([_AC_PRECIOUS_VARS], m4_bpatsubst(_AC_PRECIOUS_VARS, [$1], []))
|
||||
])
|
||||
AX_UNPRECIOUS([CFLAGS])
|
||||
export CFLAGS
|
||||
|
||||
AC_CONFIG_SUBDIRS(external/idevicerestore external/tsschecker)
|
||||
AC_CONFIG_SRCDIR([futurerestore])
|
||||
|
||||
# Checks the libraries.
|
||||
LIBIPATCHER_REQUIRES_STR="libipatcher >= 61"
|
||||
LIBPLIST_REQUIRES_STR="libplist-2.0 >= 2.2.0"
|
||||
LIBZIP_REQUIRES_STR="libzip >= 0.10"
|
||||
LIBIMOBILEDEVICE_REQUIRES_STR="libimobiledevice-1.0 >= 1.2.1"
|
||||
LIBFRAGMENTZIP_REQUIRES_STR="libfragmentzip >= 47"
|
||||
LIBIRECOVERY_REQUIRES_STR="libirecovery-1.0 >= 1.0.0"
|
||||
IMG4TOOL_REQUIRES_STR="libimg4tool >= 162"
|
||||
LIBGENERAL_REQUIRES_STR="libgeneral >= 26"
|
||||
|
||||
PKG_CHECK_MODULES(libplist, $LIBPLIST_REQUIRES_STR)
|
||||
PKG_CHECK_MODULES(libzip, $LIBZIP_REQUIRES_STR)
|
||||
PKG_CHECK_MODULES(libimobiledevice, $LIBIMOBILEDEVICE_REQUIRES_STR)
|
||||
PKG_CHECK_MODULES(libfragmentzip, $LIBFRAGMENTZIP_REQUIRES_STR)
|
||||
PKG_CHECK_MODULES(libirecovery, $LIBIRECOVERY_REQUIRES_STR)
|
||||
PKG_CHECK_MODULES(libimg4tool, $IMG4TOOL_REQUIRES_STR)
|
||||
PKG_CHECK_MODULES(libgeneral, $LIBGENERAL_REQUIRES_STR)
|
||||
|
||||
# Optional module libipatcher
|
||||
AC_ARG_WITH([libipatcher],
|
||||
[AS_HELP_STRING([--without-libipatcher],
|
||||
[build with bundle-less odysseus support (default is yes)])],
|
||||
[build_libipatcher=false],
|
||||
[build_libipatcher=true])
|
||||
|
||||
PKG_PROG_PKG_CONFIG
|
||||
LIBIPATCHER_FLAGS=$($PKG_CONFIG --cflags libipatcher)
|
||||
if [test -z "$LIBIPATCHER_FLAGS"]; then
|
||||
do_libipatcher=no
|
||||
else
|
||||
AC_MSG_CHECKING([for futurerestore libipatcher])
|
||||
if test "$build_libipatcher" = "true"; then
|
||||
PKG_CHECK_MODULES(libipatcher, $LIBIPATCHER_REQUIRES_STR)
|
||||
AC_DEFINE(HAVE_LIBIPATCHER, 1, [Define if you have libipatcher])
|
||||
do_libipatcher=yes
|
||||
else
|
||||
do_libipatcher=no
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL([HAVE_LIBIPATCHER],[test "x$do_libipatcher" = "xyes"])
|
||||
|
||||
AC_DEFINE(CUSTOM_LOGGING, <stdlib.h>, [required for futurerestore])
|
||||
|
||||
LT_INIT
|
||||
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
futurerestore/Makefile
|
||||
])
|
||||
|
||||
echo "
|
||||
Configuration for $PACKAGE $VERSION:
|
||||
-------------------------------------------
|
||||
|
||||
Install prefix ..........: $prefix
|
||||
With libipatcher ........: $do_libipatcher
|
||||
Now type 'make' to build $PACKAGE $VERSION,
|
||||
and then 'make install' for installation.
|
||||
"
|
0
dep_root/.keep
Normal file
0
dep_root/.keep
Normal file
2
external/idevicerestore
vendored
2
external/idevicerestore
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 44c13e418806e8cb5b666486bb0de6052e5cfb3d
|
||||
Subproject commit 78e077ccd41b5ee8d6c35702805a01a954d62cfc
|
2
external/tsschecker
vendored
2
external/tsschecker
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 38dc80af7f55cacc75b623bb8efe2fcbf26eaf96
|
||||
Subproject commit ba70a6ad0c818b67028276c430ef221591692d2a
|
|
@ -1,557 +0,0 @@
|
|||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 47;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
5669111D23B3D86E00C93279 /* libbz2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669111C23B3D86E00C93279 /* libbz2.a */; };
|
||||
5669111F23B3D88200C93279 /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669111E23B3D88200C93279 /* libcrypto.a */; };
|
||||
5669112123B3D89B00C93279 /* libcurl.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669112023B3D89B00C93279 /* libcurl.tbd */; };
|
||||
5669112323B3D89E00C93279 /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669112223B3D89E00C93279 /* libz.tbd */; };
|
||||
5669112523B3D8B200C93279 /* libfragmentzip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669112423B3D8B200C93279 /* libfragmentzip.a */; };
|
||||
5669112723B3D8BE00C93279 /* libgeneral.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669112623B3D8BE00C93279 /* libgeneral.a */; };
|
||||
5669112923B3D8CF00C93279 /* libimg4tool.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669112823B3D8CE00C93279 /* libimg4tool.a */; };
|
||||
5669112B23B3D8DA00C93279 /* libimobiledevice.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669112A23B3D8DA00C93279 /* libimobiledevice.a */; };
|
||||
5669112D23B3D8E200C93279 /* libipatcher.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669112C23B3D8E200C93279 /* libipatcher.a */; };
|
||||
5669112F23B3D8ED00C93279 /* libirecovery.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669112E23B3D8ED00C93279 /* libirecovery.a */; };
|
||||
5669113123B3D91B00C93279 /* libpartialzip-1.0.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669113023B3D91B00C93279 /* libpartialzip-1.0.a */; };
|
||||
5669113323B3D92B00C93279 /* libplist.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669113223B3D92B00C93279 /* libplist.a */; };
|
||||
5669113523B3D94300C93279 /* libzip.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5669113423B3D94300C93279 /* libzip.a */; };
|
||||
878587471D89CFDC008689F0 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 878587461D89CFDC008689F0 /* main.cpp */; };
|
||||
8799B0B21D89D99D002F4D5F /* futurerestore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8799B0B01D89D99D002F4D5F /* futurerestore.cpp */; };
|
||||
8799B0B31D89DAE7002F4D5F /* idevicerestore.c in Sources */ = {isa = PBXBuildFile; fileRef = 8785875C1D89D1C1008689F0 /* idevicerestore.c */; };
|
||||
8799B0B41D89DAF6002F4D5F /* tss.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587761D89D1C1008689F0 /* tss.c */; };
|
||||
8799B0B51D89DAFF002F4D5F /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587511D89D1C1008689F0 /* common.c */; };
|
||||
8799B0B61D89DAFF002F4D5F /* dfu.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587531D89D1C1008689F0 /* dfu.c */; };
|
||||
8799B0B71D89DAFF002F4D5F /* normal.c in Sources */ = {isa = PBXBuildFile; fileRef = 8785876C1D89D1C1008689F0 /* normal.c */; };
|
||||
8799B0B81D89DAFF002F4D5F /* recovery.c in Sources */ = {isa = PBXBuildFile; fileRef = 8785876E1D89D1C1008689F0 /* recovery.c */; };
|
||||
8799B0B91D89DB0D002F4D5F /* img3.c in Sources */ = {isa = PBXBuildFile; fileRef = 8785875E1D89D1C1008689F0 /* img3.c */; };
|
||||
8799B0BB1D89DB12002F4D5F /* download.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587551D89D1C1008689F0 /* download.c */; settings = {COMPILER_FLAGS = "-DPACKAGE_VERSION=\"\""; }; };
|
||||
8799B0BC1D89DB27002F4D5F /* ipsw.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587621D89D1C1008689F0 /* ipsw.c */; };
|
||||
8799B0BD1D89DB27002F4D5F /* limera1n.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587641D89D1C1008689F0 /* limera1n.c */; };
|
||||
8799B0BE1D89DB27002F4D5F /* restore.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587701D89D1C1008689F0 /* restore.c */; };
|
||||
8799B0BF1D89DB38002F4D5F /* asr.c in Sources */ = {isa = PBXBuildFile; fileRef = 8785874F1D89D1C1008689F0 /* asr.c */; };
|
||||
8799B0C01D89DB38002F4D5F /* fdr.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587581D89D1C1008689F0 /* fdr.c */; };
|
||||
8799B0C11D89DB38002F4D5F /* fls.c in Sources */ = {isa = PBXBuildFile; fileRef = 8785875A1D89D1C1008689F0 /* fls.c */; };
|
||||
8799B0C21D89DB46002F4D5F /* thread.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587741D89D1C1008689F0 /* thread.c */; };
|
||||
8799B0C31D89DB4B002F4D5F /* socket.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587721D89D1C1008689F0 /* socket.c */; };
|
||||
8799B0C41D89DB55002F4D5F /* mbn.c in Sources */ = {isa = PBXBuildFile; fileRef = 8785876A1D89D1C1008689F0 /* mbn.c */; };
|
||||
8799B0C51D89DB67002F4D5F /* locking.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587671D89D1C1008689F0 /* locking.c */; };
|
||||
8799B0CA1D89E371002F4D5F /* img4.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587601D89D1C1008689F0 /* img4.c */; };
|
||||
8799B0CB1D89F796002F4D5F /* tsschecker.c in Sources */ = {isa = PBXBuildFile; fileRef = 8785879F1D89D2BA008689F0 /* tsschecker.c */; };
|
||||
8799B0CC1D89F7B9002F4D5F /* download.c in Sources */ = {isa = PBXBuildFile; fileRef = 878587981D89D2BA008689F0 /* download.c */; };
|
||||
87B517C3236EF36B009EAB8F /* ftab.c in Sources */ = {isa = PBXBuildFile; fileRef = 87B517C1236EF36B009EAB8F /* ftab.c */; };
|
||||
87B517C6236EF3B0009EAB8F /* json_plist.c in Sources */ = {isa = PBXBuildFile; fileRef = 87B517C5236EF3B0009EAB8F /* json_plist.c */; };
|
||||
87B517C9236EF3CD009EAB8F /* jsmn.c in Sources */ = {isa = PBXBuildFile; fileRef = 87B517C7236EF3CD009EAB8F /* jsmn.c */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
8762F346236DF4D900F42FDB /* Embed Libraries */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
);
|
||||
name = "Embed Libraries";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
878587411D89CFDC008689F0 /* CopyFiles */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = /usr/share/man/man1/;
|
||||
dstSubfolderSpec = 0;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 1;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
5669111C23B3D86E00C93279 /* libbz2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbz2.a; path = ../../../../../usr/local/lib/libbz2.a; sourceTree = "<group>"; };
|
||||
5669111E23B3D88200C93279 /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcrypto.a; path = ../../../../../usr/local/lib/libcrypto.a; sourceTree = "<group>"; };
|
||||
5669112023B3D89B00C93279 /* libcurl.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libcurl.tbd; path = usr/lib/libcurl.tbd; sourceTree = SDKROOT; };
|
||||
5669112223B3D89E00C93279 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
|
||||
5669112423B3D8B200C93279 /* libfragmentzip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfragmentzip.a; path = ../../../../../usr/local/lib/libfragmentzip.a; sourceTree = "<group>"; };
|
||||
5669112623B3D8BE00C93279 /* libgeneral.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgeneral.a; path = ../../../../../usr/local/lib/libgeneral.a; sourceTree = "<group>"; };
|
||||
5669112823B3D8CE00C93279 /* libimg4tool.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libimg4tool.a; path = ../../../../../usr/local/lib/libimg4tool.a; sourceTree = "<group>"; };
|
||||
5669112A23B3D8DA00C93279 /* libimobiledevice.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libimobiledevice.a; path = ../../../../../usr/local/lib/libimobiledevice.a; sourceTree = "<group>"; };
|
||||
5669112C23B3D8E200C93279 /* libipatcher.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libipatcher.a; path = ../../../../../usr/local/lib/libipatcher.a; sourceTree = "<group>"; };
|
||||
5669112E23B3D8ED00C93279 /* libirecovery.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libirecovery.a; path = ../../../../../usr/local/lib/libirecovery.a; sourceTree = "<group>"; };
|
||||
5669113023B3D91B00C93279 /* libpartialzip-1.0.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libpartialzip-1.0.a"; path = "../../../../../usr/local/lib/libpartialzip-1.0.a"; sourceTree = "<group>"; };
|
||||
5669113223B3D92B00C93279 /* libplist.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libplist.a; path = ../../../../../usr/local/lib/libplist.a; sourceTree = "<group>"; };
|
||||
5669113423B3D94300C93279 /* libzip.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libzip.a; path = ../../../../../usr/local/lib/libzip.a; sourceTree = "<group>"; };
|
||||
878587431D89CFDC008689F0 /* futurerestore */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = futurerestore; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
878587461D89CFDC008689F0 /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = "<group>"; };
|
||||
8785874F1D89D1C1008689F0 /* asr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = asr.c; sourceTree = "<group>"; };
|
||||
878587501D89D1C1008689F0 /* asr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asr.h; sourceTree = "<group>"; };
|
||||
878587511D89D1C1008689F0 /* common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = common.c; sourceTree = "<group>"; };
|
||||
878587521D89D1C1008689F0 /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = "<group>"; };
|
||||
878587531D89D1C1008689F0 /* dfu.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dfu.c; sourceTree = "<group>"; };
|
||||
878587541D89D1C1008689F0 /* dfu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = dfu.h; sourceTree = "<group>"; };
|
||||
878587551D89D1C1008689F0 /* download.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = download.c; sourceTree = "<group>"; };
|
||||
878587561D89D1C1008689F0 /* download.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = download.h; sourceTree = "<group>"; };
|
||||
878587571D89D1C1008689F0 /* endianness.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = endianness.h; sourceTree = "<group>"; };
|
||||
878587581D89D1C1008689F0 /* fdr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fdr.c; sourceTree = "<group>"; };
|
||||
878587591D89D1C1008689F0 /* fdr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fdr.h; sourceTree = "<group>"; };
|
||||
8785875A1D89D1C1008689F0 /* fls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = fls.c; sourceTree = "<group>"; };
|
||||
8785875B1D89D1C1008689F0 /* fls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fls.h; sourceTree = "<group>"; };
|
||||
8785875C1D89D1C1008689F0 /* idevicerestore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = idevicerestore.c; sourceTree = "<group>"; };
|
||||
8785875D1D89D1C1008689F0 /* idevicerestore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = idevicerestore.h; sourceTree = "<group>"; };
|
||||
8785875E1D89D1C1008689F0 /* img3.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = img3.c; sourceTree = "<group>"; };
|
||||
8785875F1D89D1C1008689F0 /* img3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = img3.h; sourceTree = "<group>"; };
|
||||
878587601D89D1C1008689F0 /* img4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = img4.c; sourceTree = "<group>"; };
|
||||
878587611D89D1C1008689F0 /* img4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = img4.h; sourceTree = "<group>"; };
|
||||
878587621D89D1C1008689F0 /* ipsw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ipsw.c; sourceTree = "<group>"; };
|
||||
878587631D89D1C1008689F0 /* ipsw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ipsw.h; sourceTree = "<group>"; };
|
||||
878587641D89D1C1008689F0 /* limera1n.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = limera1n.c; sourceTree = "<group>"; };
|
||||
878587651D89D1C1008689F0 /* limera1n.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limera1n.h; sourceTree = "<group>"; };
|
||||
878587661D89D1C1008689F0 /* limera1n_payload.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = limera1n_payload.h; sourceTree = "<group>"; };
|
||||
878587671D89D1C1008689F0 /* locking.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = locking.c; sourceTree = "<group>"; };
|
||||
878587681D89D1C1008689F0 /* locking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = locking.h; sourceTree = "<group>"; };
|
||||
8785876A1D89D1C1008689F0 /* mbn.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mbn.c; sourceTree = "<group>"; };
|
||||
8785876B1D89D1C1008689F0 /* mbn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mbn.h; sourceTree = "<group>"; };
|
||||
8785876C1D89D1C1008689F0 /* normal.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = normal.c; sourceTree = "<group>"; };
|
||||
8785876D1D89D1C1008689F0 /* normal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = normal.h; sourceTree = "<group>"; };
|
||||
8785876E1D89D1C1008689F0 /* recovery.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = recovery.c; sourceTree = "<group>"; };
|
||||
8785876F1D89D1C1008689F0 /* recovery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = recovery.h; sourceTree = "<group>"; };
|
||||
878587701D89D1C1008689F0 /* restore.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = restore.c; sourceTree = "<group>"; };
|
||||
878587711D89D1C1008689F0 /* restore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = restore.h; sourceTree = "<group>"; };
|
||||
878587721D89D1C1008689F0 /* socket.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = socket.c; sourceTree = "<group>"; };
|
||||
878587731D89D1C1008689F0 /* socket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = socket.h; sourceTree = "<group>"; };
|
||||
878587741D89D1C1008689F0 /* thread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = thread.c; sourceTree = "<group>"; };
|
||||
878587751D89D1C1008689F0 /* thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = thread.h; sourceTree = "<group>"; };
|
||||
878587761D89D1C1008689F0 /* tss.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tss.c; sourceTree = "<group>"; };
|
||||
878587771D89D1C1008689F0 /* tss.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tss.h; sourceTree = "<group>"; };
|
||||
878587981D89D2BA008689F0 /* download.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = download.c; sourceTree = "<group>"; };
|
||||
878587991D89D2BA008689F0 /* download.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = download.h; sourceTree = "<group>"; };
|
||||
8785879A1D89D2BA008689F0 /* jssy.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jssy.c; path = ../external/jssy/jssy/jssy.c; sourceTree = "<group>"; };
|
||||
8785879B1D89D2BA008689F0 /* jssy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = jssy.h; path = ../external/jssy/jssy/jssy.h; sourceTree = "<group>"; };
|
||||
8785879F1D89D2BA008689F0 /* tsschecker.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tsschecker.c; sourceTree = "<group>"; };
|
||||
878587A01D89D2BA008689F0 /* tsschecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = tsschecker.h; sourceTree = "<group>"; };
|
||||
8799B0B01D89D99D002F4D5F /* futurerestore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = futurerestore.cpp; sourceTree = "<group>"; };
|
||||
8799B0B11D89D99D002F4D5F /* futurerestore.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = futurerestore.hpp; sourceTree = "<group>"; };
|
||||
87B517C1236EF36B009EAB8F /* ftab.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ftab.c; sourceTree = "<group>"; };
|
||||
87B517C2236EF36B009EAB8F /* ftab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ftab.h; sourceTree = "<group>"; };
|
||||
87B517C4236EF3B0009EAB8F /* json_plist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = json_plist.h; sourceTree = "<group>"; };
|
||||
87B517C5236EF3B0009EAB8F /* json_plist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = json_plist.c; sourceTree = "<group>"; };
|
||||
87B517C7236EF3CD009EAB8F /* jsmn.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = jsmn.c; sourceTree = "<group>"; };
|
||||
87B517C8236EF3CD009EAB8F /* jsmn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = jsmn.h; sourceTree = "<group>"; };
|
||||
87F574C71E151DA6008D5C4D /* libcommonCrypto.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libcommonCrypto.tbd; path = usr/lib/system/libcommonCrypto.tbd; sourceTree = SDKROOT; };
|
||||
87F574CC1E151EF8008D5C4D /* libcorecrypto.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libcorecrypto.tbd; path = usr/lib/system/libcorecrypto.tbd; sourceTree = SDKROOT; };
|
||||
87F574CE1E151F11008D5C4D /* libSystem.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libSystem.tbd; path = usr/lib/libSystem.tbd; sourceTree = SDKROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
878587401D89CFDC008689F0 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
5669113323B3D92B00C93279 /* libplist.a in Frameworks */,
|
||||
5669111D23B3D86E00C93279 /* libbz2.a in Frameworks */,
|
||||
5669112523B3D8B200C93279 /* libfragmentzip.a in Frameworks */,
|
||||
5669112923B3D8CF00C93279 /* libimg4tool.a in Frameworks */,
|
||||
5669112D23B3D8E200C93279 /* libipatcher.a in Frameworks */,
|
||||
5669112B23B3D8DA00C93279 /* libimobiledevice.a in Frameworks */,
|
||||
5669112F23B3D8ED00C93279 /* libirecovery.a in Frameworks */,
|
||||
5669113123B3D91B00C93279 /* libpartialzip-1.0.a in Frameworks */,
|
||||
5669112723B3D8BE00C93279 /* libgeneral.a in Frameworks */,
|
||||
5669112123B3D89B00C93279 /* libcurl.tbd in Frameworks */,
|
||||
5669112323B3D89E00C93279 /* libz.tbd in Frameworks */,
|
||||
5669111F23B3D88200C93279 /* libcrypto.a in Frameworks */,
|
||||
5669113523B3D94300C93279 /* libzip.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
8785873A1D89CFDC008689F0 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
878587451D89CFDC008689F0 /* futurerestore */,
|
||||
878587441D89CFDC008689F0 /* Products */,
|
||||
87F574C21E151CDE008D5C4D /* Frameworks */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
878587441D89CFDC008689F0 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
878587431D89CFDC008689F0 /* futurerestore */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
878587451D89CFDC008689F0 /* futurerestore */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8785874D1D89D1A4008689F0 /* external */,
|
||||
8799B0B11D89D99D002F4D5F /* futurerestore.hpp */,
|
||||
8799B0B01D89D99D002F4D5F /* futurerestore.cpp */,
|
||||
878587461D89CFDC008689F0 /* main.cpp */,
|
||||
);
|
||||
path = futurerestore;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8785874D1D89D1A4008689F0 /* external */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
878587961D89D2BA008689F0 /* tsschecker */,
|
||||
8785874E1D89D1C1008689F0 /* idevicerestore */,
|
||||
);
|
||||
name = external;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8785874E1D89D1C1008689F0 /* idevicerestore */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8785874F1D89D1C1008689F0 /* asr.c */,
|
||||
878587501D89D1C1008689F0 /* asr.h */,
|
||||
878587511D89D1C1008689F0 /* common.c */,
|
||||
878587521D89D1C1008689F0 /* common.h */,
|
||||
878587531D89D1C1008689F0 /* dfu.c */,
|
||||
878587541D89D1C1008689F0 /* dfu.h */,
|
||||
878587551D89D1C1008689F0 /* download.c */,
|
||||
878587561D89D1C1008689F0 /* download.h */,
|
||||
878587571D89D1C1008689F0 /* endianness.h */,
|
||||
878587581D89D1C1008689F0 /* fdr.c */,
|
||||
878587591D89D1C1008689F0 /* fdr.h */,
|
||||
8785875A1D89D1C1008689F0 /* fls.c */,
|
||||
8785875B1D89D1C1008689F0 /* fls.h */,
|
||||
8785875C1D89D1C1008689F0 /* idevicerestore.c */,
|
||||
8785875D1D89D1C1008689F0 /* idevicerestore.h */,
|
||||
8785875E1D89D1C1008689F0 /* img3.c */,
|
||||
8785875F1D89D1C1008689F0 /* img3.h */,
|
||||
878587601D89D1C1008689F0 /* img4.c */,
|
||||
878587611D89D1C1008689F0 /* img4.h */,
|
||||
87B517C5236EF3B0009EAB8F /* json_plist.c */,
|
||||
87B517C4236EF3B0009EAB8F /* json_plist.h */,
|
||||
87B517C1236EF36B009EAB8F /* ftab.c */,
|
||||
87B517C2236EF36B009EAB8F /* ftab.h */,
|
||||
87B517C7236EF3CD009EAB8F /* jsmn.c */,
|
||||
87B517C8236EF3CD009EAB8F /* jsmn.h */,
|
||||
878587621D89D1C1008689F0 /* ipsw.c */,
|
||||
878587631D89D1C1008689F0 /* ipsw.h */,
|
||||
878587641D89D1C1008689F0 /* limera1n.c */,
|
||||
878587651D89D1C1008689F0 /* limera1n.h */,
|
||||
878587661D89D1C1008689F0 /* limera1n_payload.h */,
|
||||
878587671D89D1C1008689F0 /* locking.c */,
|
||||
878587681D89D1C1008689F0 /* locking.h */,
|
||||
8785876A1D89D1C1008689F0 /* mbn.c */,
|
||||
8785876B1D89D1C1008689F0 /* mbn.h */,
|
||||
8785876C1D89D1C1008689F0 /* normal.c */,
|
||||
8785876D1D89D1C1008689F0 /* normal.h */,
|
||||
8785876E1D89D1C1008689F0 /* recovery.c */,
|
||||
8785876F1D89D1C1008689F0 /* recovery.h */,
|
||||
878587701D89D1C1008689F0 /* restore.c */,
|
||||
878587711D89D1C1008689F0 /* restore.h */,
|
||||
878587721D89D1C1008689F0 /* socket.c */,
|
||||
878587731D89D1C1008689F0 /* socket.h */,
|
||||
878587741D89D1C1008689F0 /* thread.c */,
|
||||
878587751D89D1C1008689F0 /* thread.h */,
|
||||
878587761D89D1C1008689F0 /* tss.c */,
|
||||
878587771D89D1C1008689F0 /* tss.h */,
|
||||
);
|
||||
name = idevicerestore;
|
||||
path = external/idevicerestore/src;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
878587961D89D2BA008689F0 /* tsschecker */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
878587991D89D2BA008689F0 /* download.h */,
|
||||
878587981D89D2BA008689F0 /* download.c */,
|
||||
8785879B1D89D2BA008689F0 /* jssy.h */,
|
||||
8785879A1D89D2BA008689F0 /* jssy.c */,
|
||||
878587A01D89D2BA008689F0 /* tsschecker.h */,
|
||||
8785879F1D89D2BA008689F0 /* tsschecker.c */,
|
||||
);
|
||||
name = tsschecker;
|
||||
path = external/tsschecker/tsschecker;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
87F574C21E151CDE008D5C4D /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
5669111C23B3D86E00C93279 /* libbz2.a */,
|
||||
87F574C71E151DA6008D5C4D /* libcommonCrypto.tbd */,
|
||||
87F574CC1E151EF8008D5C4D /* libcorecrypto.tbd */,
|
||||
5669111E23B3D88200C93279 /* libcrypto.a */,
|
||||
5669112023B3D89B00C93279 /* libcurl.tbd */,
|
||||
5669112223B3D89E00C93279 /* libz.tbd */,
|
||||
5669112623B3D8BE00C93279 /* libgeneral.a */,
|
||||
5669112423B3D8B200C93279 /* libfragmentzip.a */,
|
||||
5669112823B3D8CE00C93279 /* libimg4tool.a */,
|
||||
5669112A23B3D8DA00C93279 /* libimobiledevice.a */,
|
||||
5669112C23B3D8E200C93279 /* libipatcher.a */,
|
||||
5669112E23B3D8ED00C93279 /* libirecovery.a */,
|
||||
5669113023B3D91B00C93279 /* libpartialzip-1.0.a */,
|
||||
5669113223B3D92B00C93279 /* libplist.a */,
|
||||
87F574CE1E151F11008D5C4D /* libSystem.tbd */,
|
||||
5669113423B3D94300C93279 /* libzip.a */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
878587421D89CFDC008689F0 /* futurerestore */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 8785874A1D89CFDC008689F0 /* Build configuration list for PBXNativeTarget "futurerestore" */;
|
||||
buildPhases = (
|
||||
8785873F1D89CFDC008689F0 /* Sources */,
|
||||
878587401D89CFDC008689F0 /* Frameworks */,
|
||||
878587411D89CFDC008689F0 /* CopyFiles */,
|
||||
8762F346236DF4D900F42FDB /* Embed Libraries */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = futurerestore;
|
||||
productName = futurerestore;
|
||||
productReference = 878587431D89CFDC008689F0 /* futurerestore */;
|
||||
productType = "com.apple.product-type.tool";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
8785873B1D89CFDC008689F0 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 1130;
|
||||
ORGANIZATIONNAME = tihmstar;
|
||||
TargetAttributes = {
|
||||
878587421D89CFDC008689F0 = {
|
||||
CreatedOnToolsVersion = 7.3.1;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 8785873E1D89CFDC008689F0 /* Build configuration list for PBXProject "futurerestore" */;
|
||||
compatibilityVersion = "Xcode 6.3";
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 8785873A1D89CFDC008689F0;
|
||||
productRefGroup = 878587441D89CFDC008689F0 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
878587421D89CFDC008689F0 /* futurerestore */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8785873F1D89CFDC008689F0 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8799B0C11D89DB38002F4D5F /* fls.c in Sources */,
|
||||
8799B0B41D89DAF6002F4D5F /* tss.c in Sources */,
|
||||
8799B0C01D89DB38002F4D5F /* fdr.c in Sources */,
|
||||
8799B0BC1D89DB27002F4D5F /* ipsw.c in Sources */,
|
||||
87B517C3236EF36B009EAB8F /* ftab.c in Sources */,
|
||||
8799B0CC1D89F7B9002F4D5F /* download.c in Sources */,
|
||||
8799B0B91D89DB0D002F4D5F /* img3.c in Sources */,
|
||||
8799B0B51D89DAFF002F4D5F /* common.c in Sources */,
|
||||
8799B0C41D89DB55002F4D5F /* mbn.c in Sources */,
|
||||
8799B0B81D89DAFF002F4D5F /* recovery.c in Sources */,
|
||||
8799B0B31D89DAE7002F4D5F /* idevicerestore.c in Sources */,
|
||||
8799B0BB1D89DB12002F4D5F /* download.c in Sources */,
|
||||
8799B0B71D89DAFF002F4D5F /* normal.c in Sources */,
|
||||
87B517C9236EF3CD009EAB8F /* jsmn.c in Sources */,
|
||||
8799B0C31D89DB4B002F4D5F /* socket.c in Sources */,
|
||||
8799B0C21D89DB46002F4D5F /* thread.c in Sources */,
|
||||
8799B0B61D89DAFF002F4D5F /* dfu.c in Sources */,
|
||||
8799B0BD1D89DB27002F4D5F /* limera1n.c in Sources */,
|
||||
8799B0C51D89DB67002F4D5F /* locking.c in Sources */,
|
||||
878587471D89CFDC008689F0 /* main.cpp in Sources */,
|
||||
87B517C6236EF3B0009EAB8F /* json_plist.c in Sources */,
|
||||
8799B0BF1D89DB38002F4D5F /* asr.c in Sources */,
|
||||
8799B0BE1D89DB27002F4D5F /* restore.c in Sources */,
|
||||
8799B0CB1D89F796002F4D5F /* tsschecker.c in Sources */,
|
||||
8799B0CA1D89E371002F4D5F /* img4.c in Sources */,
|
||||
8799B0B21D89D99D002F4D5F /* futurerestore.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
878587481D89CFDC008689F0 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
INSTALL_PATH = /usr/local/bin;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
878587491D89CFDC008689F0 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_NONNULL = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
INSTALL_PATH = /usr/local/bin;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
SDKROOT = macosx;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
8785874B1D89CFDC008689F0 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
"IDEVICERESTORE_NOMAIN=1",
|
||||
"CUSTOM_LOGGING=1",
|
||||
"HAVE_REALPATH=1",
|
||||
);
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
/usr/local/lib,
|
||||
/usr/lib,
|
||||
/usr/local/opt/openssl/lib,
|
||||
"$(SDKROOT)/usr/lib/system",
|
||||
);
|
||||
OTHER_CFLAGS = "-DHAVE_LIBIPATCHER";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
USER_HEADER_SEARCH_PATHS = "/usr/local/opt/openssl/include /usr/local/include $(SRCROOT)/external/libgeneral/include $(SRCROOT)/external/tsschecker/external/jssy/jssy $(SRCROOT)/external/idevicerestore/src";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
8785874C1D89CFDC008689F0 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = YES;
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
/usr/local/lib,
|
||||
/usr/lib,
|
||||
/usr/local/opt/openssl/lib,
|
||||
"$(SDKROOT)/usr/lib/system",
|
||||
);
|
||||
OTHER_CFLAGS = "-DHAVE_LIBIPATCHER";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
USER_HEADER_SEARCH_PATHS = "/usr/local/opt/openssl/include /usr/local/include $(SRCROOT)/external/libgeneral/include $(SRCROOT)/external/tsschecker/external/jssy/jssy $(SRCROOT)/external/idevicerestore/src";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
8785873E1D89CFDC008689F0 /* Build configuration list for PBXProject "futurerestore" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
878587481D89CFDC008689F0 /* Debug */,
|
||||
878587491D89CFDC008689F0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
8785874A1D89CFDC008689F0 /* Build configuration list for PBXNativeTarget "futurerestore" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
8785874B1D89CFDC008689F0 /* Debug */,
|
||||
8785874C1D89CFDC008689F0 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 8785873B1D89CFDC008689F0 /* Project object */;
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:futurerestore.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDEDidComputeMac32BitWarning</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -1,12 +0,0 @@
|
|||
AM_CFLAGS = -I$(top_srcdir)/external/libgeneral/include -I$(top_srcdir)/external/tsschecker/external/jssy/jssy -I$(top_srcdir)/external/tsschecker/tsschecker -I$(top_srcdir)/external/idevicerestore/src $(libplist_CFLAGS) $(libzip_CFLAGS) $(libimobiledevice_CFLAGS) $(libfragmentzip_CFLAGS) $(libirecovery_CFLAGS) $(libimg4tool_CFLAGS) $(libgeneral_CFLAGS)
|
||||
AM_LDFLAGS = $(libplist_LIBS) $(libzip_LIBS) $(libimobiledevice_LIBS) $(libfragmentzip_LIBS) $(libirecovery_LIBS) $(libimg4tool_LIBS) $(libgeneral_LIBS)
|
||||
|
||||
if HAVE_LIBIPATCHER
|
||||
AM_LDFLAGS += $(libipatcher_LIBS)
|
||||
AM_CFLAGS += $(libipatcher_CFLAGS)
|
||||
endif
|
||||
|
||||
bin_PROGRAMS = futurerestore
|
||||
futurerestore_CXXFLAGS = $(AM_CFLAGS)
|
||||
futurerestore_LDADD = $(top_srcdir)/external/idevicerestore/src/libidevicerestore.la $(top_srcdir)/external/tsschecker/tsschecker/libtsschecker.la $(top_srcdir)/external/tsschecker/tsschecker/libjssy.a $(AM_LDFLAGS)
|
||||
futurerestore_SOURCES = futurerestore.cpp main.cpp
|
57
src/CMakeLists.txt
Normal file
57
src/CMakeLists.txt
Normal file
|
@ -0,0 +1,57 @@
|
|||
project(futurerestore)
|
||||
add_executable(futurerestore
|
||||
main.cpp
|
||||
futurerestore.cpp)
|
||||
target_include_directories(futurerestore PRIVATE
|
||||
"${CMAKE_SOURCE_DIR}/dep_root/include"
|
||||
"${CMAKE_SOURCE_DIR}/external/idevicerestore/src"
|
||||
"${CMAKE_SOURCE_DIR}/external/tsschecker/external/jssy/jssy"
|
||||
"${CMAKE_SOURCE_DIR}/external/tsschecker/tsschecker")
|
||||
target_link_directories(futurerestore PRIVATE
|
||||
"${CMAKE_SOURCE_DIR}/dep_root/lib"
|
||||
"${CMAKE_SOURCE_DIR}/dep_root/lib/xpwn"
|
||||
)
|
||||
target_link_libraries(futurerestore PRIVATE
|
||||
z
|
||||
zip
|
||||
png16
|
||||
crypto
|
||||
ssl
|
||||
"-lgeneral"
|
||||
plist-2.0
|
||||
fragmentzip
|
||||
img4tool
|
||||
common
|
||||
xpwn
|
||||
insn
|
||||
offsetfinder64
|
||||
ipatcher
|
||||
tsschecker
|
||||
idevicerestore
|
||||
jssy
|
||||
curl
|
||||
imobiledevice-glue-1.0
|
||||
imobiledevice-1.0
|
||||
irecovery-1.0
|
||||
usbmuxd-2.0
|
||||
pthread)
|
||||
if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Darwin")
|
||||
target_link_libraries(futurerestore PRIVATE
|
||||
compression
|
||||
"-framework CoreFoundation"
|
||||
"-framework IOKit")
|
||||
else()
|
||||
target_link_libraries(futurerestore PRIVATE
|
||||
usb-1.0
|
||||
dl
|
||||
udev
|
||||
lzfse)
|
||||
endif()
|
||||
execute_process(COMMAND git rev-list --count HEAD WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE VERSION_COMMIT_COUNT ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND git rev-parse HEAD WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE VERSION_COMMIT_SHA ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
execute_process(COMMAND cat version.txt WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" OUTPUT_VARIABLE VERSION_RELEASE ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
add_definitions(
|
||||
-DHAVE_LIBIPATCHER=1
|
||||
-DVERSION_COMMIT_COUNT="${VERSION_COMMIT_COUNT}"
|
||||
-DVERSION_COMMIT_SHA="${VERSION_COMMIT_SHA}"
|
||||
-DVERSION_RELEASE="${VERSION_RELEASE}")
|
|
@ -735,6 +735,10 @@ void futurerestore::enterPwnRecovery(plist_t build_identity, std::string bootarg
|
|||
auto nonceelem = img4tool::getValFromIM4M({_im4ms[0].first, _im4ms[0].second}, 'BNCH');
|
||||
|
||||
info("ApNonce pre-hax:\n");
|
||||
getDeviceMode(true);
|
||||
retassure(((recovery_client_new(_client) == IRECV_E_SUCCESS) ||
|
||||
(mutex_unlock(&_client->device_event_mutex), 0)),
|
||||
"Failed to connect to device in Recovery Mode!");
|
||||
if (get_ap_nonce(_client, &_client->nonce, &_client->nonce_size) < 0) {
|
||||
reterror("Failed to get apnonce from device!");
|
||||
}
|
|
@ -11,9 +11,6 @@
|
|||
|
||||
extern "C"{
|
||||
#include "tsschecker.h"
|
||||
#undef VERSION_COMMIT_SHA
|
||||
#undef VERSION_COMMIT_COUNT
|
||||
#undef VERSION_RELEASE
|
||||
};
|
||||
|
||||
#include <libgeneral/macros.h>
|
Loading…
Reference in a new issue