osxcross/tools/gen_sdk_package_darling_dmg.sh

83 lines
1.7 KiB
Bash
Raw Normal View History

2015-05-30 21:01:48 +02:00
#!/usr/bin/env bash
#
# Mount an Xcode .dmg (using fuse) and run gen_sdk_package.sh.
#
# Works up to Xcode 7.3
#
# This script uses darling-dmg and fuse to mount the .dmg, thus
# avoiding to actually unpack it.
# darling-dmg will be downloaded and compiled if missing.
#
2015-05-30 21:01:48 +02:00
pushd "${0%/*}/.." &>/dev/null
source tools/tools.sh
if [ $PLATFORM == "Darwin" ]; then
echo "Use gen_sdk_package.sh on Mac OS X" 1>&2
exit 1
fi
if [ $# -eq 0 ]; then
echo "Usage: $0 <xcode.dmg>" 1>&2
exit 1
fi
XCODEDMG=$(make_absolute_path $1 $(get_exec_dir))
2015-05-30 21:01:48 +02:00
mkdir -p $BUILD_DIR
require modinfo
require fusermount
set +e
2016-09-17 14:30:26 +02:00
command -v lsb_release 2>&1 > /dev/null
if [[ $? -eq 0 ]] && [[ -n $(lsb_release -a 2>&1 | grep -i ubuntu) ]]; then
echo "Using ubuntu, skipping fuse module check"
2016-09-17 14:30:26 +02:00
else
modinfo fuse &>/dev/null
2016-09-17 14:30:26 +02:00
fi
2015-05-30 21:01:48 +02:00
if [ $? -ne 0 ]; then
echo "Required kernel module 'fuse' not loaded" 1>&2
echo "Please run 'insmod fuse' as root" 1>&2
2015-05-30 21:01:48 +02:00
exit 1
fi
set -e
pushd $BUILD_DIR &>/dev/null
FULL_CLONE=1 \
get_sources https://github.com/LubosD/darling-dmg.git master
if [ $f_res -eq 1 ]; then
pushd $CURRENT_BUILD_PROJECT_NAME &>/dev/null
git reset --hard 5f64bc9a3795e0a1c307e9beb099f9035fdd864f
mkdir -p build
pushd build &>/dev/null
$CMAKE .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$TARGET_DIR_SDK_TOOLS
$MAKE -j $JOBS install
popd &>/dev/null
popd &>/dev/null
build_success
2015-05-30 21:01:48 +02:00
fi
popd &>/dev/null # build dir
TMP=$(mktemp -d /tmp/XXXXXXXXX)
function cleanup()
{
2015-05-30 21:01:48 +02:00
fusermount -u $TMP || true
rm -rf $TMP
}
trap cleanup EXIT
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TARGET_DIR_SDK_TOOLS/lib \
$TARGET_DIR/SDK/tools/bin/darling-dmg $XCODEDMG $TMP
2015-05-30 21:01:48 +02:00
XCODEDIR=$TMP ./tools/gen_sdk_package.sh