mirror of
https://github.com/palera1n/palera1n.git
synced 2026-10-23 18:49:48 +02:00
chore: migrate many things to use cmake instead
This commit is contained in:
7 files changed
+135
-134
No files matched your search
@@ -0,0 +1,9 @@
|
||||
find_program(BASH_EXECUTABLE bash REQUIRED)
|
||||
find_program(_GSED gsed REQUIRED)
|
||||
|
||||
execute_process(
|
||||
COMMAND "${BASH_EXECUTABLE}"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/apple-headers.sh"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
)
|
||||
@@ -0,0 +1,10 @@
|
||||
find_program(BASH_EXECUTABLE bash REQUIRED)
|
||||
find_program(_XXD xxd REQUIRED)
|
||||
find_program(_JQ jq REQUIRED)
|
||||
find_program(_XZ xz REQUIRED)
|
||||
|
||||
execute_process(
|
||||
COMMAND "${BASH_EXECUTABLE}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/xxd.sh"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
)
|
||||
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
|
||||
mkdir -p "$ROOT_DIR/src/gen/embedded"
|
||||
|
||||
cd "$ROOT_DIR"
|
||||
|
||||
mkdir -p src/gen/embedded
|
||||
|
||||
xz --format=lzma -vfc6ekT 0 $ROOT_DIR/embedded/ramdisk.dmg > $ROOT_DIR/embedded/ramdisk-compressed.lzma
|
||||
xz --format=lzma -vfc6ekT 0 $ROOT_DIR/embedded/checkra1n-kpf-pongo > $ROOT_DIR/embedded/checkra1n-kpf-pongo-compressed.lzma
|
||||
jq -c . $ROOT_DIR/embedded/DFUHelperDeviceInfo.json > $ROOT_DIR/embedded/DFUHelperDeviceInfo-minified.json
|
||||
|
||||
for file in embedded/*; do
|
||||
name=$(basename "$file")
|
||||
symbol="embedded_${name//[^a-zA-Z0-9_]/_}"
|
||||
|
||||
echo " XXD $file"
|
||||
|
||||
xxd -i "$file" \
|
||||
| sed -E \
|
||||
-e "s/^unsigned char .*\[\] =/static const unsigned char ${symbol}[] =/" \
|
||||
-e "s/^unsigned int .*_len =/static const size_t ${symbol}_len =/" \
|
||||
> "src/gen/embedded/${name%.*}.h"
|
||||
done
|
||||
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
|
||||
PLATFORM="${1:-iphoneos}"
|
||||
|
||||
case "$PLATFORM" in
|
||||
iphoneos)
|
||||
TARGET_SDK="iphoneos"
|
||||
;;
|
||||
*)
|
||||
echo "error: unsupported platform: $PLATFORM" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "$(uname -s)" != "Darwin" ]]; then
|
||||
echo "error: Apple SDK builds require macOS/Xcode" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MACOSX_SYSROOT="$(xcrun --sdk macosx --show-sdk-path)"
|
||||
TARGET_SYSROOT="$(xcrun --sdk "$TARGET_SDK" --show-sdk-path)"
|
||||
CUSTOM_INCLUDE_PATH="$ROOT_DIR/apple-include-$PLATFORM"
|
||||
|
||||
mkdir -p "$CUSTOM_INCLUDE_PATH"/IOKit/kext
|
||||
cp -af "$MACOSX_SYSROOT"/System/Library/Frameworks/IOKit.framework/Headers/{AppleConvergedIPCKeys.h,IOBSD.h,IOCFBundle.h,IOCFPlugIn.h,IOCFURLAccess.h,IOKitServer.h,IORPC.h,IOSharedLock.h,IOUserServer.h,audio,avc,firewire,graphics,hid,hidsystem,i2c,iokitmig.h,kext,ndrvsupport,network,ps,pwr_mgt,sbp2,scsi,serial,storage,stream,usb,video} "$CUSTOM_INCLUDE_PATH/IOKit"
|
||||
cp -af "$MACOSX_SYSROOT"/System/Library/Frameworks/IOKit.framework/Headers/* "$CUSTOM_INCLUDE_PATH/IOKit"
|
||||
gsed -i -E s/'__API_UNAVAILABLE\(.*\)'// "$CUSTOM_INCLUDE_PATH/IOKit/IOKitLib.h"
|
||||
|
||||
Reference in new issue
Block a user