ppsspp/SDL/build_for_playbook.sh
Sacha 41f5abab31 PPSSPP ported to Blackberry10
Now builds on Playbook and Dev Alpha
Make emulator more compatible with other OS (case sensitivity, defines, includes)
Uses Android's code paths and backend
2012-11-05 23:09:49 +10:00

122 lines
4.7 KiB
Bash

#!/bin/bash
BUILD_TYPE=Release
if [ -z "$PPSSPP_ROOT" ]; then
PPSSPP_ROOT=${PWD}/..
fi
if [ -z "$PROJECT_ROOT" ]; then
PROJECT_ROOT=${PPSSPP_ROOT}/..
fi
PKG_CONFIG_PATH=${PROJECT_ROOT}/install/lib/pkgconfig
PKG_CONFIG_LIBDIR=${PROJECT_ROOT}/install/lib/pkgconfig
SDL_PROJECT=${PROJECT_ROOT}/SDL
SDLIMAGE_PROJECT=${PROJECT_ROOT}/SDL_image
SDLMIXER_PROJECT=${PROJECT_ROOT}/SDL_mixer
SDLNET_PROJECT=${PROJECT_ROOT}/SDL_net
SDLTTF_PROJECT=${PROJECT_ROOT}/SDL_ttf
while true; do
case "$1" in
-h | --help )
echo "Build script for BlackBerry PlayBook"
echo "For normal usage, please use the NDK to build."
echo
echo "Options: "
echo " -d, --debug Create a debug build. (default is release)"
echo " -h, --help Show this help message."
echo " -r, --root PATH Specify the root directory of PPSSPP. (default is PWD parent)"
echo " -p, --project-root PATH Specify the root directory containing all projects. (default is root dirs parent)"
echo " If specific projects are in different directories, you can specify them below."
echo " --pkg-config PATH Specify the pkgconfig directory. (default is PPSSPP_ROOT/../install/lib/pkgconfig)"
echo
echo "Dependency Paths (defaults are under project root): "
echo " --sdl PATH SDL 1.2 project directory (default is SDL)"
echo " --tco PATH TouchControlOverlay project directory (default is TouchControlOverlay)"
echo " --sdl_image PATH SDL_image project directory (default is SDL_image)"
echo " --sdl_mixer PATH SDL_mixer project directory (default is SDL_mixer)"
echo " --sdl_net PATH SDL_net project directory (default is SDL_net)"
echo " --sdl_ttf PATH SDL_ttf project directory (default is SDL_ttf)"
echo " --ogg PATH ogg project directory (default is ogg)"
echo " --vorbis PATH vorbis project directory (default is vorbis)"
exit 0
;;
-d | --debug ) BUILD_TYPE=Debug; shift ;;
-r | --root ) PPSSPP_ROOT="$2"; shift 2 ;;
-p | --project-root ) PROJECT_ROOT="$2"; shift 2 ;;
--pkg-config ) PKG_CONFIG_PATH="$2"; PKG_CONFIG_LIBDIR="$2"; shift 2 ;;
--sdl ) SDL_PROJECT="$2"; shift 2 ;;
--sdl_image ) SDLIMAGE_PROJECT="$2"; shift 2 ;;
--sdl_mixer ) SDLMIXER_PROJECT="$2"; shift 2 ;;
--sdl_net ) SDLNET_PROJECT="$2"; shift 2 ;;
--sdl_ttf ) SDLTTF_PROJECT="$2"; shift 2 ;;
--tco ) TCO_PROJECT="$2"; shift 2 ;;
--ogg ) OGG_PROJECT="$2"; shift 2 ;;
--vorbis ) VORBIS_PROJECT="$2"; shift 2 ;;
-- ) shift; break ;;
* ) break ;;
esac
done
if [ -z "$SDL_PROJECT" ]; then
SDL_PROJECT="$PROJECT_ROOT/SDL"
fi
if [ -z "$SDLIMAGE_PROJECT" ]; then
SDLIMAGE_PROJECT="$PROJECT_ROOT/SDL_image"
fi
if [ -z "$SDLMIXER_PROJECT" ]; then
SDLMIXER_PROJECT="$PROJECT_ROOT/SDL_mixer"
fi
if [ -z "$SDLNET_PROJECT" ]; then
SDLNET_PROJECT="$PROJECT_ROOT/SDL_net"
fi
if [ -z "$SDLTTF_PROJECT" ]; then
SDLTTF_PROJECT="$PROJECT_ROOT/SDL_ttf"
fi
if [ -z "$TCO_PROJECT" ]; then
TCO_PROJECT="$PROJECT_ROOT/TouchControlOverlay"
fi
if [ -z "$OGG_PROJECT" ]; then
OGG_PROJECT="$PROJECT_ROOT/ogg"
fi
if [ -z "$VORBIS_PROJECT" ]; then
VORBIS_PROJECT="$PROJECT_ROOT/vorbis"
fi
export PKG_CONFIG_PATH
export PKG_CONFIG_LIBDIR
echo "Build type: ${BUILD_TYPE}"
cmake \
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DCMAKE_SYSTEM_NAME=QNX \
-DCMAKE_C_COMPILER="${QNX_HOST}/usr/bin/ntoarmv7-gcc" \
-DCMAKE_CXX_COMPILER="${QNX_HOST}/usr/bin/ntoarmv7-g++" \
-DTHREADS_PTHREAD_ARG="" \
-DLIBINTL_INCLUDE_DIR="${QNX_TARGET}/usr/include" \
-DLIBINTL_LIB_FOUND=TRUE \
-DLIBINTL_LIBRARIES="${QNX_TARGET}/armle-v7/usr/lib/libintl.so" \
-DLIBINTL_LIBC_HAS_DGETTEXT=FALSE \
-DSDL_INCLUDE_DIR="${SDL_PROJECT}/include" \
-DSDL_LIBRARY="${SDL_PROJECT}/Device-${BUILD_TYPE}/libSDL12.so;${TCO_PROJECT}/Device-${BUILD_TYPE}/libTouchControlOverlay.so" \
-DSDL_FOUND=ON \
-DSDLIMAGE_INCLUDE_DIR="${SDLIMAGE_PROJECT}" \
-DSDLIMAGE_LIBRARY="${SDLIMAGE_PROJECT}/Device-${BUILD_TYPE}/libSDL_image.so" \
-DSDLIMAGE_FOUND=ON \
-DSDLMIXER_INCLUDE_DIR="${SDLMIXER_PROJECT}" \
-DSDLMIXER_LIBRARY="${SDLMIXER_PROJECT}/Device-${BUILD_TYPE}/libSDL_mixer.so;${OGG_PROJECT}/Device-${BUILD_TYPE}/libogg.so;${VORBIS_PROJECT}/Device-${BUILD_TYPE}/libvorbis.so" \
-DSDLMIXER_FOUND=ON \
-DSDLNET_INCLUDE_DIR="${SDLNET_PROJECT}" \
-DSDLNET_LIBRARY="${SDLNET_PROJECT}/Device-${BUILD_TYPE}/libSDL_net.so;${QNX_TARGET}/armle-v7/lib/libsocket.so" \
-DSDLNET_FOUND=ON \
-DSDLTTF_INCLUDE_DIR="${SDLTTF_PROJECT}" \
-DSDLTTF_LIBRARY="${SDLTTF_PROJECT}/Device-${BUILD_TYPE}/libSDL_ttf.so" \
-DSDLTTF_FOUND=ON \
-DPNG_LIBRARY="${QNX_TARGET}/armle-v7/usr/lib/libpng.so" \
-DPNG_PNG_INCLUDE_DIR="${QNX_TARGET}/usr/include" \
-DBLACKBERRY=10.0.9 \
-DARM=7 \
${PWD}
make -j4